LINUX.ORG.RU
ФорумAdmin

default route

 ,


0

1

Вопрос глупый, но я что-то совсем никак.

Есть два wan, и две локальные сети, которым нужно задать маршруты к этим wan.

На стенде сделал 2 вана, и одну сеть которой пытаюсь передать таблицу с маршрутизацией. После применения ip rule add from 192.168.6.0/24 table 101 с клиентской машины роут сервер перестает пинговаться. ЧЯДНТ?

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:b7:37:4a brd ff:ff:ff:ff:ff:ff inet 192.168.3.63/23 brd 192.168.3.255 scope global dynamic eth0

3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:37:8e:d5 brd ff:ff:ff:ff:ff:ff inet 192.168.3.189/23 brd 192.168.3.255 scope global dynamic eth1

4: eth2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:83:a6:32 brd ff:ff:ff:ff:ff:ff inet 192.168.6.111/24 brd 192.168.6.255 scope global eth2

#ip r

192.168.2.0/23 dev eth0 proto kernel scope link src 192.168.3.63 metric 100
192.168.2.0/23 dev eth1 proto kernel scope link src 192.168.3.189 metric 101
192.168.6.0/24 dev eth2 proto kernel scope link src 192.168.6.111 metric 100

ip route add default via 192.168.2.1 table 101
ip rule add from 192.168.6.0/24 table 101

пинг пропадает, tcpdump на роут машине

listening on eth2, link-type EN10MB (Ethernet), capture size 262144 bytes
08:50:20.426123 IP 192.168.6.112 > 192.168.6.111: ICMP echo request, id 10565, seq 372, length 64
08:50:21.449912 IP 192.168.6.112 > 192.168.6.111: ICMP echo request, id 10565, seq 373, length 64
08:50:59.194033 ARP, Request who-has 192.168.6.111 tell 192.168.6.112, length 46



Последнее исправление: krishna (всего исправлений: 6)

Логично же, что написали то и получили.
адын ip rule add from 192.168.6.0/24 table 101
и два ip route add default via 192.168.2.1 table 101

насчет main в начале много споров было, и есть аргументы не ставить ее после local, но в вашем случае думаю то что нужно

ip ru add from all prio 10 table main

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от anc

Не улавливаю,

ip route add default via 192.168.2.1 table 101

Этим я создаю таблицу 101 с маршрутом по умолчанию 192.168.2.1

ip rule add from 192.168.6.0/24 table 101

Это применит маршруты таблицы 101 к сети 192.168.6.0/24

Собственно опять. же.. мой апаратный роутер перестает пинговаться на интерфейсе eth2 192.168.6.111

и клиентская машина пытается узнать

ARP, Request who-has 192.168.6.111 tell 192.168.6.112

Как будто после включения таблицы они находятся в разных сетях, при этом ip r говорит на каком интерфейсе находится эта сеть

192.168.6.0/24 dev eth2 proto kernel scope link src 192.168.6.111 metric 100

пожалуйста, если вы видите, чего я не вижу, не понимаю, ткните меня в это.

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

Этим я создаю таблицу 101 с маршрутом по умолчанию 192.168.2.1
Это применит маршруты таблицы 101 к сети 192.168.6.0/24

И куда теперь полетит пакет от 192.168.6.112 ? Правильно, согласно созданным вами правилам в сторону 192.168.2

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

Но зачем ему отсылать пакет на 192.168.2? он ведь должен увидеть, что находится в одной сети с клиентом 192.168.6.0/24

Блин, это же не должно быть сложно, я всего то хочу пропускать траффик с отдного интерфейса на другой заданый мной интерфейс.

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

Но зачем ему отсылать пакет на 192.168.2?

Затем, что вы его попросили своим правилом. Которое имеет меньший приоритет(выполниться раньше) чем правило отправляющее в таблицу main, т.е. ваше правило сработает до «from all lookup main». Посмотрите ip ru s

anc ★★★★★
()
Ответ на: комментарий от krishna

Да все просто.

Прямые маршруты нужно просматривать всегда! Прямые маршруты автоматом добавляются только в main, значит в правилах после local нужно обязательно посмотреть main, а только после этого выбирать специфические таблицы. В main не должно быть default gateway.

А в самом конце нужно обязательно посмотреть какую-нибудь табличку с «дефолтным» шлюзом по умолчанию (у нас же их несколько), иначе в случае отсутствия специфических правил пакет дропнется. Это в первую очередь касается пакетов, которые генерируются самим роутером.

Если развлекаетесь с policy routing, то «ip ro get» помогает посмотреть куда будет отправлен пакет.

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