4

Я хочу, чтобы systemd-networkd игнорировал маршрут по умолчанию, выдаваемый DHCP на одном интерфейсе.

Моя рабочая настройка имеет 3 сетевых интерфейса. У меня есть один файл .network для каждого интерфейса:

eth0) интернет

[Match]
Name=eth0
[Network]
DHCP=yes
DNS=127.0.0.1

eth1) локальная сеть тестирования

[Match]
Name=eth1

[Network]
Address=192.168.78.1/24
IPForward=ipv4
IPMasquerade=yes
DHCPServer=yes

[DHCPServer]
PoolOffset=10
PoolSize=100
EmitDNS=yes
DNS=192.168.78.1

eth2) Подключение VPN-роутера к основному сайту.

[Match]
Name=eth2

[Network]
DHCP=ipv4

[Route]
Gateway=10.3.10.1
Destination=10.100.102.0/24
Metric=0

[Route]
Gateway=10.3.10.1
Destination=10.3.13.0/24
Metric=0

[Route]
Gateway=10.3.10.1
Destination=10.3.14.0/24
Metric=0

[DHCP]
UseDNS=false
SendHostname=true
UseRoutes=false
RouteMetric=2000

vnet0) интерфейс моста без подключения к реальному интерфейсу для виртуальных машин

[Match]
Name=vnet0

[Network]
Address=192.168.77.1/24
IPForward=ipv4
IPMasquerade=yes
DHCPServer=yes

[DHCPServer]
PoolOffset=10
PoolSize=100
EmitDNS=yes
DNS=192.168.77.1

Как вы видите, UseRoutes=false установлено, и все же у меня есть маршрут по умолчанию в сети eth2:

default via 192.168.178.1 dev eth0  proto dhcp  src 192.168.178.52  metric 1024 
default via 10.3.10.1 dev eth2  proto dhcp  src 10.3.10.196  metric 2000 
10.3.10.0/24 dev eth2  proto kernel  scope link  src 10.3.10.196 
10.3.10.1 dev eth2  proto dhcp  scope link  src 10.3.10.196  metric 2000 
192.168.77.0/24 dev vnet0  proto kernel  scope link  src 192.168.77.1 linkdown 
192.168.78.0/24 dev eth1  proto kernel  scope link  src 192.168.78.1 
192.168.178.0/24 dev eth0  proto kernel  scope link  src 192.168.178.52 
192.168.178.1 dev eth0  proto dhcp  scope link  src 192.168.178.52  metric 1024 

Я также попробовал UseRoutes=no что также не имеет значения. У кого-нибудь есть идеи, что я делаю не так?

версии и пакеты:

mavu  ~  uname -a
Linux saaclt0006 4.3.0-1-amd64 #1 SMP Debian 4.3.3-2 (2015-12-17) x86_64 GNU/Linux

mavu  ~  dpkg -l |grep systemd
ii  libpam-systemd:amd64                          228-2+b1                               amd64        system and service manager - PAM module
rc  libsystemd-daemon0:amd64                      215-5+b1                               amd64        systemd utility library (deprecated)
rc  libsystemd-id128-0:amd64                      215-5+b1                               amd64        systemd 128 bit ID utility library (deprecated)
rc  libsystemd-id128-0:i386                       215-5+b1                               i386         systemd 128 bit ID utility library (deprecated)
rc  libsystemd-journal0:amd64                     215-5+b1                               amd64        systemd journal utility library (deprecated)
rc  libsystemd-journal0:i386                      215-5+b1                               i386         systemd journal utility library (deprecated)
rc  libsystemd-login0:amd64                       215-5+b1                               amd64        systemd login utility library (deprecated)
ii  libsystemd0:amd64                             228-2+b1                               amd64        systemd utility library
ii  libsystemd0:i386                              228-2+b1                               i386         systemd utility library
ii  systemd                                       228-2+b1                               amd64        system and service manager
ii  systemd-shim                                  9-1                                    amd64        shim for systemd
ii  systemd-sysv                                  228-2+b1                               amd64        system and service manager - SysV links

grep systemd-networkd /var /log /syslog:

Jan  7 09:00:56 saaclt0006 systemd-networkd[12179]: wlan0: Lost carrier
Jan  7 09:01:03 saaclt0006 systemd-networkd[12179]: eth0: Gained carrier
Jan  7 09:01:05 saaclt0006 systemd-networkd[12179]: eth2: Could not set route: Network is unreachable
Jan  7 09:01:05 saaclt0006 systemd-networkd[12179]: eth2: Could not set route: Network is unreachable
Jan  7 09:01:05 saaclt0006 systemd-networkd[12179]: eth2: Could not set route: Network is unreachable
Jan  7 09:01:05 saaclt0006 systemd-networkd[12179]: eth1: Gained carrier
Jan  7 09:01:06 saaclt0006 systemd-networkd[12179]: eth1: Gained IPv6LL
Jan  7 09:01:06 saaclt0006 systemd-networkd[12179]: eth1: Configured
Jan  7 09:01:06 saaclt0006 systemd-networkd[12179]: eth2: Gained carrier
Jan  7 09:01:06 saaclt0006 systemd-networkd[12179]: eth2: DHCPv4 address 10.3.10.196/24 via 10.3.10.1
Jan  7 09:01:07 saaclt0006 systemd-networkd[12179]: eth0: DHCPv4 address 192.168.178.52/24 via 192.168.178.1
Jan  7 09:01:08 saaclt0006 systemd-networkd[12179]: eth2: Gained IPv6LL
Jan  7 09:01:08 saaclt0006 systemd-networkd[12179]: eth2: Configured
Jan  7 09:01:19 saaclt0006 systemd-networkd[12179]: eth1: Starting DHCPv6 client after NDisc timeout failed: Invalid argument
Jan  7 09:01:21 saaclt0006 systemd-networkd[12179]: eth2: Starting DHCPv6 client after NDisc timeout failed: Invalid argument

1 ответ1

0

Эта проблема действительно была ошибкой и была исправлена в версии 230 systemd.

networkd: соблюдайте параметр DHCP UseRoutes (# 3075)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .