ใน sysctl ที่/proc/sys/net/ipv[46]/conf/
คีย์มีคีย์ย่อยต่อไปนี้: all
, default
และที่สำคัญสำหรับการเชื่อมต่อเครือข่ายแต่ละ ตัวอย่างเช่นบนเครื่องที่มีเน็ตเวิร์กอินเตอร์เฟสเดียว eth0 มันจะมีลักษณะดังนี้:
iserv ~ # ll /proc/sys/net/ipv[46]/conf/
/proc/sys/net/ipv4/conf/:
insgesamt 0
dr-xr-xr-x 0 root root 0 12. Sep 23:30 all/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 default/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 eth0/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 lo/
/proc/sys/net/ipv6/conf/:
insgesamt 0
dr-xr-xr-x 0 root root 0 12. Sep 23:30 all/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 default/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 eth0/
dr-xr-xr-x 0 root root 0 12. Sep 23:30 lo/
การตั้งค่าที่เกี่ยวข้องทั้งหมดมีอยู่ในแต่ละปุ่มแยกกัน ตัวอย่างเช่นหากฉันต้องการปิดใช้งานการโฆษณาเราเตอร์ IPv6 ด้วยaccept_ra
ค่าค่านี้จะมีอยู่สี่ครั้ง:
iserv ~ # sysctl -a 2>/dev/null | grep "accept_ra "
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.default.accept_ra = 1
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.eth0.accept_ra = 1
คำถามของฉันคือ: ฉันต้องเปลี่ยนค่าใดบ้าง ฉันคิดall
(เปลี่ยนอินเทอร์เฟซที่มีอยู่ทั้งหมด) และdefault
(เพื่อเปลี่ยนอินเทอร์เฟซใหม่ทั้งหมดที่อาจปรากฏในภายหลัง) แต่การเปลี่ยนสิ่งเหล่านี้ยังคงทิ้งค่าไว้ที่ 1 สำหรับ lo และ eth0:
iserv ~ # sysctl -w net.ipv6.conf.all.accept_ra=0
net.ipv6.conf.all.accept_ra = 0
iserv ~ # sysctl -w net.ipv6.conf.default.accept_ra=0
net.ipv6.conf.default.accept_ra = 0
iserv ~ # sysctl -a 2>/dev/null | grep "accept_ra "
net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0
net.ipv6.conf.lo.accept_ra = 1
net.ipv6.conf.eth0.accept_ra = 1
เครื่องจะยอมรับ Router Advertisements ใน eth0 หรือไม่?