Есть проблема! — Снова iptables.
По следам этого поста.
Поправил скрипт. Теперь он выглядит так:
Собственно, не работает проброс порта. Нужно при обращении на 4242 порт внешнего интерфейса роутера получить ответ от 192.168.1.2:80, который находится за NATом. Пытаюсь достичь желаемого строкой
iptables -t nat -A OUTPUT -d 192.168.0.254 -p tcp --dport 4242 -j DNAT --to-destination 192.168.1.2:80,
но не работает. Изменение на такое:
iptables -t nat -A PREROUTING -p tcp --dport 4242 -d 192.168.0.254 -j DNAT --to-destination 192.168.0.2:80
тоже не работает. Как победить это? А что вообще думаете на счёт секурности такого фаерволла?
Вот ещё вывод iptables-save:
Поправил скрипт. Теперь он выглядит так:
#!/bin/sh
# На всякий случай очистим цепочку FORWARD
iptables -F FORWARD
# На всякий случай очистим цепочку POSTROUTING таблицы nat
iptables -t nat -F POSTROUTING
# Разрешаем проходить пакетам по уже установленным соединениям
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Разрешаем исходящие соединения из локальной сети к интернет-хостам
iptables -A FORWARD -m conntrack --ctstate NEW -i eth1 -s 192.168.1.0/24 -j ACCEPT
# Весь остальной транзитный трафик — запрещаем.
iptables -P FORWARD DROP
#проброс
iptables -t nat -A OUTPUT -d 192.168.0.254 -p tcp --dport 4242 -j DNAT --to-destination 192.168.1.2:80
# NAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.254
# На всякий случай очистим цепочку FORWARD
iptables -F FORWARD
# На всякий случай очистим цепочку POSTROUTING таблицы nat
iptables -t nat -F POSTROUTING
# Разрешаем проходить пакетам по уже установленным соединениям
iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
# Разрешаем исходящие соединения из локальной сети к интернет-хостам
iptables -A FORWARD -m conntrack --ctstate NEW -i eth1 -s 192.168.1.0/24 -j ACCEPT
# Весь остальной транзитный трафик — запрещаем.
iptables -P FORWARD DROP
#проброс
iptables -t nat -A OUTPUT -d 192.168.0.254 -p tcp --dport 4242 -j DNAT --to-destination 192.168.1.2:80
# NAT
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.0.254
Собственно, не работает проброс порта. Нужно при обращении на 4242 порт внешнего интерфейса роутера получить ответ от 192.168.1.2:80, который находится за NATом. Пытаюсь достичь желаемого строкой
iptables -t nat -A OUTPUT -d 192.168.0.254 -p tcp --dport 4242 -j DNAT --to-destination 192.168.1.2:80,
но не работает. Изменение на такое:
iptables -t nat -A PREROUTING -p tcp --dport 4242 -d 192.168.0.254 -j DNAT --to-destination 192.168.0.2:80
тоже не работает. Как победить это? А что вообще думаете на счёт секурности такого фаерволла?
Вот ещё вывод iptables-save:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
iptables-save |