Есть сервер с несколькими каналами доступа в интернет. Маршрут по умолчанию сконфигурирован так:
Код: Выделить всё
default
nexthop via 62.205.x.y dev eth1 weight 1
nexthop via 212.48.c.d dev vlan144 weight 3
nexthop via 217.12.e.f dev vlan253 weight 3На один из интерфейсов добавлено несколько ip-адресов:
Код: Выделить всё
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP ql
link/ether 00:17:9a:3a:60:a0 brd ff:ff:ff:ff:ff:ff
inet 62.205.a.b/28 brd 62.205.x.y scope global eth1
inet 62.205.c.d/28 brd 62.205.x.y scope global secondary eth1
inet 62.205.e.f/28 brd 62.205.x.y scope global secondary eth1
inet 62.205.g.h/28 brd 62.205.x.y scope global secondary eth1Зачем этого надо - через эти адреса доступно ряд устройств внутри сети и выходит один из компьютеров, средствами iptables настроен NAT.
Для маршрутизации заданы следующие правила:
Код: Выделить всё
32753: from 62.205.a.b lookup T1
32754: from 62.205.c.d lookup T1
32755: from 62.205.e.f lookup T1
32756: from 62.205.g.h lookup T1
...................................
32766: from all lookup main
32767: from all lookup defaultВ таблице T1 прописан маршрут по умолчанию для данного интерфейса - default via 62.205.x.y dev eth1.
Проблема в том, что при данной конфигурации выход в сеть через 62.205.c.d не работает, пакеты не идут через маршрут по умолчанию.
Когда я запрашиваю маршрут вывод следующий:
Код: Выделить всё
ip r get 8.8.8.8 from 62.205.c.d
8.8.8.8 from 62.205.c.d via 62.205.x.y dev eth1
cache mtu 1500 advmss 1460 hoplimit 64tcpdump показывает следующее:
Код: Выделить всё
17:05:33.942019 IP 62.205.c.d > 8.8.8.8: ICMP echo request, id 512, seq 64265, length 40
17:05:33.943402 IP 217.12.251.1 > 62.205.c.d: ICMP host 8.8.8.8 unreachable - admin prohibited filter, length 36
17:05:34.942045 IP 62.205.c.d > 8.8.8.8: ICMP echo request, id 512, seq 64521, length 40
17:05:34.943478 IP 217.12.251.1 > 62.205.c.d: ICMP host 8.8.8.8 unreachable - admin prohibited filter, length 36
17:05:35.942103 IP 62.205.c.d > 8.8.8.8: ICMP echo request, id 512, seq 64777, length 40
17:05:35.943318 IP 217.12.251.1 > 62.205.c.d: ICMP host 8.8.8.8 unreachable - admin prohibited filter, length 36Если пинговать дефолтный шлюз 62.205.x.y, то пакеты проходят.
На "жертве", компьютер с WindowsXP, это выглядит следующим образом - либо сразу "Сеть не доступно", либо после некоторого времени "Превышено время ожидания".
Как только я переключился на использование одного канала с шлюзом 62.205.x.y всё сразу заработало.
Складывается непонятная для меня ситуация, с одной стороны роутинг прописан правильно, как мне кажется, с другой - пакеты идут по совершенно другому маршруту.
Где я ошибся в конфигурировании системы или я не учитываю некие факторы?
Спасибо.