Это состояние моего сервера сразу после загрузки:
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 - Обновление 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