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