Всем привет,
понимаю что тема поднималась не раз, и по писку я много чего нашел, но все же ничего найденного мне не помогло.шлюз Ubuntu 16
внутр инт br0 10.90.90.1
внеш инт eth1 X.X.X.X$IPT -P INPUT DROP
$IPT -P FORWARD ACCEPT (сделаем временно ACCEPT)
$IPT -P OUTPUT ACCEPT
$IPT -t nat -A PREROUTING -p icmp -d 1.2.3.4 -j DNAT --to-destination 10.90.90.3
$IPT -t nat -A POSTROUTING -d 10.90.90.3 -j SNAT --to-source 10.90.90.1
Every 2.0s: iptables -t nat -vnL Thu Jan 12 13:02:59 2017Chain PREROUTING (policy ACCEPT 1116 packets, 306K bytes)
pkts bytes target prot opt in out source destination
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5301 LOG flags 0 level 4 prefix "ipt:Synology HTTP "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5301 to:10.90.90.3:5001
134 8040 DNAT icmp -- * * 0.0.0.0/0 1.2.3.4 to:10.90.90.3
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5122 LOG flags 0 level 4 prefix "ipt:SSH "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5122 to:10.90.90.1:22
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:51022 LOG flags 0 level 4 prefix "ipt:SSH "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:51022 to:10.90.90.10:22
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5322 LOG flags 0 level 4 prefix "ipt:SSH "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5322 to:10.90.90.3:22
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5422 LOG flags 0 level 4 prefix "ipt:SSH "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5422 to:10.90.90.4:22
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:57081 LOG flags 0 level 4 prefix "ipt:ROCAM_HTTP "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:57081 to:10.90.90.70:81
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5195 LOG flags 0 level 4 prefix "ipt:OpenVPN "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5195 to:10.90.90.1:1194
0 0 LOG tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5321 LOG flags 0 level 4 prefix "ipt:FTP "
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:5321 to:10.90.90.3:21
0 0 DNAT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpts:55536:55599 to:10.90.90.3:55536-55599Chain INPUT (policy ACCEPT 181 packets, 23275 bytes)
pkts bytes target prot opt in out source destinationChain OUTPUT (policy ACCEPT 174 packets, 18474 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT icmp -- * * 0.0.0.0/0 1.2.3.4 to:10.90.90.4Chain POSTROUTING (policy ACCEPT 259 packets, 34942 bytes)
pkts bytes target prot opt in out source destination
0 0 SNAT all -- * * 0.0.0.0/0 10.90.90.3 to:10.90.90.1
229 14046 MASQUERADE all -- * eth1 10.90.90.0/24 0.0.0.0/0
Пакеты попадают в правило DNAT, но не отрабатывается по SNAT.
$IPT -t nat -A PREROUTING -d $INET_ADDR -p tcp --dport $NEXTCLOUD_HTTP_DNAT -j DNAT --to-destination $APPLICATIONS_IP:$NEXTCLOUD_HTTP_PORT
$IPT -t nat -A POSTROUTING -s $LAN_NTWK -d $APPLICATIONS -p tcp --dport $NEXTCLOUD_HTTP_PORT -j SNAT --to-source $
LAN_ADDRЗаработало в итоге, но работает только при обращение по IP, если вместо IP указать FQDN (DynDNS) не работает правило.
Бред какой-то, само по себе заработало.
Проблема исчерпана.
> Бред какой-то, само по себе заработало.
> Проблема исчерпана.Вы будете смеяться, но все как-то странно, правило
$IPT -t nat -A POSTROUTING -s $LAN_NTWK -d $APPLICATIONS -p tcp --dport $NEXTCLOUD_HTTP_PORT -j SNAT --to-source $LAN_ADDR
работает только в случае если на шлюзе ($LAN_ADDR) запущен tcpdump, если он выключен то и трафик не ходит, как такое возможно?
tcpdump -vni br0 host 10.90.90.102 and port 8480
> Вы будете смеятьсямы таки уже. смеёмся ☺
попкорна много. жги ещё> все как-то странно, правило работает только в случае если на шлюзе запущен tcpdump,
> если он выключен то и трафик не ходит, как такое возможно?
> tcpdump -vni br0 host 10.90.90.102 and port 8480неисповедимы пути твои, господи. чудеса да и только
а если не снифирить, а пингать попробоввть - трафик бежит?
>> Вы будете смеяться
> мы таки уже. смеёмся ☺
> попкорна много. жги ещё
>> все как-то странно, правило работает только в случае если на шлюзе запущен tcpdump,
>> если он выключен то и трафик не ходит, как такое возможно?
>> tcpdump -vni br0 host 10.90.90.102 and port 8480
> неисповедимы пути твои, господи. чудеса да и только
> а если не снифирить, а пингать попробоввть - трафик бежит?А вы зря смеялись, tcpdump без опции -p включает promiscious режим, потому и работает.
Вообщем проблему решил
up ip link set $IFACE promisc on down ip link set $IFACE promisc of
молодец, что решил, но обломал
выходит мы зря таки смеялись и никаких чудес
ну, что же, тогда будем сыпать пепел на голову