Сначала попытайтесь понять, что делает netfilter и каков путь пакета в пространстве ядра.(http://inai.de/images/nf-packet-flow.svg)И читайте документы из оригиналаhttp://netfilter.org/;ваше связанное руководство по iptables очень низкого качества.
Проблема действительно в таблице маршрутов, но я успешно удалил запись маршрута, и она не вернулась.
Как упоминалось выше, сеть в Stretch (до Джесси, я думаю, )немного изменилась. Этот пост привел меня к инструкциям по настройке статических IP-адресов с помощью модификации /etc/dhcpcd.conf
вместо /etc/network/interfaces*
. Однако я обнаружил, что в моей ситуации лучше всего закомментировать переменную static router=x.x.x.x
для моего статического IP-адреса eth0
адаптера, поскольку я не хотел, чтобы он служил моим шлюзом по умолчанию. Затем я просто удалил маршрут из таблицы с ip route del default via <address> dev eth0
, и он остался удаленным.
Однако на этом вы не закончите. Для правильной работы доступа в Интернет на других ваших устройствах, подключенных к DHCP-серверу, вам потребуется выполнить следующие действия для настройки NAT:
1 )Отредактируйте /etc/sysctl.conf
для включения IP-переадресации с помощью следующего переключателяnet.ipv4.ip_forward=1
2 )Отредактируйте /etc/rc.local
, чтобы добавить правила iptable для переадресации с eth0
на wlan0
и обратно.Добавьте следующее:
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
iptables -A FORWARD -i wlan0 -o eth0 -m state \
--state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -o wlan0 -j ACCEPT
3 )Перезагрузка, чтобы изменения вступили в силу
Другие ваши устройства теперь должны работать должным образом с доступом к Wi-Fi и IP-адресами, назначенными с вашего DHCP-сервера.