Trong sysctl, các /proc/sys/net/ipv[46]/conf/
phím có những khóa sau: all
, default
, và một chìa khóa cho mỗi giao diện mạng. Ví dụ: trên một máy có giao diện mạng eth0 duy nhất, nó sẽ trông như thế này:
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/
Tất cả các cài đặt tương ứng tồn tại trong mỗi khóa riêng biệt. Ví dụ: nếu tôi muốn tắt Quảng cáo Bộ định tuyến IPv6 với accept_ra
giá trị, giá trị này tồn tại bốn lần:
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
Câu hỏi của tôi bây giờ là: tôi cần thay đổi giá trị nào trong số những giá trị này? Tôi đã tìm ra all
(để thay đổi tất cả các giao diện hiện có) và default
(để thay đổi tất cả các giao diện mới có thể xuất hiện sau), nhưng việc thay đổi các giao diện này vẫn để giá trị ở mức 1 cho lo và 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
Bây giờ máy sẽ chấp nhận Quảng cáo Bộ định tuyến trên eth0, hay không?