为了替代我的 ISP 路由器,我决定使用 ArchLinux 构建一个自定义路由器并将其直接连接到 ONT。我的 ISP 通过将服务分为不同的 VLAN 来应用 QoS。 Internet 服务由 VLAN 12 提供。
因此,我使用以下配置创建了 VLAN 接口
文件 -> /etc/systemd/network/20-enp0s20f0.network
[Match]
Name=enp0s20f0
[Link]
RequiredForOnline=yes
[Network]
DHCP=no
VLAN=enp0s20f0.12
LinkLocalAddressing=no
文件 -> /etc/systemd/network/20-enp0s20f0.12.netdev
[NetDev]
Name=enp0s20f0.12
Kind=vlan
[VLAN]
Id=12
文件 -> /etc/systemd/network/20-enp0s20f0.12.network
[Match]
Name=enp0s20f0.12
[Link]
RequiredForOnline=yes
[Network]
DHCP=ipv4
LinkLocalAddressing=no
[DHCPv4]
SendHostname=no
UseNTP=no
UseDNS=no
重新启动 systemd-networkd 后,将创建 vlan 接口,但还会创建第二个接口。
enp0s20f0.12: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet xxx.yyy.zzz.iii netmask 255.255.255.0 broadcast xxx.yyy.zzz.iii
ether 31:91:8f:92:59:20 txqueuelen 1000 (Ethernet)
RX packets 78540 bytes 525492249 (501.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 98901 bytes 15388297 (14.6 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
enp0s20f0.12-if: flags=195<UP,BROADCAST,RUNNING,NOARP> mtu 1500
inet6 fe80::ac8a:12ff:fe46:ad6d prefixlen 64 scopeid 0x20<link>
ether ae:8a:12:46:ad:6d txqueuelen 32 (Ethernet)
RX packets 78511 bytes 526426271 (502.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 78511 bytes 526426271 (502.0 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
显然,第二个接口接收数据,但我的系统没有使用它。谁能给我解释一下这个额外的接口是什么?谢谢你!
答案1
第二个接口为您的 ipv6 接口提取所需的链路本地地址。欲了解更多信息,请参阅:https://en.wikipedia.org/wiki/Link-local_address#IPv6_address