如何停用 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 會重新啟用。即使我放入sysctl -prc.local,在啟動時停用 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

相關內容