проблема с доступом в подсеть со шлюза

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Есть шлюз на PC (Slackware-12.1)

eth0 (aa.bb.cc.dd) - смотрит в инет
eth1 (10.10.0.2) - смотрит в частную сеть (10.0.0.0/24) через криптошлюз (10.10.0.1)
eth2 (192.168.1.2) - в локалку офиса 1
eth3 (192.168.2.2) - в локалку офиса 2

для сети 10.0.0.0 прописан роут:
route add -net 10.0.0.0/24 gw 10.10.0.1 eth1

так как криптошлюз не знает о существовании сетей 192.168.1.0 и 192.168.2.0, траффик из них в сеть 10.0.0.0 маскарадится.

iptables -A -t nat POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source aa.bb.cc.dd
iptables -A -t nat POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to-source aa.bb.cc.dd

iptables -A -t nat POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.10.0.2
iptables -A -t nat POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 10.10.0.2

С клиентских машин из локалок прекрасно гуляется в интернет и 10.0.0.0 (через NAT). Проблема, в том, что нет возможности зайти на http-сервер находящийся в сети 10.0.0.0 с самого шлюза. Т.е. links 10.0.0.1, lynx 10.0.0.1, попытка зайти мозиллой, оперой - не проходит. Тупо висит и ждет ответа от сервера. При этом, по tcpdump, ответ приходит. Squid тоже не добирается до этих ресурсов, собственно из-за него-то вся петрушка. В чем может быть проблема? Кривые руки не исключаю.
Спасибо сказали:
Max_Sys
Сообщения: 169
ОС: openSUSE 11.2

Re: проблема с доступом в подсеть со шлюза

Сообщение Max_Sys »

А может ли быть 10.10.0.1 гейтвеем в 10.0.0.0/24? :unsure:
Спасибо сказали:
Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

Re: проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Max_Sys писал(а):
04.01.2009 16:27
А может ли быть 10.10.0.1 гейтвеем в 10.0.0.0/24? :unsure:

пинги же ходят, через нат тоже все ок. только локально со шлюза не могу попасть.
Спасибо сказали:
Max_Sys
Сообщения: 169
ОС: openSUSE 11.2

Re: проблема с доступом в подсеть со шлюза

Сообщение Max_Sys »

С гейтвеем я ступил, конечно :)
Если пинги ходят, то рутинг настроен правильно.
А не хотят ли браузеры лезть через proxy, например? Что будет если написать telnet 10.0.0.1 80 на PC шлюзе?
Спасибо сказали:
Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

Re: проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Max_Sys писал(а):
04.01.2009 17:01
С гейтвеем я ступил, конечно :)
Если пинги ходят, то рутинг настроен правильно.
А не хотят ли браузеры лезть через proxy, например? Что будет если написать telnet 10.0.0.1 80 на PC шлюзе?

не..не хотят. но есть момент: traceroute на 10.0.0.1 работает только если указать явно интерефес -i eth1. Если этого не сделать он пытается идти от 127.0.0.1 и никуда не попадает.
Спасибо сказали:
Max_Sys
Сообщения: 169
ОС: openSUSE 11.2

Re: проблема с доступом в подсеть со шлюза

Сообщение Max_Sys »

То есть ping 10.0.0.1 работает, а traceroute 10.0.0.1 нет?
А покажите табличку маршрутизации...
Спасибо сказали:
Sleeping Daemon
Сообщения: 1450

Re: проблема с доступом в подсеть со шлюза

Сообщение Sleeping Daemon »

viper76 писал(а):
04.01.2009 16:14
Есть шлюз на PC (Slackware-12.1)

eth0 (aa.bb.cc.dd) - смотрит в инет
eth1 (10.10.0.2) - смотрит в частную сеть (10.0.0.0/24) через криптошлюз (10.10.0.1)
eth2 (192.168.1.2) - в локалку офиса 1
eth3 (192.168.2.2) - в локалку офиса 2

для сети 10.0.0.0 прописан роут:
route add -net 10.0.0.0/24 gw 10.10.0.1 eth1

так как криптошлюз не знает о существовании сетей 192.168.1.0 и 192.168.2.0, траффик из них в сеть 10.0.0.0 маскарадится.

iptables -A -t nat POSTROUTING -s 192.168.1.0/24 -o eth0 -j SNAT --to-source aa.bb.cc.dd
iptables -A -t nat POSTROUTING -s 192.168.2.0/24 -o eth0 -j SNAT --to-source aa.bb.cc.dd

iptables -A -t nat POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to-source 10.10.0.2
iptables -A -t nat POSTROUTING -s 192.168.2.0/24 -o eth1 -j SNAT --to-source 10.10.0.2

С клиентских машин из локалок прекрасно гуляется в интернет и 10.0.0.0 (через NAT). Проблема, в том, что нет возможности зайти на http-сервер находящийся в сети 10.0.0.0 с самого шлюза. Т.е. links 10.0.0.1, lynx 10.0.0.1, попытка зайти мозиллой, оперой - не проходит. Тупо висит и ждет ответа от сервера. При этом, по tcpdump, ответ приходит. Squid тоже не добирается до этих ресурсов, собственно из-за него-то вся петрушка. В чем может быть проблема? Кривые руки не исключаю.

Попробуйте netcat -v 10.0.0.1 80 вместо links.
Может получите необходимое направление копания. :rolleyes:
И ip r list в студию на шлюзе.
Спасибо сказали:
Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

Re: проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Sleeping Daemon писал(а):
05.01.2009 01:45
Попробуйте netcat -v 10.0.0.1 80 вместо links.
Может получите необходимое направление копания. :rolleyes:
И ip r list в студию на шлюзе.


Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
xx.xx.xx.xx 0.0.0.0 255.255.255.248 U 0 0 0 eth0
10.0.4.0 0.0.0.0 255.255.255.0 U 0 0 0 eth4
192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth2
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth3
10.10.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.0.0 10.10.0.1 255.255.255.0 UG 0 0 0 eth1
127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo
0.0.0.0 xx.xx.xx.xx 0.0.0.0 UG 1 0 0 eth0


вывод netcat -v 10.0.0.1 80
10.0.0.1 80 (http) open
и все...висит до Ctrl-C

а вот вывод tcpdump -ni eth1 при links 10.0.0.1

Код: Выделить всё

16:35:25.216735 IP 10.10.0.2.50066 > 10.0.0.1.80: S 2124744962:2124744962(0) win 5840 <mss 1460,sackOK,timestamp 6051184 0,nop,wscale 7>
16:35:25.243116 IP 10.0.0.1.80 > 10.10.0.2.50066: S 3742329487:3742329487(0) ack 2124744963 win 5792 <mss 1460,sackOK,timestamp 146227900 6051184,nop,wscale 7>
16:35:25.243158 IP 10.10.0.2.50066 > 10.0.0.1.80: . ack 1 win 46 <nop,nop,timestamp 6051190 146227900>
16:35:25.244039 IP 10.10.0.2.50066 > 10.0.0.1.80: P 1:595(594) ack 1 win 46 <nop,nop,timestamp 6051190 146227900>
16:35:25.264702 IP 10.0.0.1.80 > 10.10.0.2.50066: R 3742329488:3742329488(0) win 0
16:35:25.264892 IP 10.10.0.2.50067 > 10.0.0.1.80: S 2126973838:2126973838(0) win 5840 <mss 1460,sackOK,timestamp 6051196 0,nop,wscale 7>
16:35:25.268538 IP 10.0.0.1.80 > 10.10.0.2.50066: R 3742329488:3742329488(0) win 0
16:35:25.284591 IP 10.0.0.1.80 > 10.10.0.2.50067: S 3757775759:3757775759(0) ack 2126973839 win 5792 <mss 1460,sackOK,timestamp 146227912 6051196,nop,wscale 7>
16:35:25.284622 IP 10.10.0.2.50067 > 10.0.0.1.80: . ack 1 win 46 <nop,nop,timestamp 6051201 146227912>
16:35:25.284874 IP 10.10.0.2.50067 > 10.0.0.1.80: P 1:595(594) ack 1 win 46 <nop,nop,timestamp 6051201 146227912>
16:35:25.308497 IP 10.0.0.1.80 > 10.10.0.2.50067: . ack 595 win 55 <nop,nop,timestamp 146227918 6051201>

и после этого висит.
Спасибо сказали:
Max_Sys
Сообщения: 169
ОС: openSUSE 11.2

Re: проблема с доступом в подсеть со шлюза

Сообщение Max_Sys »

Поправьте меня, если я не прав, но по-моему рутинг у Вас работает!
Я бы копал на серваке 10.0.0.1 или что-то на 10.10.0.2 (на тему даже не знаю чего...)
ping'и ходят нормально? а traceroute нет? traceroute вроде хочет имена разрешать... (или не хочет?)
Спасибо сказали:
Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

Re: проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Max_Sys писал(а):
05.01.2009 23:14
Поправьте меня, если я не прав, но по-моему рутинг у Вас работает!
Я бы копал на серваке 10.0.0.1 или что-то на 10.10.0.2 (на тему даже не знаю чего...)
ping'и ходят нормально? а traceroute нет? traceroute вроде хочет имена разрешать... (или не хочет?)


Проблема разрешилась. Дело видимо в кривоватом криптошлюзе на который смотрит eth1
в старых линуксах /proc/sys/net/ipv4/tcp_window_scaling стояло в 0. в новых - 1. Поставил 0 и все заработало.
Спасибо сказали:
Max_Sys
Сообщения: 169
ОС: openSUSE 11.2

Re: проблема с доступом в подсеть со шлюза

Сообщение Max_Sys »

А что такое вообще tcp_window_scaling? Погуглив, понял, что у многих там "1" и это проблема. Все ставят "0".
Спасибо сказали:
Аватара пользователя
viper76
Сообщения: 9
ОС: Slackware-12

Re: проблема с доступом в подсеть со шлюза

Сообщение viper76 »

Max_Sys писал(а):
05.01.2009 23:37
А что такое вообще tcp_window_scaling? Погуглив, понял, что у многих там "1" и это проблема. Все ставят "0".


Вроде как разрешение изменения размера окна TCP. Если маршрутизатор не поддерживает, а у клиента стоит 1 - будут проблемы со связью. В новых линухах и в висте стоит 1. Кстати я еще удивлялся, что это у меня страничка за этим криптошлюзом из под слаки на рабочей тачке не открывается, при этом под ХР у всех в той же локалке - работает.
Спасибо сказали: