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/
それぞれの設定はすべて、各キーに個別に存在します。たとえば、accept_ra
を使用してIPv6ルーターアドバタイズメントを無効にしたい場合 値、この値は4回存在します:
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
(後で表示される可能性のあるすべての新しいインターフェイスを変更するため)が、これらを変更しても、loとeth0の値は1のままになります:
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
マシンはeth0でルーターアドバタイズメントを受け入れるようになりますか、それとも受け入れませんか?
承認された回答:
まだ質問を書いている間に答えを見つけました。他の人がこれを洞察に満ちていると思うかもしれないので、とにかくそれを投稿することに決めました、そしてそれからそれを自分で答えます。これが眉をひそめないことを願っています🙂
linux-kernelメーリングリストのユーザーPhilippMatthiasHahnは、少なくとも部分的にそれを理解しています:
As far as I researched for IPv4 some time ago, the "default" value gets
copied to newly created interfaces only once.
"all" on the other hand allways gets applied in addition to the current
setting, but it depends on the exact setting, if its ORed, ANDed, or
whatevered:
log_martians OR
accept_redirects AND
forwarding ?
mc_forwarding AND
medium_id
proxy_arp OR
shared_media OR
secure_redirects OR
send_redirects OR
bootp_relay AND
accept_source_route AND
rp_filter AND
arp_filter OR
arp_announce MAX
arp_ignore MAX
arp_accept
app_solicit
disable_policy
disable_xfrm
tag
(see include/linux/inetdevice.h:83 for IN_DEV_{AND,OR,MAX}CONF)
Putting a new value in "all" doesn't change the value you read from
"$interface", but it only gets computed and used internally.
彼はaccept_ra
をカバーしていません しかし、少なくとも今ではall
およびdefault
動作する、というより、私が期待したように動作しない方法。
Ssh-copy-idの公開鍵のユーザー名とホスト名?
Ssh –サーバーにSSHで接続してKey_load_publicを取得しようとしています:そのようなファイルまたはディレクトリエラーはありませんか?