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

Как настроить сетевые интерфейсы для трех сетевых карт в трех разных подсетях

Я настраиваю облачную среду на Ubuntu и сталкиваюсь с интересной проблемой. Из коробки Ubuntu (на самом деле все Linux) не позволяет вам указывать более одного шлюза в / etc / network / interfaces

Поскольку я не использую DHCP ни для одной из сетевых адаптеров, и я использую виртуальные локальные сети на своем коммутаторе и маршрутизаторе (см. Изображение ниже), мне нужно, чтобы каждая сетевая карта на этом сервере имела не только собственный IP-адрес, но и собственный шлюз. Так как vLAN 2, которая является 10.0.1.0/24, не может получить доступ к 10.0.0.1, который является шлюзом по умолчанию, но недоступен из-за сетевой маски 255.255.255.0.

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

# ip route add default via 10.0.1.1 dev eth1 table eth1
RTNETLINK answers: File exists

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

Итак, вот ответ после того, как вы приняли предложение Мэтта и пошли путем проб и ошибок.

Команда, которую я использовал, имела следующий шаблон ip route, добавленный через dev

Последняя команда на самом деле была

# ip route add 10.0.1.31 via 10.0.1.1 dev eth1
# ip route add 10.0.2.31 via 10.0.2.1 dev eth2

После их добавления у меня не возникло проблем с пингом между IP-адресами во vLAN .. Потрясающе ...

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

Также, чтобы они были постоянными, я добавил их в конфигурационный файл / etc / network / interfaces в качестве конфигураций post-up. Итак, я закончил с этой строкой для eth1 и eth2, но оставил eth0 в покое, так как он может использовать шлюз по умолчанию

post-up route add 10.0.1.31 via 10.0.1.1 dev eth1

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