LINUX.ORG.RU
ФорумAdmin

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


0

0

Мужики выручайте борюсь 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 удоляю всё ок. Что не так и куда копать!

anonymous

Плохо понял условия, но посмотри на http://axl.boston.ru . Я буквально на прошлой неделе делал два канала. Правда одна проблема осталась - из внутренней сети не пингуются внешние интерфейсы. Пока не понял как побороть.

Yakuza
()
Ответ на: комментарий от Yakuza

насчет пингования из локалки внутренних интерфейсов - возможно, у тебя не доходит пакет до таблицы main

у себя я сделал вот так:

# ip rule list
0: from all lookup local
32758: from all to 172.16.16.0/24 lookup main
32759: from all to 192.168.1.0/24 lookup main
32761: from all to 192.168.97.0/24 lookup main
32762: from 62.148.2xx.xxx lookup ISP1
32763: from 62.102.1xx.xxx lookup ISP2
32764: ....
32765: ....
32766: from all lookup main
32767: from all lookup default

SunPa
()
Ответ на: комментарий от SunPa

И правда !
Было:
gw:/init.d# ip rule list
0: from all lookup local
32763: from 62.5.х.ххх lookup mtu
32764: from 213.167.ххх.хх lookup sitek
32765: from all fwmark 1 lookup bind
32766: from all lookup main
32767: from all lookup default
Добавил:
from all to 192.168.1.0/24 lookup main и все заработало !

Yakuza
()
Ответ на: комментарий от anonymous

to SunPa

Ты не мог бы написать комманды которые вводил. Я просто с iproute2 только разбираюсь и они помогли бы мне разобраться побольше. И вообще было бы хорошо если ты ещё их и пояснил.

to Yakuza Ты набирал так? #ip route from all to 192.168.1.0/24 lookup main

Если да - прошу обяснения вводимого.

anonymous
()
Ответ на: комментарий от anonymous

Нет, правила по-другому пишутся.
ip rule add from _мойвнешнийIP1_ to 192.168.1.0/24 table main
ip rule add from _мойвнешнийIP2_ to 192.168.1.0/24 table main


Yakuza
()
Ответ на: комментарий от Yakuza

Понял, Спасибо!

А если надо разделить сети, то так работать будет?

ip rule add from внешний_IP1 to 10.1.1.0/24 table main ip rule add from внешний_IP2 to 192.168.1.0/24 table main

У меня задача вот какая: Сеть 10.1.1.0 выпускать только через eth0 (внешний_IP1) Сеть 192.168.1.0 выпускать только через eth3 (внешний_IP2)

anonymous
()
Ответ на: комментарий от Yakuza

Сори, но метка пакетов не подходит!

Надо просто маршрутизить.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.