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

Ubuntu Linux, Bonding и VLANS. Могу ли я настроить теги для всех интерфейсов? IE: вызов интерфейса BOND0 без IP-адреса

У меня есть сервер с несколькими связанными адаптерами, bond0.

Я не уверен (даже после обширных исследований), как вызвать устройство bond0 без IP-адреса. Я хочу, чтобы сети VLAN использовали bond0, но не имели нетегированного интерфейса на сервере.

auto eth0
iface eth0 inet manual
        bond-master bond0
auto eth1
iface eth1 inet manual
        bond-master bond0
auto bond0
iface bond0 inet static
        address 192.168.1.100
        netmask 255.255.255.0
        network 192.168.1.0
        bond-slaves none
        bond-miimon 100
        bond-mode 802.3ad
auto vlan50
iface vlan50 inet static
        address 192.168.248.241
        netmask 255.255.255.0
        network 192.168.248.0
        vlan-raw-device bond0

Вышеупомянутая конфигурация работает и работает нормально, за исключением того, что bond0 имеет адрес, которого нет в тегированной vlan.

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

Да, я мог бы просто добавить фиктивный адрес в интерфейс bond0, но мне это не кажется таким чистым.

Я пробовал следующее:

https://wiki.debian.org/NetworkConfiguration#Bringing_up_an_interface_without_an_IP_address

но это не сработало и оставило bond0 ненастроенным и, следовательно, не подключенным к сети.

ОС: Ubuntu 14.04.2 LTS

Я предполагаю, что что-то вроде этого должно работать:

auto lo
iface lo inet loopback

auto bond0
iface bond0 inet static
   pre-up ifconfig     bond0 up
   pre-up ifenslave    bond0 eth0 || /bin/true
   pre-up ifenslave    bond0 eth1 || /bin/true

   down   ifenslave -d bond0 eth0 || /bin/true
   down   ifenslave -d bond0 eth1 || /bin/true

auto bond0.50
iface bond0.50 inet static
   address 192.168.248.241
   netmask 255.255.255.0
   network 192.168.248.0

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

  1. удалить базовый интерфейс (bond0) IP с помощью команды "ip addr flush dev bond0" или "ifconfig bond0 ip 0.0.0.0"
  2. вставьте правила iptables, которые отбрасывают любой трафик, исходящий из нетегированного интерфейса (bond0), используя команду "iptables -I INPUT 1 -i bond0 -j DROP"

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