Bật chuyển tiếp IP cho IPv4 trong Debian GNU / Linux

Enabling Ip Forwarding



Việc thiết lập một mạng máy tính đôi khi có thể phức tạp. Bật chuyển tiếp IPv4 trên máy Linux là một nhiệm vụ khá đơn giản.

Thuật ngữ Chuyển tiếp IP mô tả việc gửi một gói mạng từ giao diện mạng này sang giao diện mạng khác trên cùng một thiết bị. Nó nên được kích hoạt khi bạn muốn hệ thống của mình hoạt động như một bộ định tuyến truyền các gói IP từ mạng này sang mạng khác.







Trên hệ thống Linux, nhân Linux có một biến có tên là `ip_osystem` giữ giá trị này. Nó có thể truy cập được bằng cách sử dụng tệp `/ proc / sys / net / ipv4 / ip_osystem`. Giá trị mặc định là 0 có nghĩa là không có IP Forwarding, bởi vì người dùng thông thường chạy một máy tính đơn lẻ mà không có các thành phần khác thường không cần điều đó. Ngược lại, đối với bộ định tuyến, cổng và máy chủ VPN, nó là một tính năng khá cần thiết.



Tiếp theo, chúng tôi sẽ giải thích cho bạn cách bật Chuyển tiếp IP tạm thời và vĩnh viễn.



Chuyển tiếp IP như một giải pháp tạm thời

Để bật tham số hạt nhân này một cách nhanh chóng, bạn có hai tùy chọn. Tùy chọn 1 chỉ cần lưu trữ giá trị của 1 trong biến từ trên như sau:





#quăng đi 1 > /phần trăm/sys/mạng lưới/ipv4/ip_osystem

Tùy chọn 2 sử dụng lệnh `sysctl` cho phép bạn điều chỉnh các tham số hạt nhân khác nhau trong thời gian chạy [2]. Với tư cách là người dùng quản trị, hãy chạy lệnh sau:

#sysctl-trongnet.ipv4.ip_osystem =1

Hãy nhớ rằng cài đặt này được thay đổi ngay lập tức. Ngoài ra, kết quả sẽ không được giữ nguyên sau khi khởi động lại hệ thống.



Bạn có thể truy vấn giá trị được lưu trữ như sau:

#con mèo /phần trăm/sys/mạng lưới/ipv4/ip_osystem

Lệnh này trả về giá trị 0 cho không có IP Forwarding và giá trị 1 cho IP Forwarding được bật. Thay vào đó, sử dụng `sysctl` cũng hiển thị cho bạn trạng thái hiện tại:

# sysctl net.ipv4.ip_osystem
net.ipv4.ip_osystem =0
#

Bật chuyển tiếp IP vĩnh viễn

Để đạt được điều này, một số bước khác phải được thực hiện. Đầu tiên, hãy chỉnh sửa tệp `/ etc / sysctl.conf`. Tìm kiếm dòng chứa mục nhập # net.ipv4.ip_osystem = 1 và xóa dấu # ở đầu dòng.

Sau đó, lưu tệp và chạy lệnh `sysctl` để bật các cài đặt đã điều chỉnh:

#sysctl-P /Vân vân/sysctl.conf

Tùy chọn `-p` là viết tắt của` –load` và yêu cầu tên cho tệp cấu hình được theo sau.

Tiếp theo, khởi động lại hệ thống tệp proc cung cấp thông tin về trạng thái của nhân Linux bằng lệnh sau:

#/Vân vân/init.d/khởi động lại đạo cụ

Vào khoảng năm 2015, tên tệp đã được rút ngắn từ `procps.sh` thành` procps`. Vì vậy, trên các hệ thống Debian cũ, tập lệnh mà bạn phải gọi có tên là `procps.sh`, thay vào đó.

Đối phó với Systemd

Rào cản tiếp theo đến với việc phát hành phiên bản Systemd 221. Chuyển tiếp IP bị tắt theo mặc định và việc kích hoạt yêu cầu phải có tệp bổ sung ở đó. Nếu nó chưa có ở đó, chỉ cần thêm nó. Tên tệp bao gồm tên của giao diện mạng theo sau là hậu tố `.network`, ví dụ` eth0.network` cho giao diện mạng `/ dev / eth0`. Như đã nêu trong tài liệu [4], các phần mở rộng khác bị bỏ qua.

Đoạn mã sau đây hiển thị thiết lập cho giao diện mạng `/ dev / tun0`. Nó bao gồm hai phần - `Đối sánh` và` Mạng`. Trong phần Khớp xác định tên của giao diện mạng và trong phần mạng hãy bật Chuyển tiếp IP.

# cat /etc/systemd/network/tun0.network
[Trận đấu]
Tên= tun0
[Mạng]
IPForward= ipv4

Phần kết luận

Kích hoạt chuyển tiếp IP cho IPv4 không phải là một bí ẩn. Chỉ cần một vài bước, và của bạn ở đó. Chúc bạn hack vui vẻ!

Liên kết và tài liệu tham khảo

* [1] Thiết lập Systemd-Networkd, Debian Wiki
* [2] Juergen Haas: Tìm hiểu lệnh Linux sysctl
* [3] Systemd News cho phiên bản 221
* [4] Tài liệu cho Systemd