จะทำการส่งต่อ IP ถาวรได้อย่างไร


38

ฉันรู้ว่าฉันสามารถเปิดใช้งาน IP ไปข้างหน้าโดยสะท้อน1ไป/proc/sys/net/ipv4/ip_forwardแต่วิธีการที่ฉันสามารถทำให้ถาวรนี้หรือไม่?

โดยวิธีที่ฉันต้องการวิธีอื่นมากกว่าการเริ่มต้นสคริปต์จะมีหรือไม่

คำตอบ:


62

แก้ไข /etc/sysctl.conf และค้นหาบรรทัดต่อไปนี้:

# Uncomment the next line to enable packet forwarding for IPv4
#net.ipv4.ip_forward=1

ไม่ใส่ข้อคิดเห็นnet.ipv4.ip_forward=1:

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1

หรือในหนึ่งบรรทัดคำสั่ง:

sudo sysctl -w net.ipv4.ip_forward=1

8
sudo sysctl -w net.ipv4.ip_forward=1ไม่ได้ทำให้มันถาวร ... @ อย่างน้อยในราสเบอร์รี่ pi ฉันทดสอบ ...
Philippe Gachoud

คุณต้องรีบู๊ตด้วยหรือไม่ หรือมีวิธีการ "ใช้ชีวิต" เช่นกัน
user230910

@ user230910 ไม่จำเป็นต้องรีบูตถ้าใช้sudo sysctl -w ...
Eric Carvalho

20

การตั้งค่าถาวรโดยใช้ /etc/sysctl.conf

หากเราต้องการให้การกำหนดค่านี้ถาวรเป็นวิธีที่ดีที่สุดในการใช้ไฟล์/etc/sysctl.confที่เราสามารถเพิ่มบรรทัดที่มีnet.ipv4.ip_forward = 1

/etc/sysctl.conf:
net.ipv4.ip_forward = 1

หากคุณมีรายการที่net.ipv4.ip_forwardมีค่า 0 อยู่แล้วคุณสามารถเปลี่ยนเป็น 1 ได้

หากต้องการเปิดใช้งานการเปลี่ยนแปลงที่ทำในsysctl.confคุณจะต้องเรียกใช้คำสั่ง:

sudo sysctl -p /etc/sysctl.conf

บนระบบที่ใช้ RedHat สิ่งนี้จะเปิดใช้งานเช่นกันเมื่อรีสตาร์ทบริการเครือข่าย:

service network restart

และในระบบ Debian / Ubuntu สิ่งนี้สามารถทำได้โดยการรีสตาร์ทบริการ procps:

sudo /etc/init.d/procps restart

ที่มา: วิธีการเปิดใช้งานการส่งต่อ IP ใน Linux

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.