URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5407
[ Назад ]

Исходное сообщение
"Подмена внешнего адреса локальным"

Отправлено rdiamond , 12-Янв-17 12:58 
Всем привет,
понимаю что тема поднималась не раз, и по писку я много чего нашел, но все же ничего найденного мне не помогло.

шлюз 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 2017

Chain 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-55599

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

Chain 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.4

Chain 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.


Содержание

Сообщения в этом обсуждении
"Подмена внешнего адреса локальным"
Отправлено rdiamond , 12-Янв-17 15:54 

$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) не работает правило.


"Подмена внешнего адреса локальным"
Отправлено rdiamond , 12-Янв-17 16:00 
Бред какой-то, само по себе заработало.
Проблема исчерпана.

"Подмена внешнего адреса локальным"
Отправлено rdiamond , 12-Янв-17 18:27 
> Бред какой-то, само по себе заработало.
> Проблема исчерпана.

Вы будете смеяться, но все как-то странно, правило
$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


"Подмена внешнего адреса локальным"
Отправлено Аноним , 12-Янв-17 19:17 
> Вы будете смеяться

мы таки уже. смеёмся ☺
попкорна много. жги ещё

> все как-то странно, правило работает только в случае если на шлюзе запущен tcpdump,
> если он выключен то и трафик не ходит, как такое возможно?
> tcpdump -vni br0 host 10.90.90.102 and port 8480

неисповедимы пути твои, господи. чудеса да и только

а если не снифирить, а пингать попробоввть - трафик бежит?


"Подмена внешнего адреса локальным"
Отправлено rdiamond , 12-Янв-17 20:07 
>> Вы будете смеяться
> мы таки уже. смеёмся ☺
> попкорна много. жги ещё
>> все как-то странно, правило работает только в случае если на шлюзе запущен 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


"Подмена внешнего адреса локальным"
Отправлено Аноним , 12-Янв-17 20:42 
молодец, что решил, но обломал
выходит мы зря таки смеялись и никаких чудес
ну, что же, тогда будем сыпать пепел на голову