
這是我的伺服器啟動後的狀態:
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 -p
rc.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