我正在尝试在 debian 9 上使用 systemd networkd 设置以下内容:
- 来自 DHCP 服务器的接口 eth0 IP 地址
- eth0 上的接口 vlan5 vlan id 5,具有静态 ip 地址:172.16.0.1
这是配置:
/etc/systemd/network/20-wired.network
[Match]
Name=eth0
[Network]
DHCP=ipv4
VLAN=vlan5
/etc/systemd/network/vlan5.netdev
[NetDev]
Name=vlan5
Kind=vlan
[VLAN]
Id=5
/etc/systemd/network/vlan5.network
[Match]
Name=vlan5
[Network]
DHCP=no
Address=172.16.0.1/24
当我执行时ip addr show
:
4: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 78:a5:04:f1:12:46 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.31/24 brd 192.168.1.255 scope global dynamic eth0
valid_lft 2854sec preferred_lft 2854sec
inet 192.168.1.85/24 brd 192.168.1.255 scope global secondary eth0
valid_lft forever preferred_lft forever
inet6 2a02:a03f:8584:e200:7aa5:4ff:fef1:1246/64 scope global deprecated mngtmpaddr noprefixroute dynamic
valid_lft 56463sec preferred_lft 0sec
inet6 fe80::7aa5:4ff:fef1:1246/64 scope link
valid_lft forever preferred_lft forever
5: vlan5@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 78:a5:04:f1:12:46 brd ff:ff:ff:ff:ff:ff
inet 172.16.0.1/24 brd 172.16.0.255 scope global vlan5
valid_lft forever preferred_lft forever
inet 169.254.243.53/16 brd 169.254.255.255 scope global vlan5
valid_lft forever preferred_lft forever
inet6 fe80::7aa5:4ff:fef1:1246/64 scope link
valid_lft forever preferred_lft forever
这证实了 eth0 从我们的 dhcp 获得了一个 IP 地址,无论出于何种原因,他甚至有 2 个 IP 地址:192.168.1.31 和 192.168.1.85,但至少它可以工作。
Vlan5也有2个IP地址:172.16.0.1/24和169.254.243.53/16。如果我使用 IP 172.16.0.15 连接此 VLAN 上的主机,则无法访问 172.16.0.1。
如果我连接一个ip为169.254.243.55的主机,我可以通过169.254.243.53访问该主机,所以看起来vlan至少是有效的。
但我不明白为什么这个169.254.243.53地址被添加到vlan5接口以及为什么我无法访问172.16.0.1。有任何想法吗?
答案1
我自然不知道你的精确的设置,但我认为这里发生了两件事。我的设置与您的设置类似,因为我有一个本机(未标记)VLAN,其子网为 192.168.1.0/24,而 VLAN20 则在子网 192.168.2.0/24 的同一接口上运行。
首先,169.254.243.53 地址是自动分配的链路本地地址。我已经在我的设备上禁用了此功能,LinkLocalAddressing=no
如下所示:
# cat eth0.network
[Match]
Name=eth0
[Link]
RequiredForOnline=yes
[Network]
Address=192.168.1.14/24
Gateway=192.168.1.1
DHCP=no
DNS=192.168.1.7
NTP=192.168.1.7
LLDP=yes
EmitLLDP=yes
LinkLocalAddressing=no
VLAN=vlan20
我是不是在该设备上使用 DHCP 来配置接口,因此我必须配置 DNS、NTP 和默认网关等内容,这让我想到第二件事:您的路由表是什么样的,即 , 的ip route
输出两个都设备?