В настоящее время я использую ufw для обеспечения соблюдения некоторых основных правил брандмауэра. Можно ли также использовать ufw для перенаправления портов?
В частности, я хочу перенаправить входящий трафик на мой сервер (тот же компьютер, на котором запущен ufw) через порт 80 на порт 8080. (HTTP-трафик перенаправляется на tomcat)
Чт
Допустим, вы хотите перенаправить запросы, идущие на 80, на сервер, прослушивающий порт 8080.
Обратите внимание, что вам нужно убедиться, что порт 8080 разрешен, иначе ufw заблокирует запросы, которые перенаправляются на 8080.
sudo ufw allow 8080/tcp
Команды ufw для настройки переадресации портов отсутствуют, поэтому это нужно делать через файлы конфигурации. Добавьте строки ниже в /etc/ufw/before.rules
, перед filter
раздел, прямо в верхней части файла:
*nat
:PREROUTING ACCEPT [0:0]
-A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
COMMIT
Затем перезапустите и включите ufw для запуска при загрузке:
sudo ufw enable
Поскольку ufw 0.34, ufw поддерживает правила пересылки.
пример: sudo ufw route allow in on eth0 out on eth1 to 10.0.0.0/8 port 8080 from 192.168.0.0/16 port 80
Вам также необходимо убедиться, что у вас есть sysctl net.ipv4.forward
включен. Для большинства дистрибутивов это делается путем редактирования /etc/sysctl.conf
и бег sysctl -p
или перезагрузка.
Однако ufw не поддерживает NAT через простой интерфейс.