Я столкнулся со следующей проблемой. Существует сервер (Ubuntu 12.04) с двумя сетевыми адаптерами, имеющими IP-адреса 192.168.40.147 (eth0) в подсети 192.168.40.128/27 и 192.168.40.165 (eth1) в подсети 192.168.40.160/27. Теперь у нас на сервере есть следующая таблица маршрутизации:
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.40.160 * 255.255.255.224 U 0 0 0 eth1
192.168.40.128 * 255.255.255.224 U 0 0 0 eth0
default 192.168.40.161 0.0.0.0 UG 99 0 0 eth1
default 192.168.40.129 0.0.0.0 UG 100 0 0 eth0
Я пытаюсь пропинговать IP-адреса обоих серверов с 192.168.32.69 в подсети 192.168.32.1/23 и могу сделать это только для 192.168.40.165. Другой сообщает «Истекло время ожидания запроса». И если я попробую traceroute, я вижу, что всегда есть один успешный переход к шлюзу (192.168.42.65), а другой либо успешен (для 192.168.40.165), либо терпит неудачу (для 192.168.40.147).
Насколько я понимаю, все пакеты ICMP успешно попадают на сервер, но при попытке возврата, как только адрес возврата находится из подсети, отличной от 192.168.40.128/27 или 192.168.40.160/27, результирующий маршрут будет маршрутом по умолчанию. И именно тот, у которого метрика ниже: default 192.168.40.161 0.0.0.0 UG 99 0 0 eth1
. Если я поменяю метрики, то с хоста 192.168.32.69 будет доступен только адрес 192.168.40.147.
Мой вопрос в том, могу ли я каким-либо образом настроить сервер, чтобы оба IP-адреса были доступны с моего клиентского хоста?