Я настраиваю облачную среду на 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.