Общая ситуация такова: есть локальная сеть с приватными адресами, есть роутер под linux 2.4.25, и есть два провайдера интернет (Ситек и Бестком), один из которых (Ситек) в настоящий момент лежит. Эта часть работает на ура.
В добавок к этому есть компьютер, который условно назовем CVS, и который имеет две карточки с реальными адресами на каждой (по одной на каждого провайдера).
Изначально на CVS все было настроено исключительно на Ситек. Однако когда он упал - понадобилось заставить его работать и через Бестком тоже. И вот тут начались проблемы.
Бьюсь уже неделю, man ping, man traceroute, man route, man iptables, man ip и man tcpdump прочитаны до дыр.
Для простоты понимания предлагаю посмотреть на схему (картинка) подключения всего этого безобразия на http://bestcom.alterplast.ru/NetworkSheme2.jpg
Симптомы проблемы следующие.
Идем на CVS. Говорим
route del default
route add default gw 213.167.38.10
ping 192.168.0.1
Пинг проходит.
Говорим там же
route del default
route add default gw 217.72.147.97
ping 192.168.0.1
Пинг не проходит.
Включаем на роутере и на CVS журналирование всех icmp пакетов.
Говорим с CVS
ping 192.168.0.1
На CVS исходящий пинг видим, на роутере - нет.
tcpdump на роутере видит приходящий на eth3 пакет, а больше ничего нету.
Говорим со стороннего хоста (из интернета)
ping 217.72.147.98
на роутере видим IN=eth1, OUT=eth3 пакет и больше ничего.
на CVS видим как сам запрос (IN=eth1, OUT= ) так и ответ на него (IN= , OUT=eth1).
tcpdump на роутере видит приходящий пакет запроса на eth1, исходящий пакет запроса с eth3, приходящий пакет ответа на eth3. На этом все останавливается.
Понятно, что проблема в настройках файрволла на роутере, но вот где именно - понять не могу.
Может быть кто-нибудь сможет подсказать - куда именно детально посмотреть?
Заранее спасибо.
P.S. В качестве дополнительной информации привожу некоторые настройки на роутере.
[root@ns rc.d]# ip rule show
0: from all lookup local
32765: from 213.167.38.10 lookup mtu
32766: from all lookup main
32767: from all lookup default
[root@ns rc.d]# ip route show table local
broadcast 217.72.145.192 dev eth1 proto kernel scope link src 217.72.145.201
broadcast 217.72.145.192 dev ipsec0 proto kernel scope link src 217.72.145.201
broadcast 192.168.0.255 dev eth0 proto kernel scope link src 192.168.0.109
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 217.72.147.103 dev eth3 proto kernel scope link src 217.72.147.97
local 217.72.147.97 dev eth3 proto kernel scope host src 217.72.147.97
broadcast 217.72.147.96 dev eth3 proto kernel scope link src 217.72.147.97
local 192.168.0.109 dev eth0 proto kernel scope host src 192.168.0.109
broadcast 192.168.0.0 dev eth0 proto kernel scope link src 192.168.0.109
local 217.72.145.201 dev eth1 proto kernel scope host src 217.72.145.201
local 217.72.145.201 dev ipsec0 proto kernel scope host src 217.72.145.201
broadcast 213.167.38.15 dev eth2 proto kernel scope link src 213.167.38.10
broadcast 213.167.38.8 dev eth2 proto kernel scope link src 213.167.38.10
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 213.167.38.10 dev eth2 proto kernel scope host src 213.167.38.10
broadcast 217.72.145.255 dev eth1 proto kernel scope link src 217.72.145.201
broadcast 217.72.145.255 dev ipsec0 proto kernel scope link src 217.72.145.201
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
[root@ns rc.d]# ip route show table mtu
213.167.38.8/29 dev eth2 scope link
192.168.0.0/24 dev eth0 scope link
default via 213.167.38.9 dev eth2
[root@ns rc.d]# ip route show table main
213.167.38.8/29 dev eth2 proto kernel scope link src 213.167.38.10
217.72.147.96/29 dev eth3 proto kernel scope link src 217.72.147.97
217.72.145.192/26 dev eth1 proto kernel scope link src 217.72.145.201
217.72.145.192/26 dev ipsec0 proto kernel scope link src 217.72.145.201
192.168.2.0/24 via 217.72.145.193 dev ipsec0
192.168.1.0/24 via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 scope link
127.0.0.0/8 dev lo scope link
default via 217.72.145.193 dev eth1
[root@ns rc.d]# ip route show table default
[root@ns rc.d]#
[root@ns root]# iptables -L -n -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
241 26182 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
0 0 DROP tcp -- eth2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128
0 0 DROP tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:3128
0 0 REJECT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445 reject-with icmp-port-unreachable
5 240 REJECT tcp -- eth2 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:445 reject-with icmp-port-unreachable
0 0 REJECT all -- eth2 * 0.0.0.0/0 62.118.26.168 reject-with icmp-port-unreachable
0 0 REJECT all -- eth2 * 0.0.0.0/0 62.118.26.171 reject-with icmp-port-unreachable
60 6901 REJECT all -- eth1 * 0.0.0.0/0 217.72.145.255 reject-with icmp-port-unreachable
0 0 REJECT all -- eth0 * 192.168.1.1 255.255.255.255 reject-with icmp-port-unreachable
0 0 REJECT all -- eth1 * 0.0.0.0/0 255.255.255.255 reject-with icmp-port-unreachable
5636 791K ACCEPT all -- eth0 * 192.168.0.0/24 0.0.0.0/0
0 0 ACCEPT all -- eth3 * 217.72.147.96/29 0.0.0.0/0
492 45852 ACCEPT all -- eth1 * 0.0.0.0/0 217.72.147.96/29
0 0 drop-and-log-it all -- eth2 * 192.168.0.0/24 0.0.0.0/0
0 0 drop-and-log-it all -- eth1 * 192.168.0.0/24 0.0.0.0/0
41 2913 ACCEPT all -- eth2 * 0.0.0.0/0 213.167.38.10
6645 5724K ACCEPT all -- eth1 * 0.0.0.0/0 217.72.145.201
0 0 ACCEPT all -- eth2 * 0.0.0.0/0 217.72.145.201
0 0 ACCEPT all -- eth1 * 0.0.0.0/0 213.167.38.10
0 0 drop-and-log-it all -- * * 0.0.0.0/0 0.0.0.0/0
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- eth0 ipsec0 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
1084 180K ACCEPT tcp -- eth0 * 192.168.0.16 0.0.0.0/0 tcp dpt:80
147 35249 ACCEPT tcp -- eth0 * 192.168.0.28 0.0.0.0/0 tcp dpt:80
0 0 ACCEPT tcp -- eth1 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
6 288 DROP tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:80
211 113K ACCEPT all -- eth2 eth0 0.0.0.0/0 0.0.0.0/0
4047 2530K ACCEPT all -- eth1 eth0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth3 eth0 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- ipsec0 eth0 0.0.0.0/0 0.0.0.0/0
99 20084 ACCEPT all -- eth0 eth0 0.0.0.0/0 0.0.0.0/0
140 36128 ACCEPT all -- eth0 eth2 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth1 eth2 0.0.0.0/0 0.0.0.0/0
2358 202K ACCEPT all -- eth0 eth1 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth2 eth1 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth3 eth1 0.0.0.0/0 0.0.0.0/0
2267 189K ACCEPT all -- eth1 eth3 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth0 eth3 0.0.0.0/0 0.0.0.0/0
0 0 ACCEPT all -- eth0 ipsec0 0.0.0.0/0 0.0.0.0/0
0 0 drop-and-log-it all -- * * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy DROP 4 packets, 752 bytes)
pkts bytes target prot opt in out source destination
241 26182 ACCEPT all -- * lo 0.0.0.0/0 0.0.0.0/0
17 1407 ACCEPT all -- * eth0 213.167.38.10 192.168.0.0/24
0 0 ACCEPT all -- * eth0 217.72.145.201 192.168.0.0/24
0 0 ACCEPT all -- * eth0 217.72.147.97 192.168.0.0/24
7350 6103K ACCEPT all -- * eth0 192.168.0.109 192.168.0.0/24
484 75418 ACCEPT all -- * eth1 217.72.147.96/29 0.0.0.0/0
0 0 ACCEPT all -- * eth3 0.0.0.0/0 217.72.147.96/29
0 0 drop-and-log-it all -- * eth2 0.0.0.0/0 192.168.0.0/24
0 0 drop-and-log-it all -- * eth1 0.0.0.0/0 192.168.0.0/24
46 7924 ACCEPT all -- * eth2 213.167.38.10 0.0.0.0/0
7273 926K ACCEPT all -- * eth1 217.72.145.201 0.0.0.0/0
0 0 ACCEPT all -- * eth2 217.72.145.201 0.0.0.0/0
0 0 ACCEPT all -- * eth1 213.167.38.10 0.0.0.0/0
0 0 drop-and-log-it all -- * * 0.0.0.0/0 0.0.0.0/0
Chain drop-and-log-it (7 references)
pkts bytes target prot opt in out source destination
0 0 LOG all -- * * 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 6
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-port-unreachable
[root@ns root]#
[root@ns root]# iptables -L -n -v -t nat
Chain PREROUTING (policy ACCEPT 245K packets, 25M bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT tcp -- * * 0.0.0.0/0 213.167.38.10 tcp dpt:6899 to:192.168.0.16:4899
0 0 DNAT tcp -- * * 0.0.0.0/0 213.167.38.10 tcp dpt:6898 to:192.168.0.28:4899
0 0 DNAT tcp -- * * 0.0.0.0/0 213.167.38.10 tcp dpt:6897 to:192.168.0.19:4899
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:6899 to:192.168.0.16:4899
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:6898 to:192.168.0.28:4899
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:6897 to:192.168.0.19:4899
9 424 DNAT tcp -- * * 0.0.0.0/0 213.167.38.10 tcp dpt:25 to:192.168.0.1:25
26 1476 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:25 to:192.168.0.1:25
1 48 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:80 to:213.167.38.11:80
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:222 to:213.167.38.11:22
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:20 to:213.167.38.11:20
0 0 DNAT tcp -- * * 0.0.0.0/0 217.72.145.201 tcp dpt:21 to:213.167.38.11:21
Chain POSTROUTING (policy ACCEPT 42717 packets, 7479K bytes)
pkts bytes target prot opt in out source destination
888 53061 LOG all -- * eth1 0.0.0.0/0 0.0.0.0/0 LOG flags 0 level 4
2 96 SNAT all -- * eth2 0.0.0.0/0 0.0.0.0/0 to:213.167.38.10
888 53061 SNAT all -- * eth1 0.0.0.0/0 0.0.0.0/0 to:217.72.145.201
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination