Debian 12 使用 systemd-networkd 配置网络

检查

使用 systemctl status systemd-networkdnetworkctl status 命令可以检查当前是否由 systemd-networkd 管理网络。

下面的实例中,可以发现 systemd-networkd 在管理网络。

root@Debian:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; pre>
     Active: active (running) since Fri 2025-05-02 09:36:05 UTC; 12min ago
root@Debian:~# systemctl status systemd-networkd
● systemd-networkd.service - Network Configuration
     Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled; pre>
     Active: active (running) since Fri 2025-05-02 09:36:05 UTC; 13min ago
TriggeredBy: ● systemd-networkd.socket
       Docs: man:systemd-networkd.service(8)
             man:org.freedesktop.network1(5)
   Main PID: 649 (systemd-network)
     Status: "Processing requests..."
      Tasks: 1 (limit: 9484)
     Memory: 1.5M
        CPU: 214ms
     CGroup: /system.slice/systemd-networkd.service
             └─649 /lib/systemd/systemd-networkd

May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Gained carrier
May 02 09:36:05 Debian systemd-networkd[649]: lo: Link UP
May 02 09:36:05 Debian systemd-networkd[649]: lo: Gained carrier
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Gained IPv6LL
May 02 09:36:05 Debian systemd-networkd[649]: Enumeration completed
May 02 09:36:05 Debian systemd[1]: Started systemd-networkd.service - Network C>
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Configuring with /etc/sy>
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Lost carrier
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Gained carrier

root@Debian:~# networkctl status
●        State: routable                                          
  Online state: online                                            
       Address: 192.168.6.202 on enp6s16
                2409:8a38:4c20:50c1::e8e on enp6s16
                2409:8a38:4c20:50c1:f263:f9ff:fe17:92a2 on enp6s16
                fe80::f263:f9ff:fe17:92a2 on enp6s16
       Gateway: 192.168.6.254 on enp6s16
                fe80::f263:f9ff:fe17:92a1 on enp6s16

May 02 09:36:05 Debian systemd-networkd[649]: lo: Gained carrier
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Gained IPv6LL
May 02 09:36:05 Debian systemd-networkd[649]: Enumeration completed
May 02 09:36:05 Debian systemd[1]: Started systemd-networkd.service - Network C>
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Configuring with /etc/sy>
May 02 09:36:05 Debian systemd[1]: Starting systemd-networkd-wait-online.servic>
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Lost carrier
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: Gained carrier
May 02 09:36:05 Debian systemd-networkd[649]: enp6s16: DHCPv6 address 2409:8a38>
May 02 09:36:07 Debian systemd[1]: Finished systemd-networkd-wait-online.servic>

配置

systemd-networkd 的网络配置文件位于 /etc/systemd/network 目录。

使用以下两个简单的示例,可以快速配置网络。

DHCP

创建文件 /etc/systemd/network/dhcp.network

[Match]
Name=en*

[Network]
DHCP=yes

静态 IPv4

创建文件 /etc/systemd/network/static.network

[Match]
Name=en*

[Network]
Address=192.168.0.15/24
Gateway=192.168.0.1

设置 MTU

在网络配置文件中添加一节

[Link]
MTUBytes=9000

其他说明

文件名以 .network 结尾,前半部分主要用于区分不同的配置,可以自行设置。

Match 中的 Name 用于匹配网卡名称,使用 * 可以通配。

重启服务

修改了配置文件后,需要重启网络服务。

systemctl restart systemd-networkd

参考

https://www.debian.org/doc/manuals/debian-reference/ch05.zh-cn.html#_the_modern_network_configuration_for_cloud_with_network_manager

https://bbs.archlinux.org/viewtopic.php?id=237885

本文链接:

https://blog.nkxingxh.top/archives/564/
1 + 6 =
快来做第一个评论的人吧~