У меня есть машина Red Had Linux с двумя сетевыми картами:
Итак, первый находится в подсети класса A, а второй - в подсети класса C.
Вот как выглядит моя таблица маршрутизации:
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.1.0 * 255.255.255.0 U 0 0 0 eth1
link-local * 255.255.0.0 U 1002 0 0 eth0
10.0.0.0 * 255.0.0.0 U 0 0 0 eth0
default 10.0.0.1 0.0.0.0 UG 0 0 0 eth0
Две сетевые карты подключены к отдельным физическим (фактически виртуальным) сегментам LAN, и у меня есть хост, подключенный к тому же сегменту LAN, что eth0 с IP 10.0.1.3 | 255.0.0.0, но я не могу пинговать его с этого компьютера, потому что он запутался и отправил eth1. Когда я отключаю eth1, чтобы пакет выходил из eth0, он подключается, но мне нужно, чтобы оба были включены.
Я думаю, что решение состоит в том, чтобы добавить ручной маршрут к моему хосту 10.0.1.3, чтобы заставить его проходить через eth0. Я не уверен, учитывая приведенную выше информацию, какой должна быть команда для ручного маршрута. В основном мне нужно отправить любой трафик на 10.0.1.3 из eth0. Любая помощь была бы замечательной !!
На более новой машине с помощью ip
двоичный синтаксис для добавления маршрута немного отличается (но, к счастью, действительно согласован для хостов / сетей / и т. д.).
ip route add 10.0.1.3 via 10.0.0.1 dev eth0
Если вы собирались добавить новый маршрут по умолчанию для нового 10.0.2.0
сеть через eth1
интерфейс это может быть что-то вроде этого.
ip route add 10.0.2.0/24 via 10.0.1.1 dev eth1
# route add -host 10.0.1.3 dev eth0