Skip to content

在 Arch Linux 中设置 IP 地址

在这篇文章中

备注

Arch Linux 中的网络接口通过 systemd-networkd 系统或 ip 工具进行配置。

使用 systemd-networkd 配置 DHCP

要通过 DHCP 协议配置自动获取 IP 地址,请按照以下步骤操作:

1. 准备工作

确保 systemd-networkd 服务已安装、启用并正在运行。您可以使用以下命令进行检查:

systemctl status systemd-networkd

如果服务未启用,请运行:

systemctl enable --now systemd-networkd

2. 创建配置文件

/etc/systemd/network/ 目录中,为网络接口创建一个配置文件。如果该目录不存在,请手动创建:

mkdir -p /etc/systemd/network

创建一个文件,例如 /etc/systemd/network/20-wired.network,并添加以下配置:

vi /etc/systemd/network/20-wired.network
[Match]
Name=ens1


[Network]
DHCP=yes

备注

ens1 替换为您的网络接口名称。您可以使用命令 ip link 查找接口名称。

3. 重启服务

更改后,重启 systemd-networkd 以应用设置:

systemctl restart systemd-networkd

4. 检查连接

确保已成功获取 IP 地址:

ip addr show ens1

命令输出应显示包含所获取 IP 地址的行:

5. 故障排除

如果连接不起作用:

  1. 检查 systemd-networkd 服务日志以获取详细的错误信息:

    journalctl -u systemd-networkd
    
  2. 确保 resolved 配置已正确设置,并且 systemd-resolved 服务正在运行:

    systemctl enable --now systemd-resolved
    

    检查指向 /etc/resolv.conf 文件的符号链接:

    ls -l /etc/resolv.conf
    

    如果文件未配置,请创建链接:

    bash ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf

配置静态 IP 地址

ens1 接口上配置静态 IP 地址的示例:

  1. 创建或修改 /etc/systemd/network/20-wired.network 文件,内容如下:

    [Match]
    Name=ens1
    
    
    [Network]
    Address=192.168.1.100/24
    Gateway=192.168.1.1  # 指定您的网关 IP 地址
    DNS=8.8.8.8 8.8.4.4
    
    • Address:设置设备的静态 IP 地址。在此示例中,使用 192.168.1.100
    • Gateway:指定网络网关的 IP 地址。这通常是路由器的 IP 地址,例如 192.168.1.1
    • DNS:指定 DNS 服务器。在此示例中,使用公共 Google DNS 服务器。
  2. 通过重启 systemd-networkd 服务应用设置:

    systemctl restart systemd-networkd
    
  3. 验证设置是否正确应用:

    ip addr show ens1
    

您应该在列表中看到指定的 IP 地址:

警告

为确保 DNS 参数正常工作,请确保 systemd-resolved 已启用并正在运行:

systemctl enable --now systemd-resolved 

如有必要,将 /etc/resolv.conf 配置为指向 systemd-resolved 的符号链接:

sudo ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf  

应用配置

设置网络后,您可以使用以下命令检查其状态:

ip addr show 
或查看路由参数:

ip route show  
更多信息,请参阅 Arch Linux 官方文档

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×