Помогите разобратся с доступом из лок. сети в лок. сеть, georglk, 28-Авг-10, 15:07 [смотреть все]Помогите разобраться с доступом из локальной сети на ресурс находящийся в той же локальной сети через маршрутизатор. Схема сети такая: - локальная сеть 192.168.1.0/24 в ней станция-клиент 192.168.1.50 - маршрутизатор с тремя сетевыми интерфейсами etho - локальная сеть, eth1 - первый провайдер, eth2 - второй провайдер - у внешних интерфейсов (eth1, eth2) по три реальных ip-адреса eth1: 172.16.1.1, 172.16.1.2, 172.16.1.3; eth2: 172.16.2.1, 172.16.2.2, 172.16.2.3 - у внутреннего интерфейса адрес 192.168.1.254 - шлюз первого провайдера 172.16.1.10 - шлюз второго провайдера 172.16.2.10 - вебсервер, внутри локальной сети 192.168.1.51 Маршрутизация настроена так (согласно https://www.opennet.ru/docs/RUS/LARTC/x348.html): #ip rule 0: from all lookup local 32753: from all fwmark 0x67 lookup ISP1 32754: from all fwmark 0x66 lookup ISP1 32755: from all fwmark 0x65 lookup ISP1 32756: from 172.16.1.1 lookup ISP1 32762: from all fwmark 0xcb lookup ISP2 32763: from all fwmark 0xca lookup ISP2 32764: from all fwmark 0xc9 lookup ISP2 32765: from 172.16.2.1 lookup ISP2 32766: from all lookup main 32767: from all lookup default # ip route list table ISP1 172.16.1.0/25 dev eth2 scope link 192.168.1.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 172.16.1.10 dev eth1 # ip route list table ISP2 172.16.2.0/25 dev eth1 scope link 192.168.1.0/24 dev eth0 scope link 127.0.0.0/8 dev lo scope link default via 172.16.2.10 dev eth2 # ip route list table main 172.16.1.0/25 dev eth1 proto kernel scope link 172.16.1.1 172.16.2.0/25 dev eth2 proto kernel scope link 172.16.2.1 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.254 default via 172.16.1.10 dev eth1 metric 100# iptables-save *raw :PREROUTING ACCEPT [2322:296381] :OUTPUT ACCEPT [1692:290926] COMMIT *mangle :PREROUTING ACCEPT [2322:296381] :INPUT ACCEPT [2131:226028] :FORWARD ACCEPT [179:69081] :OUTPUT ACCEPT [1692:290926] :POSTROUTING ACCEPT [1871:360007] -A PREROUTING -s 192.168.1.50/32 ! -d 192.168.1.0/24 -i eth0 -m mac --mac-source xx:xx:xx:xx:xx:xx -j MARK --set-xmark 0x66/0xffffffff COMMIT *nat :PREROUTING ACCEPT [481:40651] :POSTROUTING ACCEPT [127:8536] :OUTPUT ACCEPT [124:8392] -A PREROUTING -d 172.16.1.3/32 -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.51:80 -A PREROUTING -d 172.16.2.3/32 -i eth2 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.51:80 -A POSTROUTING -s 192.168.1.0/24 -o eth1 -m mark --mark 0x65 -m comment --comment "WAN1IP1" -j SNAT --to-source 172.16.1.1 -A POSTROUTING -s 192.168.1.0/24 -o eth2 -m mark --mark 0xc9 -m comment --comment "WAN2IP1" -j SNAT --to-source 172.16.2.1 -A POSTROUTING -s 192.168.1.0/24 -o eth1 -m mark --mark 0x66 -m comment --comment "WAN1IP2" -j SNAT --to-source 172.16.1.2 -A POSTROUTING -s 192.168.1.0/24 -o eth2 -m mark --mark 0xca -m comment --comment "WAN2IP2" -j SNAT --to-source 172.16.2.2 -A POSTROUTING -s 192.168.1.0/24 -o eth1 -m mark --mark 0x67 -m comment --comment "WAN1IP3" -j SNAT --to-source 172.16.1.3 -A POSTROUTING -s 192.168.1.0/24 -o eth2 -m mark --mark 0xcb -m comment --comment "WAN2IP3" -j SNAT --to-source 172.16.2.3 -A POSTROUTING -s 192.168.1.51/32 -o eth1 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.1.3 -A POSTROUTING -s 192.168.1.51/32 -o eth2 -p tcp -m tcp --sport 80 -j SNAT --to-source 172.16.2.3 COMMIT *filter :INPUT ACCEPT [1:40] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [2:1304] COMMIT В результате, из локальной сети в интернет доступ есть (192.168.1.50 -> интернет) Из интернета на "внутренний" вебсервер доступ тоже есть (интернет -> 172.16.1.3 -> 192.168.1.51 и интернет -> 172.16.2.3 -> 192.168.1.51) но если из внутренний сети обратиться на 172.16.1.3 или 172.16.2.3, то есть попытаться получить доступ от 192.168.1.50 к 192.168.1.51 через 172.16.1.3 или 172.16.2.3 то не работает tcpdump показывает трафик от 192.168.1.50 к 172.16.1.3 или 172.16.2.3 и обратно, а трафика к 192.168.1.51 при этом нет
|
- Помогите разобратся с доступом из лок. сети в лок. сеть, reader, 15:27 , 28-Авг-10 (1)
- Помогите разобратся с доступом из лок. сети в лок. сеть, georglk, 00:25 , 29-Авг-10 (3)
>[оверквотинг удален] >>но если из внутренний сети обратиться на 172.16.1.3 или 172.16.2.3, то есть >>попытаться получить доступ от 192.168.1.50 к 192.168.1.51 через 172.16.1.3 или 172.16.2.3 >>то не работает >>tcpdump показывает трафик от 192.168.1.50 к 172.16.1.3 или 172.16.2.3 и обратно, а >>трафика к 192.168.1.51 при этом нет > >или вебсервер в другую подсеть или SNAT на 192.168.1.254 > >https://www.opennet.ru/docs/RUS/iptables/#DNATTARGET >https://www.opennet.ru/openforum/vsluhforumID1/89679.html#6спасибо за напоминание о доп. правилах DNAT, совсем забыл про них но вопрос решился не добавлением -j SNAT --to-source _внутр_IP_сервера доступ из локальной сети по реальному адресу внутреннего ресурса заработал при трех правилах (учитываем что -P FORWARD ACCEPT) $iptables -v -t nat -A PREROUTING -i $WAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP1 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT $iptables -v -t nat -A PREROUTING -i $LAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP1 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT $iptables -v -t nat -A POSTROUTING -o $LAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3INT -m multiport --dports 80,443 -j SNAT --to-source $WEB3EXTISP1 где WAN1IF внеш. интерфейс роутера, LAN1IF внутр. интерфейс роутера WEB3EXTISP1 "реальный" адрес для вебсервера, WEB3INT - его "серый" ip адрес причем для доступа из интернета к локальному вебсерверу достаточно только первой строчки, сам проверял, как работает не совсем понимаю, для WEB3INT SNAT-а нет
- Помогите разобратся с доступом из лок. сети в лок. сеть, georglk, 02:13 , 29-Авг-10 (4)
но есть одна проблема! если канала два, то при двух таких наборах правил, внутренний веб-сервер всегда думает что к нему обращается с $WEB3EXTISP1 (если поменять наборы местами, то будет $WEB3EXTISP2)>[оверквотинг удален] >--to-destination $WEB3INT >$iptables -v -t nat -A POSTROUTING -o $LAN1IF -p tcp -m tcp >--sport $UNPRIVPORTS -d $WEB3INT -m multiport --dports 80,443 -j SNAT --to-source >$WEB3EXTISP1 >где WAN1IF внеш. интерфейс роутера, LAN1IF внутр. интерфейс роутера >WEB3EXTISP1 "реальный" адрес для вебсервера, WEB3INT - его "серый" ip адрес > >причем для доступа из интернета к локальному вебсерверу достаточно только первой строчки, > >сам проверял, как работает не совсем понимаю, для WEB3INT SNAT-а нет
- Помогите разобратся с доступом из лок. сети в лок. сеть, georglk, 03:13 , 29-Авг-10 (5)
в результате получилось так iptables -t nat -A PREROUTING -i $WAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP1 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT iptables -t nat -A PREROUTING -i $WAN2IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP2 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT iptables -t nat -A PREROUTING -i $LAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP1 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT iptables -t nat -A PREROUTING -i $LAN1IF -p tcp -m tcp --sport $UNPRIVPORTS -d $WEB3EXTISP2 -m multiport --dports 80,443 -j DNAT --to-destination $WEB3INT iptables -t nat -A POSTROUTING -o $LAN1IF -p tcp -m tcp -s $LAN1NET --sport $UNPRIVPORTS -d $WEB3INT -m multiport --dports 80,443 -j SNAT --to-source $LAN1IP1 >[оверквотинг удален] >>--to-destination $WEB3INT >>$iptables -v -t nat -A POSTROUTING -o $LAN1IF -p tcp -m tcp >>--sport $UNPRIVPORTS -d $WEB3INT -m multiport --dports 80,443 -j SNAT --to-source >>$WEB3EXTISP1 >>где WAN1IF внеш. интерфейс роутера, LAN1IF внутр. интерфейс роутера >>WEB3EXTISP1 "реальный" адрес для вебсервера, WEB3INT - его "серый" ip адрес >> >>причем для доступа из интернета к локальному вебсерверу достаточно только первой строчки, >> >>сам проверял, как работает не совсем понимаю, для WEB3INT SNAT-а нет
- Помогите разобратся с доступом из лок. сети в лок. сеть, reader, 12:14 , 29-Авг-10 (8)
- Помогите разобратся с доступом из лок. сети в лок. сеть, georglk, 13:51 , 29-Авг-10 (9)
>если на web сервере шлюзом прописан 192.168.1.254, то snat для пакетов идущих >из инета не нужен, там маршрутизация отработает. >snat нужен для правильного хождения ответных пакетов когда обращение происходит из локалки >к web серверу , который находится в этой же подсети, через >внешний ip. соответственно если web сервер вынести в другую подсеть, то >snat можно вообще убрать. спасибо, понял >а можно было бы сделать чтобы dns сервер для локалки отдавал ip >192.168.1.51, а не внешние и не грузить маршрутизатор так и будет сделано, но если раз в год понадобиться обратится по ip-адресу, хочется, что бы все работало и различное поведение не вводило в заблуждения.
- Помогите разобратся с доступом из лок. сети в лок. сеть, tux2002, 17:01 , 28-Авг-10 (2)
|