Как настроить сетевой мост (br0) на Ubuntu Linux 14.04 и 16.04 LTS
Сетевой мост — это ничто иное, как простой технический способ соединения с внешней сетью через физический интерфейс. Это полезно при использовании виртуализации LXC/KVM/Xen/Containers и других виртуальных интерфейсов. В этом туториале будет рассказано как можно настроить мост Linux используя bridge-utils (brctl) на сервер с Ubuntu.
Пример сетевого моста:
В этом примере eth0 и eth1 — это физический сетевой интерфейс. eth0 соединяется с LAN и eth1 соединен непосредственно с оборудованием провайдера.
Установка bridge-utils
Введите команду apt-get для установки bridge-utils:
$ sudo apt-get install bridge-utils
или
$ sudo apt install bridge-utils
Результат:
Создаем сетевой мост на сервере с Ubuntu
Редактируем /etc/network/interfaces используя текстовый редактор такой как nano, vi или любой другой любимый Вами редактор, и вводим:
$ sudo cp /etc/network/interfaces /etc/network/interfaces.bakup-1-july-2016
$ sudo vi /etc/network/interfaces
Далее установим eth1 и метим его как br1, вводим:
# br1 имеет статический IPv4 адрес, шлюз для него - роутер провайдера
auto br1
iface br1 inet static
address 208.43.222.51
network 255.255.255.248
netmask 255.255.255.0
broadcast 208.43.222.55
gateway 208.43.222.49
bridge_ports eth1
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Устанавливаем eth0 и метим его как br0, вводим:
auto br0
iface br0 inet static
address 10.18.44.26
netmask 255.255.255.192
broadcast 10.18.44.63
dns-nameservers 10.0.80.11 10.0.80.12
# set static route for LAN
post-up route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.18.44.1
post-up route add -net 161.26.0.0 netmask 255.255.0.0 gw 10.18.44.1
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Заметка про br0 и DHCP
Настройки DHCP:
auto br0
iface br0 inet dhcp
bridge_ports eth0
bridge_stp off
bridge_fd 0
bridge_maxwait 0
Сохраните и закройте файл.
Перезапускаем сервер или сетевой сервис
Теперь нужно перезагрузить сервер или ввести команду для перезапуска сетевого сервиса:
$ sudo systemctl restart networking
Если используется Ubuntu 14.04 LTS или более старая версия дистрибутива, введите:
$ sudo /etc/init.d/restart networking
Команда проверки связности
Используем команду ping/ip для того, чтобы убедиться в доступности интерфейсов LAN и WAN:
# смотрим состояние br0 и br1
ip a show
# проверяем маршрутизацию
ip r
# проверяем доступность внешних ресурсов
ping -c 2 8.8.8.8
# проверяем доступность внутренней сети
ping -c 2 10.0.80.12
Результат:
Теперь можно сконфигурировать XEN/KVM/LXC контейнеры, чтобы использовать br0 и br1 и получить доступ непосредственно к Интернету или внутренней LAN. Таким образом отпадает потребность в установке специальной таблицы маршрутизации или создания iptables, SNAT правил.