Простейший шлюз на Linux (Ubuntu)

Step A Проверить что установлен пакет файрвола

sudo apt-get install ufw

Step B Настроить сеть

sudo nano /etc/network/interfaces

Пример настройки 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.

Step C Разрешить IP Forward.

Радектируем /etc/sysctl.conf

sudo nano /etc/sysctl.conf

Убираем комментарий со строки # net.ipv4.ip_forward=1 чтобы получилось: net.ipv4.ip_forward=1.Сохраняем изменения.

Step 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
iptables-save > /etc/iptables.rules
nano /etc/network/if-pre-up.d/iptables

Вводим содержимое скрипта:

#!/bin/sh
iptables-restore < /etc/iptables.rules
exit 0

Сохраняемся и редактируем/создаем еще один файл:

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

Сохраняем. Делаем скрипты запускаемыми:

chmod +x /etc/network/if-post-down.d/iptables
chmod +x /etc/network/if-pre-up.d/iptables

Step E Настройка файрвола

nano /etc/default/ufw

Ставим политикой по-умолчанию «Разрешено»:

DEFAULT_FORWARD_POLICY="ACCEPT"

Разрешаем необходимые порты. Для примера SSH:

ufw allow 22

Step F Не забывем активировать UFW.

ufw enable

Ребут системы и проверка работоспособности.

По материалам форума. За что им огромное спасибо.

!!! PS Начиная с Ubuntu 18.04 настройка скриптов немного изменилась

Для сохранения настроек используется пакет netfilter-persistent

Правила лежат в файлах: /etc/iptables/rules.v[46]

Полезные команды (от sudo или под root):

netfilter-persistent save
netfilter-persistent start

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

iptables-restore < /etc/iptables/rules.v4
ip6tables-restore < /etc/iptables/rules.v6

Спасибо за разъяснения ветке форума.