У меня есть серверный блок Ubuntu 18.04 с двумя сетевыми адаптерами, каждый в своей сети, оба соединены мостом:
br0 (eno1): 192.168.18.5 / 24 br1 (eno2): 192.168.40.5 / 24
Шлюз по умолчанию настроен как 192.168.18.1 через br0.
У меня на этом сервере запущены контейнеры lxc, подключенные к br1 (192.168.40.0/24), к которым нужно получить доступ извне. Но когда я пытаюсь использовать ssh, у меня возникает тайм-аут.
Я могу использовать ssh на хост-машине или в контейнерах lxc, прикрепленных к br0 (192.168.18.0/24) интерфейс.
Это мой текущий файл конфигурации netplan:
# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: false
dhcp6: false
eno2:
dhcp4: false
dhcp6: false
bridges:
br0:
interfaces:
- eno1
dhcp4: false
dhcp6: false
addresses:
- 192.168.18.5/24
gateway4: 192.168.18.1
nameservers:
addresses:
- 9.9.9.9
- 8.8.8.8
br1:
interfaces:
- eno2
dhcp4: false
dhcp6: false
addresses:
- 192.168.40.5/24
Если я вручную создам эти правила и маршрут, то все заработает:
echo 200 custom >> /etc/iproute2/rt_tables
ip rule add from 192.168.40.5/24 table custom # this is the host on br1
ip rule add from 192.168.40.6/24 table custom # this is a lxc container on br1
ip route add default via 192.168.40.1 table custom
Затем я могу использовать ssh в 192.168.40.5 (хост-компьютер) и в 192.168.40.6 (контейнер lxc).
Но как я могу сделать это внутри конфигурации netplan?
Большое спасибо.