Это то, что я использую, всегда хорошо работает. Сочетание различных уроков. Проверено на Ubuntu 16.04LTS тоже.
Шаг А - Убедитесь, что UFW установлен
sudo apt-get install ufw
Шаг B - Настройте свои сетевые интерфейсы .
sudo nano /etc/network/interfaces
Сконфигурируйте файл интерфейсов следующим образом:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The WAN primary network interface
iface eth0 inet static
address 182.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx
#LAN side interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
address 192.168.0.1
Сохраните файл, выбрав CTRL-X из nano или любого другого редактора, который вы предпочитаете.
Шаг C - Разрешить IP-пересылку . Установите пересылку. Отредактируйте файл /etc/sysctl.conf
sudo nano /etc/sysctl.conf
Удалите комментарий к этой строке, # net.ipv4.ip_forward=1
чтобы net.ipv4.ip_forward=1
сохранить изменения и перейдите к следующему шагу.
Шаг D - Правила маскировки / пересылки
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
sudo iptables -A FORWARD -i eth0 -o eth1 -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
Сохранять изменения Iptables
sudo su
sudo iptables-save > /etc/iptables.rules
sudo nano /etc/network/if-pre-up.d/iptables
Введите этот контент:
#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0
Сохраните изменения, затем отредактируйте / создайте следующий файл iptables
sudo nano /etc/network/if-post-down.d/iptables
Введите этот контент:
#!/bin/sh
iptables-save -c > /etc/iptables.rules
if [ -f /etc/iptables.rules ]; then
iptables-restore < /etc/iptables.rules
fi
exit 0
Сохранить изменения. Сделайте оба файла исполняемыми
sudo chmod +x /etc/network/if-post-down.d/iptables
sudo chmod +x /etc/network/if-pre-up.d/iptables
Шаг E - Завершить с настройкой UFW
sudo nano /etc/default/ufw
Измените политику пересылки параметров, чтобы принять
DEFAULT_FORWARD_POLICY="ACCEPT"
Сохранить изменения.
У меня есть SSH на порт 49870, поэтому я также позволил UFW принимать соединения на этот порт:
sudo ufw allow 49870
Шаг F - Не забудьте включить UFW .
sudo ufw enable
На этом этапе просто перезагрузите систему. Тогда все устройства локальной сети могут использовать его в качестве основного шлюза. Кроме того, UFW очень удобно управлять настройками брандмауэра.