Ubuntu サーバーの ip_forward を無効にする方法

Ubuntu サーバーの ip_forward を無効にする方法

これは起動直後のサーバーの状態です:

root@vzu01-ubuntu:~# cat /proc/sys/net/ipv4/ip_forward
1

他に有効な構成はありませんip_forward:

root@vzu01-ubuntu:~# grep -r ip_forward /etc
/etc/sysctl.conf:net.ipv4.ip_forward=0
/etc/ufw/sysctl.conf:#net/ipv4/ip_forward=1

そうするとsysctl -p、転送は無効になりますが、再起動後に ip_forward が再度有効になります。 rc.local に入れても、sysctl -p起動時に ip_forward を無効にしても役に立ちません。

何か案が?

答え1

パート 1 - sysctl.conf の更新

編集して/etc/sysctl.conf、以下の行を追加します。

net.ipv4.ip_forward=0

ファイル内または以下の場所に他の ip_forward 行がないことを確認してください/etc/sysctl.d

grep -r ip_forward /etc/sysctl.d

見つかった場合は、削除するか、#行の先頭に を付けてコメント化します。

パート2 - 転送を自動的に再有効化する他の構成がないことを確認する

@wick が述べたように、Ubuntu ディストリビューションには、転送をオフにした後でオンにするブリッジ インターフェイスがある場合があります。

私の場合は次のとおりですlcxbr0:

ip addr show
(...)
3: lxcbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN group default

上記のインターフェースでは、 を編集し/etc/default/lxc-netて次のように変更しますUSE_LXC_BRIDGE

USE_LXC_BRIDGE="false"

他のインターフェースがある場合はbrX、検索エンジンを使用して削除方法を見つけてください。

パート3 - 再起動して確認する

再起動後、以下のコマンドを実行すると 0 が出力されます。

cat /proc/sys/net/ipv4/ip_forward
0

関連情報