PDA

Просмотр полной версии : Вопрос по маршрутизации


InS7
12.10.2008, 21:59
есть сервант, на нем две сетевки (где это я уже говорил)

поднимаются такие маршруты:
$ cat /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.20.165.252
netmask 255.255.255.0
#dns-nameservers 194.185.172.133 217.77.52.252

auto eth1
iface eth1 inet static
hwaddress ether 00:80:AD:79:1D:70
address 195.209.249.149
netmask 255.255.255.252
gateway 195.209.249.150
dns-nameservers 192.168.30.249 194.85.172.133

up route add -net 172.16.0.0 netmask 255.240.0.0 gw 172.20.165.254
up route add -net 195.218.227.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 195.190.117.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 81.211.111.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 84.204.137.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 195.161.25.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 195.161.38.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 217.106.115.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 217.107.58.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 217.107.180.0 netmask 255.255.252.0 gw 172.20.165.254
up route add -net 217.107.240.0 netmask 255.255.252.0 gw 172.20.165.254
up route add -net 195.161.136.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 195.161.147.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 213.59.10.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 217.107.182.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 217.107.241.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 62.33.22.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 62.33.26.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 62.33.18.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 172.16.0.0 netmask 255.240.0.0 gw 172.20.165.254
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.20.165.254
up route add -net 213.232.246.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 213.232.246.248 netmask 255.255.255.252 gw 172.20.165.254
up route add -net 193.232.254.0 netmask 255.255.255.0 gw 172.20.165.254
up route add -net 194.85.172.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 195.209.248.0 netmask 255.255.254.0 gw 172.20.165.254
up route add -net 217.107.242.0 netmask 255.255.254.0 gw 172.20.165.254


смотрим route -n
$ route -n

Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.209.249.148 0.0.0.0 255.255.255.252 U 0 0 0 eth1
195.161.25.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
84.204.137.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.190.117.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.106.115.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
81.211.111.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
172.20.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
62.33.22.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.218.227.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.241.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
213.59.10.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.147.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.38.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.182.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
62.33.26.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
195.161.136.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.58.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
62.33.18.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.240.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
217.107.180.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
172.16.0.0 172.20.165.254 255.240.0.0 UG 0 0 0 eth0
0.0.0.0 195.209.249.150 0.0.0.0 UG 0 0 0 eth1


как видно некоторых маршрутов нет, например
up route add -net 10.0.0.0 netmask 255.0.0.0 gw 172.20.165.254

подскажите почему так

Добавлено через 3 минуты
зы. главное все работает, пингуется на локальный адрес из 10.0.0.0/8

rmn
12.10.2008, 22:16
InS7, а вручную маршрут добавляется? В логах ничего не остаётся по этому поводу?

Вообще, правильнее все команды route вынести в отдельный скрипт, например, /etc/routes.sh
Проверить, что после его запуска все маршруты нормально заносятся в таблицу маршрутизации. А затем в /etc/network/interfaces сделать

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 172.20.165.252
netmask 255.255.255.0
#dns-nameservers 194.185.172.133 217.77.52.252
post-up /etc/routes.sh

auto eth1
iface eth1 inet static
hwaddress ether 00:80:AD:79:1D:70
address 195.209.249.149
netmask 255.255.255.252
gateway 195.209.249.150
dns-nameservers 192.168.30.249 194.85.172.133

InS7
12.10.2008, 22:45
а вручную маршрут добавляется? В логах ничего не остаётся по этому поводу?

в логах ничего по этому поводу нет
да добавляются без проблем


Вообще, правильнее все команды route вынести в отдельный скрипт, например, /etc/routes.sh
все таки мне кажется что они должны быть там где должны,
чтобы когда апаешь или рестартишь сетевку - они адекватно удалялись и восстанавливались


если посмотреть на мой листинг то там видно что есть два одинаковых маршрута

up route add -net 172.16.0.0 netmask 255.240.0.0 gw 172.20.165.254
и после второго идут маршрута которые не добавились, возможно тут собака зарыта

rmn
12.10.2008, 22:51
в логах ничего по этому поводу нет
да добавляются без проблем


все таки мне кажется что они должны быть там где должны,
чтобы когда апаешь или рестартишь сетевку - они адекватно удалялись и восстанавливались
для этого надо сделать два скрипта, скажем, /etc/add_routes.sh и /etc/del_routes.sh
первый post-up, второй post-down


если посмотреть на мой листинг то там видно что есть два одинаковых маршрута

up route add -net 172.16.0.0 netmask 255.240.0.0 gw 172.20.165.254
и после второго идут маршрута которые не добавились, возможно тут собака зарыта
Вынеси всё в скрипт и запусти его :) Если будет где-то затык, будет ясно, в какой строке.

InS7
12.10.2008, 23:00
Вынеси всё в скрипт и запусти его Если будет где-то затык, будет ясно, в какой строке.

3k304-02:~# /etc/del_routes.sh
3k304-02:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.209.249.148 0.0.0.0 255.255.255.252 U 0 0 0 eth1
172.20.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 195.209.249.150 0.0.0.0 UG 0 0 0 eth1
3k304-02:~# /etc/add_routes.sh
3k304-02:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
213.232.246.248 172.20.165.254 255.255.255.252 UG 0 0 0 eth0
195.209.249.148 0.0.0.0 255.255.255.252 U 0 0 0 eth1
195.161.25.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
84.204.137.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.190.117.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.106.115.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
81.211.111.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
172.20.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
62.33.22.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.218.227.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.241.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
213.59.10.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
193.232.254.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.147.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.38.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.182.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
62.33.26.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
195.161.136.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.58.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.242.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
195.209.248.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
213.232.246.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
62.33.18.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
194.85.172.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.240.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
217.107.180.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
172.16.0.0 172.20.165.254 255.240.0.0 UG 0 0 0 eth0
10.0.0.0 172.20.165.254 255.0.0.0 UG 0 0 0 eth0
0.0.0.0 195.209.249.150 0.0.0.0 UG 0 0 0 eth1

все пахаит...
может всетаки это было дело в повторяющемся маршруте?

rmn
12.10.2008, 23:13
InS7, хз. Сейчас в /etc/add_routes.sh повторяющегося маршрута нет? А если добавить, отрабатывает без ошибок? :) После заполнения таблицы маршрутизации отсутствует только один маршрут, или все-таки несколько? :)

InS7
12.10.2008, 23:37
А если добавить, отрабатывает без ошибок?
ругается на ошибку но добавляет всё

3k304-02:~# del/etc/add_routes.sh
3k304-02:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
195.209.249.148 0.0.0.0 255.255.255.252 U 0 0 0 eth1
172.20.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 195.209.249.150 0.0.0.0 UG 0 0 0 eth1
3k304-02:~# /etc/add_routes.sh
SIOCADDRT: Файл существует
3k304-02:~# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
213.232.246.248 172.20.165.254 255.255.255.252 UG 0 0 0 eth0
195.209.249.148 0.0.0.0 255.255.255.252 U 0 0 0 eth1
195.161.25.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
84.204.137.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.190.117.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.106.115.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
81.211.111.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
172.20.165.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
62.33.22.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.218.227.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.241.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
213.59.10.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
193.232.254.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.147.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
195.161.38.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
217.107.182.0 172.20.165.254 255.255.255.0 UG 0 0 0 eth0
62.33.26.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
195.161.136.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.58.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.242.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
195.209.248.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
213.232.246.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
62.33.18.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
194.85.172.0 172.20.165.254 255.255.254.0 UG 0 0 0 eth0
217.107.240.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
217.107.180.0 172.20.165.254 255.255.252.0 UG 0 0 0 eth0
172.16.0.0 172.20.165.254 255.240.0.0 UG 0 0 0 eth0
10.0.0.0 172.20.165.254 255.0.0.0 UG 0 0 0 eth0
0.0.0.0 195.209.249.150 0.0.0.0 UG 0 0 0 eth1
это если добавить повторяющийся, без него все ок
Добавлено через 6 минут
rmn, так ты советуешь не оставлять в таком виде /etc/network/interfaces или теперь все будет ок?

rmn
12.10.2008, 23:48
InS7, я считаю, что в debian правильнее выносить ЭТО в отдельные скрипты. Да и сам конфиг interfaces проще читается и логичнее всё выглядит при этом. :)

А не работало, видимо, из-за особенностей разбора /etc/network/interfaces, где поочередно анализируется статус завершения каждой up-опции. Скажем, если одна из них завершилась с ошибкой, остальные не выполняются. Надо курить описание. :)

InS7
13.10.2008, 00:08
rmn, спасиб за ответ, сделаю тогда через post-up