iproute2 - спецы выручайте

gladko <[email protected]> Tue, 8 Jun 2004 12:22:28 +0400
Newsgroups gmane.linux.mandrake.expert.russian
Message-ID <[email protected]>
Мужики выручайте борюсь 2-ой день, ситуация следующяя.
Попросили меня сделать 2-а инетовских канала на один шлюз.
По советам многих использовал iproute2.
Но тут возникли проблемы:
1)Пропадает переодически инет для сетей хотя с шлюза всё ходит отлично.
2)Cервисы (www, ssh) находящиеся на сервере стали не доступны.

ТЕПЕРЬ ПО ПОРЯДКУ:
Есть:
eth0 - 62.118.161.210 mask 255.255.255.240
eth1 - 10.1.x.x       mask 255.255.255.0
eth2 - 192.168.x.x    mask 255.255.255.0
eth3 - 83.237.73.210  mask 255.255.255.240

!!!Надо сделать так что бы весь трафик!!!
- Сети 192.168.х.х выходил в инет через eth3 (83.237.x.x)
- Сети 10.1.х.х выходил в инет через eth0 (62.118.x.x)



1) Создал таблицы
echo 200 net_192 >> /etc/iproute2/rt_tables
echo 201 net_10 >> /etc/iproute2/rt_tables

2) Пишу правила
ip rule add from 192.168.1.0/24 table net_192
ip route add default via 83.237.73.209 dev eth3 table net_192
ip route flush cache

ip rule add from 10.1.1.0/24 table net_10
ip route add default via 62.118.161.209 dev eth0 table net_10
ip route flush cache

3) Смотрим

[root@gw home]#ip rule list 
0:      from all lookup local
32764:  from 10.1.1.0/24 lookup net_10
32765:  from 192.168.1.0/24 lookup net_192
32766:  from all lookup main
32767:  from all lookup 253

[root@gw home]# ip route list
83.237.73.208/28 dev eth3  proto kernel  scope link  src 83.237.73.210
62.118.161.208/28 dev eth0  scope link
192.168.1.0/24 dev eth2  scope link
10.1.1.0/24 dev eth1  scope link
127.0.0.0/8 dev lo  scope link
default via 62.118.161.209 dev eth0


4) iptables

# eth
INET_IFACE=eth0      
INET_IFACE2=eth3     
LAN1_IFACE=eth1      
LAN2_IFACE=eth2      


# IP adresa
REAL_IP=62.118.161.210    # Real ip servera (eth0)
REAL_IP2=83.237.73.210    # Real ip servera (eth3)
LAN1_IP=10.1.1.0/24       # IP diapazon seti 1
LAN2_IP=192.168.1.0/24    # IP diapazon seti 2



# SNAT for LAN1
/sbin/iptables -t nat -A POSTROUTING -s $LAN1_IP -o $INET_IFACE -j SNAT --to-source $REAL_IP


# SNAT for LAN2
/sbin/iptables -t nat -A POSTROUTING -s $LAN2_IP -o $INET_IFACE2 -j SNAT --to-source $REAL_IP2



5)РџСЂРѕР±СѓСЋ
- пингую из локалки 192.168.х.х tcpdump-ом видны пакеты уходящие с eth3
- пингую из локалки 10.1.х.х tcpdump-ом видны пакеты уходящие с eth0

Как и хотелось!

Но после выше проделанного появляются проблемы: 
1)Пропадает переодически инет для сетей хотя с шлюза всё ходит отлично.
2)Cервисы (www, ssh) находящиеся на сервере стали не доступны, тоесть
если я за хочу приконектиться к 192.168.1.1 порт 22 - фиг, тишина.
А как только правила iprout2 удоляю всё ок.

Что не так и куда копать!