Назад | Перейти на главную страницу

переадресация портов ufw не работает

Я пытаюсь настроить сервер ubuntu 14.04 в качестве маршрутизатора, который также выполняет переадресацию портов. У меня есть часть маршрутизатора, но я не могу понять, почему переадресация портов не работает. Я выполнил следующие шаги, цель - пересылка SMTP- и http-трафика на серверы в частной подсети:

  1. Раскомментировать строку переадресации в /etc/ufw/sysctl.conf
  2. Обновите строку / etc / default / ufw DEFAULT_FORWARD_POLICY="ACCEPT"
  3. Добавлены следующие строки в /etc/ufw/before.rules (пробовал как до, так и после раздела * filter):

    *nat :PREROUTING ACCEPT [0:0] :POSTROUTING ACCEPT [0:0] -A PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to-destination 10.16.0.51:25 -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.16.0.20:80 -A POSTROUTING -s 10.16.0.0/24 -o eth0 -j MASQUERADE COMMIT

  4. Добавлены следующие строки в *filter раздел /etc/ufw/before.rules (по примеру Вот):

    -A PREROUTING -p tcp -i eth0 --dport 25 -j DNAT --to-destination 10.16.0.51:25 -A PREROUTING -p tcp -i eth0 --dport 80 -j DNAT --to-destination 10.16.0.20:80

  5. Добавлены правила UFW:

    To Action From -- ------ ---- 10.16.0.5 22 ALLOW 10.10.20.0/24 10.16.0.51 25 ALLOW [Public IP on eth0] 10.16.0.20 80 ALLOW [Public IP on eth0]

Я проверил журналы UFW, и они показывают, где он пропускает трафик через брандмауэр, но я предполагаю, что там он останавливается. Я следил за руководствами и примерами в различных сообщениях и темах, и по какой-то причине трафик просто не перенаправляется.

Если это поможет, я сделал iptables -t nat -L -v:

Chain PREROUTING (policy ACCEPT 1600 packets, 202K bytes)
 pkts bytes target   prot opt in     out   source     destination
    1    60 DNAT     tcp  --  eth0   any   anywhere   anywhere   tcp dpt:smtp to:10.16.0.51:25
    1    60 DNAT     tcp  --  eth0   any   anywhere   anywhere   tcp dpt:http to:10.16.0.20:80

Chain INPUT (policy ACCEPT 4 packets, 770 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 20 packets, 1430 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain POSTROUTING (policy ACCEPT 22 packets, 1550 bytes)
 pkts bytes target     prot opt  in     out     source               destination
    0     0 MASQUERADE  all  --  any    eth0    10.16.0.0/24         anywhere

Насколько я могу судить, он должен работать. Что еще можно проверить? Я пропустил какие-то шаги? Есть ли какие-нибудь инструменты, которые я могу использовать, чтобы попытаться выяснить, что может происходить? Любая помощь или совет приветствуются. Спасибо.

Проблема заключается в сетевой маршрутизации. Я пытался создать своего рода DMZ, поэтому у меня были серверы, указывающие на внутренний маршрутизатор. Шлюз мог пинговать сервер, но я думаю, он не знал, как маршрутизировать трафик smtp или http. Изменение почтового и веб-серверов для указания на шлюз ubuntu устранило проблему маршрутизации, и пересылка начала работать.