перенаправление портов ufw, не работающее

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

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

    *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

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

1
задан 30 August 2015 в 08:32
1 ответ

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

0
ответ дан 4 December 2019 в 07:12

Теги

Похожие вопросы