Сетевая карта выходит из строя, когда другая выходит из строя [закрыто]

У меня есть debian 8 с двумя сетевыми картами, eth0 и eth1 .

eth0 - 192.168.3.43, а eth1 - 192.168.3.44.

Оба настроены dhcp:

auto eth0
iface eth0 inet dhcp

auto eth1
iface eth1 inet dhcp

Вот таблица маршрутизации:

Destination     Gateway         Genmask         Flags Metric Ref        Use   Iface

0.0.0.0         192.168.3.1     0.0.0.0         UG    0      0        0 eth0
192.168.3.0     0.0.0.0         255.255.255.128 U     0      0        0 eth0
192.168.3.0     0.0.0.0         255.255.255.128 U     0      0        0 eth1

Проблема в том, что если я отключу кабель от eth0, я не смогу пропинговать eth1 даже с машины в том же 192.168.3.x сегмент.

Я бы понял, если бы один из них находился в другом сегменте, поскольку таблица маршрутизации показывает, что шлюз по умолчанию находится на eth0, но не тогда, когда это происходит в том же сегменте, что и моя основная машина.

что мне нужно, чтобы обе карты работали независимо друг от друга?

-3
задан 16 September 2016 в 02:54
3 ответа

Для эмуляции поведения Windows мне пришлось создать вторую таблицу маршрутизации с помощью iproute2 после настоящего руководства.

echo "1 my_route" >> /etc/iproute2/rt_tables
ip route add 192.168.x.0/24 dev eth1 src 192.168.x.y table my_route
ip route add default via 192.168.x.1 dev eth1 table my_route
ip rule add from 192.168.x.y/32 table my_route
ip rule add to 192.168.x.y/32 table my_route

После этого я мог пинговать ip eth1, даже если я удалил кабель к eth0. Связанное руководство также объясняет, как сделать эти изменения постоянными

.
0
ответ дан 5 December 2019 в 21:48

Вы идете по неправильному пути. Вы хотите, чтобы channel-bond два интерфейса были объединены в один виртуальный интерфейс, bond0, и чтобы все ваши IP-адреса были соединены в bond0. Если соединение сконфигурировано в простейшем режиме, active-backup, то специальной конфигурации коммутатора не требуется; один из двух физических интерфейсов будет использоваться для всего трафика до тех пор, пока соединение не перестанет работать, и в это время ядро переключится на использование другого интерфейса. Если я вас правильно понял, то это то, что вам нужно.

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

Если вам нужно, чтобы система имела адреса в нескольких различных подсетях, вы должны использовать VLANning поверх bond0; опять же, потребуется подключение коммутатора.

Существует множество руководств по настройке связывания каналов в debian; вики-группа Debian также имеет страницу по этому вопросу.

.
6
ответ дан 5 December 2019 в 21:48

Я думаю, что таблица маршрутизации рассказывает историю: несмотря на то, что кабель протянут, компьютер все равно предпочитает сейчас мертвый маршрут через eth0, а не через eth1. Без NetworkManager или чего-то подобного Linux не является надежным средством перемаршрутизации. Даже несмотря на то, что вы пинговалите IP-адрес eth1, компьютер не обязательно использует этот интерфейс для возврата пакета; вместо этого он строит ответ на IP-адрес источника ping и посылает, который будет использовать таблицу маршрутизации, чтобы решить, как возвращать.

.
3
ответ дан 5 December 2019 в 21:48

Теги

Похожие вопросы