[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Проблема с настройкой маршрутизации на два провайдера + DMZ



Привет.

Что необходимо:
Корректная работа с 2мя провами, т.е. входящие пакеты с сети одного прова на интерфейс другого уходили с него же, а также для экономии трафика исходящие новый сессии чтобы уходили с соответствующих интерфейсов в зависимости от сети провайдера.
Также чтобы DMZ было доступно с обоих провов и глобала.

В чём проблема:
Проблема с DMZ, при обращении к серверам находящимся в нём (ping из сети любого из провайдеров) пакеты идут какое-то время, а после этого затык. Смотрю пакеты tcpdump'ом на интерфесах и на роутере и на том сервере что пингую, видно что icmp реквесты приходят, а ответов назад нет. Связь полностью затыкается до того компьютера который пингую, не только icmp, останавливаю, через несколько секунд пробую, работает и снова затык. В DMZ серваки стоят как с Sargeм так и 1ин есть с AltLinux Master 2.2, т.е. ядра разные.
-------------------------------
ping 83.246.136.37
PING 83.246.136.37 (83.246.136.37) 56(84) bytes of data.
64 bytes from 83.246.136.37: icmp_seq=1 ttl=56 time=32.8 ms
64 bytes from 83.246.136.37: icmp_seq=2 ttl=56 time=25.7 ms
64 bytes from 83.246.136.37: icmp_seq=3 ttl=56 time=26.7 ms
64 bytes from 83.246.136.37: icmp_seq=4 ttl=56 time=26.2 ms
64 bytes from 83.246.136.37: icmp_seq=5 ttl=56 time=25.2 ms
64 bytes from 83.246.136.37: icmp_seq=6 ttl=56 time=25.1 ms
64 bytes from 83.246.136.37: icmp_seq=7 ttl=56 time=27.3 ms
64 bytes from 83.246.136.37: icmp_seq=8 ttl=56 time=25.5 ms

--- 83.246.136.37 ping statistics ---
12 packets transmitted, 8 received, 33% packet loss, time 11005ms
rtt min/avg/max/mdev = 25.160/26.855/32.816/2.368 ms
-------------------------------
tcpdump -i eth0 -n -p icmp
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
12:41:51.438400 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 1
12:41:51.438608 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 1
12:41:52.429804 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 2
12:41:52.429847 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 2
12:41:53.433217 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 3
12:41:53.433237 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 3
12:41:54.431985 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 4
12:41:54.432008 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 4
12:41:55.434213 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 5
12:41:55.434231 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 5
12:41:56.434667 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 6
12:41:56.434693 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 6
12:41:57.437842 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 7
12:41:57.437860 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 7
12:41:58.437086 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 8
12:41:58.437104 IP 83.246.136.37 > 212.94.116.178: icmp 64: echo reply seq 8
12:41:59.442311 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 9 12:42:00.442036 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 10 12:42:01.438058 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 11 12:42:02.437591 IP 212.94.116.178 > 83.246.136.37: icmp 64: echo request seq 12

20 packets captured
20 packets received by filter
0 packets dropped by kernel
-----------------------------------------
Что имеется:
Роутер:
gw1:/# uname -a
Linux gw1.rscenter 2.6.17-2-k7 #1 SMP Fri Aug 25 00:06:28 UTC 2006 i686 GNU/Linux
Интерфейсы:
1-провайдер Интелби.
eth0      Link encap:Ethernet  HWaddr 00:11:2F:CF:74:71
         inet addr:83.246.130.141  Bcast:83.246.130.255  Mask:255.255.255.0
2-провайдер Телеком.
eth3      Link encap:Ethernet  HWaddr 00:02:B3:CD:58:8F
         inet addr:212.94.107.189  Bcast:212.94.107.255  Mask:255.255.255.0
DMZ.
eth2      Link encap:Ethernet  HWaddr 00:02:B3:CD:59:48
         inet addr:83.246.136.33  Bcast:83.246.136.47  Mask:255.255.255.240

Как настроено:
/etc/network/interfaces
---
auto eth0
iface eth0 inet static
       address 83.246.130.141
       netmask 255.255.255.0
       network 83.246.130.0
       broadcast 83.246.130.255
##      gateway 83.246.130.2
post-up ip route add 83.246.130.2/32 dev eth0 src 83.246.130.141 table uplink1
       post-up ip route add default via 83.246.130.2 table uplink1
       post-up ip rule add from 83.246.130.141 table uplink1
       post-up ip route add default via 83.246.130.2
       post-down ip rule del from 83.246.130.141 table uplink1

auto eth2
iface eth2 inet static
       address 83.246.136.33
       netmask 255.255.255.240
       network 83.246.136.32
       broadcast 83.246.136.47
post-up ip route add 83.246.130.2/32 dev eth2 src 83.246.136.33 table uplink3
       post-up ip route add default via 83.246.130.2 table uplink3
       post-up ip rule add from 83.246.136.33 table uplink3
       post-up ip rule add from 83.246.136.32/28 table uplink3
       post-down ip rule del from 83.246.136.33 table uplink3
       post-down ip rule del from 83.246.136.32/28 table uplink3

auto eth3
iface eth3 inet static
       address 212.94.107.189
       netmask 255.255.255.0
       network 212.94.107.0
       broadcast 212.94.107.255
##      gateway 212.94.107.1
post-up ip route add 212.94.107.1/32 dev eth3 src 212.94.107.189 table uplink2
       post-up ip route add default via 212.94.107.1 table uplink2
       post-up ip rule add from 212.94.107.189 table uplink2
       post-up ip route add 212.94.96.0/19 dev eth3 src 212.94.107.189
       post-up ip route add 194.150.128.0/19 dev eth3 src 212.94.107.189
       post-down ip rule del from 212.94.107.189 table uplink2
----------------
/etc/network/options
ip_forward=yes
spoofprotect=yes
syncookies=no

В логах заметил такую штуку:

1 Time(s): audit(1161252914.637:25): dev=eth0 prom=0 old_prom=256 auid=4294967295
1 Time(s): audit(1161252914.649:26): dev=eth0 prom=256 old_prom=0 auid=4294967295
1 Time(s): audit(1161252944.795:27): dev=eth0 prom=0 old_prom=256 auid=4294967295
1 Time(s): audit(1161252944.807:28): dev=eth0 prom=256 old_prom=0 auid=4294967295
1 Time(s): audit(1161256569.898:29): dev=eth2 prom=256 old_prom=0 auid=4294967295
1 Time(s): audit(1161256595.123:30): dev=eth2 prom=0 old_prom=256 auid=4294967295
1 Time(s): audit(1161256609.444:31): dev=eth3 prom=256 old_prom=0 auid=4294967295
1 Time(s): audit(1161256630.230:32): dev=eth3 prom=0 old_prom=256 auid=4294967295
1 Time(s): audit(1161256656.123:33): dev=eth2 prom=256 old_prom=0 auid=4294967295
1 Time(s): audit(1161256673.184:34): dev=eth2 prom=0 old_prom=256 auid=4294967295
...

-------------------
Лишее убрал
gw1:/etc/network# ip route
83.246.136.32/28 dev eth2  proto kernel  scope link  src 83.246.136.33
83.246.130.0/24 dev eth0  proto kernel  scope link  src 83.246.130.141
212.94.107.0/24 dev eth3  proto kernel  scope link  src 212.94.107.189
212.94.96.0/19 dev eth3  scope link  src 212.94.107.189
194.150.128.0/19 dev eth3  scope link  src 212.94.107.189
default via 83.246.130.2 dev eth0
--------------------
gw1:/etc/network# ip rule show
0:      from all lookup local
32762:  from 212.94.107.189 lookup uplink2
32763:  from 83.246.136.32/28 lookup uplink3
32764:  from 83.246.136.33 lookup uplink3
32765:  from 83.246.130.141 lookup uplink1
32766:  from all lookup main
32767:  from all lookup default
-------------------
Пробовал по разному менять роутинг для DMZ один фиг или не работает или с затыком. :(

Делалось всё по этим инструкциям:
http://www.debian-administration.org/articles/377
http://www.opennet.ru/docs/RUS/LARTC/x348.html

--
Всего наилучшего.
СисАдмин ЗАО "Региональный сервисный центр".



Reply to: