Назад | Перейти на главную страницу

Сервер с 3 сетевыми картами

Полностью отредактировано:

У меня 3 ник со ссылками eth0 eth1 eth2. Сделал 3 стола Т1 Т2 Т3. В / etc / network / interfaces я написал:

auto eth0
iface eth0 inet static
        address 1.0.0.1
        netmask 255.255.255.0
        post-up ip route add 1.0.0.2/32 dev eth0 src 1.0.0.1 table T1
        post-up ip route add default via 1.0.0.2 table T1
        post-up ip rule add from 1.0.0.1 table T1
        post-down ip rule del from 1.0.0.1 table T1

auto eth1
iface eth1 inet static
        address 2.0.0.1
        netmask 255.255.255.0
        post-up ip route add 2.0.0.2/32 dev eth1 src 2.0.0.1 table T2
        post-up ip route add default via 2.0.0.2 table T2
        post-up ip rule add from 2.0.0.1 table T2
        post-down ip rule del from 2.0.0.1 table T2

auto eth2
iface eth2 inet static
        address 3.0.0.1
        netmask 255.255.255.0
        post-up ip route add 3.0.0.2/32 dev eth2 src 3.0.0.1 table T3
        post-up ip route add default via 3.0.0.2 table T3
        post-up ip rule add from 3.0.0.1 table T3
        post-down ip rule del from 3.0.0.1 table T3

Итак, я сделал перезапуск, все интерфейсы открылись, и мне нужно добавить такое правило, потому что нет шлюза:

ip route add default scope global nexthop via 1.0.0.2 dev eth0 weight 1 nexthop via 2.0.0.2 eth1 weight 1 nexthop via 3.0.0.2 eth2 weight 1

Но после этой команды я получаю ошибку:

RTNETLINK answers: Invalid argument

Итак, что случилось? Я использовал это руководство https://www.debian-administration.org/articles/377

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

У вас есть в вашей конфигурации шлюз по умолчанию для всего интерфейса, который не будет работать. Ключ к пониманию - посмотреть на вашу таблицу маршрутизации (обычно это показывает команда "route").

Вы увидите, что у вас есть 3 выхода для движения транспорта. Так что же произойдет? Будет использован один из маршрутов. Но вернется ли ответ (скажем, на пинг) через тот же интерфейс? Скорее всего нет.

Итак, вам нужно решить все, чтобы направить этот трафик и соответствующим образом настроить маршруты. Автоматически трафик, идущий в ту же сеть, что и интерфейс, будет проходить через этот интерфейс. У вас должен быть только 1 шлюз DEFAULT (поэтому он называется DEFAULT - это когда нет лучшего маршрута). Затем сформируйте свой трафик так, как вы этого хотите.

Вы не предоставляете IP-адреса, поэтому мы мало чем можем здесь помочь. Поскольку я не могу сказать, все ли они в одной подсети или нет. Это все 192.168.5.xxx или они разные?

Вы пытаетесь добиться, чтобы каждый из ваших почтовых серверов выходил через соответствующую линию ISP. Вы не указываете, какое программное обеспечение электронной почты вы используете, поэтому я возьму Postfix. Вы можете настроить postfix для привязки к определенному интерфейсу. Это должно заставить вашу электронную почту пройти через него. Для этого вы можете настроить запись маршрута, которая будет отправлять трафик на этот сетевой адаптер через шлюз для этого сетевого адаптера.

Во-первых, eth2 не будет работать из-за опечатки в конфигурационном файле: gateway XXX.XXX.XXX.255 должно быть gateway XXX.XXX.XXX.254

Во-вторых, XXX.XXX.XXX.71 должен отвечать на эхо-запрос, если XXX.XXX.XXX.213 поступает с того же компьютера. Если этого не произойдет, то, возможно, eth1 не работает (вывод ifconfig -a может помочь) или ваш брандмауэр отбрасывает все пакеты на eth1, но не на eth0, или, может быть, у вас проблема с сетью (неисправный кабель, неверно настроенный коммутатор), в этом случае вам следует попробовать поменять местами кабель между eth0 и eth1.

Другое дело, согласно вашей таблице маршрутизации, для исходящих соединений будет использоваться только один интерфейс. Это зависит от наборов метрик для каждого маршрута. Вы можете просмотреть свою таблицу маршрутизации с помощью ip route show

Ответ на пинг будет зависеть от вашей таблицы маршрутизации и, в частности, от вашего шлюза по умолчанию, я думаю, здесь он настроен как eth0, поэтому eth1 и eth2 не отвечают. Вам нужно будет использовать ip route и ip rule команда. Думаю, вот так: https://unix.stackexchange.com/questions/4420/reply-on-same-interface-as-incoming

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