LINUX.ORG.RU

История изменений

Исправление iliyap, (текущая версия) :

Более элегантное решение – не использовать eth1-lan вообще. eth0-lan добавить в бридж br-lan. IP-адрес 10.0.0.254/24 удалить с eth0-lan и добавить на br-lan. br-lan использовать как устройство моста виртуалок. Адреса виртуалкам выдавать по DHCP, точно так же, как хостам в локалке:

                    +---------------------+
                    |        10.0.0.254/24|
(internet)-eth2-wan---[router]--[br-lan]----eth0-lan-(LAN)
                    |            |   |    |
                    |         vnet0 vnet1 |
                    |            |   |    |
                    |         [vm0] [vm1] |
                    +---------------------+

В терминах systemd-networkd:

# /etc/systemd/network/br-lan.netdev
[NetDev]
Name=br-lan
Kind=bridge
[Bridge]
STP=false
# /etc/systemd/network/br-lan.network
[Match]
Name=br-lan
[Network]
Address=10.0.0.254/24
IPv4Forwarding=yes
IPv6Forwarding=yes
DHCPServer=yes
# /etc/systemd/network/eth0-lan.network
[Match]
Name=eth0-lan
[Network]
Bridge=br-lan
# /etc/systemd/network/eth2-wan.network
[Match]
Name=eth2-wan
[Network]
IPMasquerade=ipv4

Исходная версия iliyap, :

Более элегантное решение – не использовать eth1-lan вообще. eth0-lan добавить в бридж br-lan. IP-адрес 10.0.0.254/32 удалить с eth0-lan и добавить на br-lan. br-lan использовать как устройство моста виртуалок. Адреса виртуалкам выдавать по DHCP, точно так же, как хостам в локалке:

                    +---------------------+
                    |        10.0.0.254/24|
(internet)-eth2-wan---[router]--[br-lan]----eth0-lan-(LAN)
                    |            |   |    |
                    |         vnet0 vnet1 |
                    |            |   |    |
                    |         [vm0] [vm1] |
                    +---------------------+

В терминах systemd-networkd:

# /etc/systemd/network/br-lan.netdev
[NetDev]
Name=br-lan
Kind=bridge
[Bridge]
STP=false
# /etc/systemd/network/br-lan.network
[Match]
Name=br-lan
[Network]
Address=10.0.0.254/24
IPv4Forwarding=yes
IPv6Forwarding=yes
DHCPServer=yes
# /etc/systemd/network/eth0-lan.network
[Match]
Name=eth0-lan
[Network]
Bridge=br-lan
# /etc/systemd/network/eth2-wan.network
[Match]
Name=eth2-wan
[Network]
IPMasquerade=ipv4