Сегодня рассмотрим пример по Настройки сетевого моста в Ubuntu Server 18.04/20.04 LTS при помощи утилиты Netplan.
Обновление системы
Для начала давайте обновим систему, для этого в терминале набираем:
sudo apt update && sudo apt dist-upgrade -y
После смотрим какие интерфейсы у нас присутствуют в системе:
ifconfig -a
У меня имеются три сетевых интерфейса: enp0s3, enp0s8 и enp0s9.
enp0s3 − смотрит в интернет;
enp0s8 и enp0s9 − смотрят в локальную сеть 1 и 2 соответственно
Настройка сетевого моста в Ubuntu Server
Открываем на редактирование файл 50-cloud-init.yaml расположенный в /etc/netplan
sudo nano /etc/netplan/50-cloud-init.yaml
И вносим в него изменения. Вот пример моего файла.
Не забываем, что файл теперь чувствителен к лишним пробелам и табуляциям
Пример:
network:
ethernets:
enp0s3:
addresses: []
dhcp4: true
optional: true
enp0s8:
addresses: []
dhcp4: false
enp0s9:
addresses: []
dhcp4: false
bridges:
br0:
interfaces: [enp0s8,enp0s9]
addresses:
- 10.10.10.1/24
dhcp4: false
nameservers:
addresses:
- 10.10.10.1
- 8.8.8.8
search:
- dom
- lan
routes:
- to: 10.5.7.0/24
via: 10.5.5.1
metric: 3
optional: true
version: 2
IP адреса меняем на свои, а также названия интерфейсов
Также блок routes можете удалить, я привел его для общего понимания настройки сети в ubuntu server 18.04/20.04.
Он необходим для того, чтобы настроить маршрутизацию. Например: имеется сеть 10.5.7.0 на сервере, к которому подключается мой сервер через интерфейс enp0s3 или же у вас в локальной сети имеется дополнительные сервера, то прописав данную конфигурацию наш сервер будет знать о сети 10.5.7.0 и пакеты из сети 10.10.10.0 смогут попасть в сеть 10.5.7.0 через сервер с IP адресом 10.5.5.1
После внесения изменений ваш конфигурационные файл можно протестировать следующей командой:
sudo netplan try
Если все отлично, то через 120 секунд конфигурация применится автоматом. Убедимся, что все в порядке.
ifconfig
У меня вывод вот такой:
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.10.10.1 netmask 255.255.255.0 broadcast 10.10.10.255
inet6 fe80::d9:a3ff:fe18:84ed prefixlen 64 scopeid 0x20<link>
ether 02:d9:a3:18:84:ed txqueuelen 1000 (Ethernet)
RX packets 422615588 bytes 24951054868 (24.9 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 66 bytes 5136 (5.1 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.5.5.41 netmask 255.255.255.0 broadcast 10.5.5.255
inet6 fe80::a00:27ff:fef4:9314 prefixlen 64 scopeid 0x20<link>
ether 08:00:27:f4:93:14 txqueuelen 1000 (Ethernet)
RX packets 2763 bytes 578556 (578.5 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1549 bytes 640356 (640.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:06:d2:9d txqueuelen 1000 (Ethernet)
RX packets 211366705 bytes 15438178070 (15.4 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 211248954 bytes 15429500456 (15.4 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:00:27:1f:b2:78 txqueuelen 1000 (Ethernet)
RX packets 211248885 bytes 15429495190 (15.4 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 211366652 bytes 15438174160 (15.4 GB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 538 bytes 35601 (35.6 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 538 bytes 35601 (35.6 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как видим все не так уж и трудно :)
[endtxt]