Назад | Перейти на главную страницу

Как отключить ip_forward для сервера Ubuntu

Это состояние моего сервера сразу после загрузки:

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