Настройка шлюза

Debian 11
Установка и проброс порта

Устанавливаем nftables

apt install -y nftables && systemctl enable nftables

Проверяем включен ли forwarding

sysctl net.ipv4.ip_forward

и если полученное значение "net.ipv4.ip_forward = 0", то включаем:

sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf

Для немедленного применения настроек:

sudo sysctl -p

Сбрасываем настройки nftables (пропускаем при настроенном)

nft flush ruleset

Добавляем таблицу NAT

nft add table nat

Настраиваем цепочки postrouting и prerouting в таблице NAT

nft 'add chain nat postrouting { type nat hook postrouting priority 100 ; }'
nft 'add chain nat prerouting { type nat hook prerouting priority -100; }'

Настраиваем проброс с адреса 10.10.10.1 и порта 5555 на адрес 10.2.1.1 и порт 3389

nft 'add rule nat prerouting ip daddr 10.10.10.1 tcp dport { 5555 } dnat 10.2.1.1:3389'

Маскарад в цепочке postrouting

nft add rule nat postrouting masquerade

Смотрим на результат

nft list ruleset

Для удаления правила сначала просматриваем значение handle в таблице NAT

nft -a list table nat

Удаляем правило с "handle 6" (номер в выводе предыдущей команды)

nft delete rule nat prerouting handle 6	

Для сохранения правил после ребута делаем резерную копию

cp /etc/nftables.conf /etc/nftables.backup

Копируем текущие настройки в рабочий конфиг

nft list ruleset | sudo tee /etc/nftables.conf

IT-Admins. 2020