Внимание!!! Cущественное сниженние цен на вечные виртуальные серверы VPS/VDS в России и Нидерландах, плюс дополнительная скидка 10% на услуги хостинга для читателей блога. Подробнее.

Как настроить NAT UFW на Debian 11

Опубликовано: 1 октября 2024
Раздел(ы): GNU Linux - CentOS / Debian
Просмотры: 149
Комментарии: 0

Однажды я уже писал как использовать Debian сервер в качестве шлюза и перенаправить трафик клиентов из серой сети через NAT — https://moonback.ru/page/debian-vpn-client-to-inernet. Сегодня расскажу как это сделать на сервере с Debian 11 и межсетевым экраном UFW.

Как разрешить пересылку пакетов между сетевыми интерфейсами

Следующая настройка превращает Debian сервер в маршрутизатор и включает пересылку данных между сетевыми интерфейсами. В файле /etc/sysctl.conf найдите и раскомментируйте следующую строку (уберите знак # в начале строки):

net.ipv4.ip_forward=1

Следующим шагом необходимо изменить политику по-умолчанию по пересылке пакетов между сетевыми интерфейсами в межсетевом экране UFW. Для это в файле /etc/default/ufw необходимо изменить параметр DEFAULT_FORWARD_POLICY на следующее значение:

DEFAULT_FORWARD_POLICY="ACCEPT"

Настройка NAT на Debian сервере с межсетевым экраном UFW

Настроим правило которое позволит пользователям с «серыми» адресами отправлять данные через NAT на сервере. Для этого добавьте следующие строки в файл /etc/ufw/before.rules обязательно перед правилами фильтрации:

# NAT table rules
*nat
:POSTROUTING ACCEPT [0:0]

# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT

Где eth0 — наименование сетевого интерфейса которым ваш сервер смотрит в интернет. А 192.168.1.0/24 подсеть которую вы хотите выпустить через интерфейс eth0.

Чтобы изменения вступили в силу перезапустите UFW

$ sudo ufw disable && sudo ufw enable

Проброс портов на UFW

Для того чтобы открыть порт на внешнем интерфейсе и передать данные на устройство во внутренней сети приведите настройки UFW описанные выше к следующему виду:

# NAT table rules
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]

# Port Forwardings
-A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.10

# Forward traffic through eth0 - Change to match you out-interface
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE

# don't delete the 'COMMIT' line or these nat table rules won't
# be processed
COMMIT

Здесь параметр -A PREROUTING -i eth0 -p tcp --dport 22 -j DNAT --to-destination 192.168.1.10 говорит что данные принимаемые на 22 порт TCP интерфейса eth0 будут переправлены на устройство с IP адресом 192.168.1.10.

Чтобы изменения вступили в силу перезапустите UFW

$ sudo ufw disable && sudo ufw enable

Благодарсности

При написании статьи были использованы следующие источники:

  1. https://gist.github.com/kimus/9315140

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Нажимая кнопку "Отправить" Вы даёте свое согласие на обработку введенной персональной информации в соответствии с Федеральным Законом №152-ФЗ от 27.07.2006 "О персональных данных", на условиях и для целей определенных политикой конфиденциальности сайта.
© Юрий Рассадников, 2011 - 2024
uptime узнать
Домен : reg.ru
Хостинг : adman.com
SQL - 9 | 0,186 сек. | 9.34 МБ