Arch LInux | 网络管理工具iproute2(网络接口、ip地址、路由表)

一、iproute2

Arch LInux已经弃用了 net-tools,转而使用 iproute2。

iproute2提供 ip 命令行接口,用于管理网络接口,IP地址。路由表。

使用 ip 命令配置的信息会在系统重启后丢失,要进行永久配置,可以使用网络管理器或者systemd来使ip命令自动化。

安装:

yay iproute2

二、使用

iproute2相对于net-tools,替代的命令如下:

1. 网络接口管理

(1)列出当前网络接口:

ip link show


可以看到有两张网卡,有线网卡是enp42s0,无线网卡是wlo1,lo是Loop设备,不被用于建立网络连接。

如果没有看到对应的网卡,需要检查网卡驱动是否正确。

网卡名称后面的 <BROADCAST,MULTICAST,UP,LOWER_UP> 中的UP表示接口已经启动。

(2)启用和禁用网络接口

sudo ip link set interface up|down

2. ip地址管理

(1)查看ip地址:

ip address show


(2)设置静态ip地址

推荐通过网络管理器来设置,看第三节网络管理器。

3. 路由表管理

(1)列出IPv4路由:

ip route show

(2)列出IPv6路由:

ip -6 route


(3)添加路由:

ip route add PREFIX via address dev interface

(4)删除路由:

ip route del PREFIX via address dev interface

在 PREFIX 处使用 CIDR 表示法,或填入 default 表示默认网关。

三、网络管理器

网络管理器可以在网络配置文件中管理网络连接设置,以便切换网络。

网络管理器有许多种方案,这些都是互斥的,选择一种即可。

这里我使用 systemd-networkd。

1. systemd-networkd

systemd-networkd 是一个管理网络配置的系统守护进程,它会在网络设备出现时检测和配置。

systemd是Arch默认安装的一部分,包含操作有线网络所需的所有文件(无线网络管理可以用iwd或者wpa_supplicant)。

2. 基本用法

(1)启动//使能systemd-networkd

systemctl enable systemd-networkd.service

(2)启动/使能DNS解析服务(可选)

systemctl enable systemd-resolved.service

(3)查看系统上所有设备

Systemd/udev 会自动为所有本地以太网、WLAN 和 WWAN 接口分配可预测且稳定的网络接口名。

networkctl list

3. 配置

systemd-networkd的配置文件应该存储在/etc/systemd/network/目录下,文件格式为.network

我的电脑上同时想开启有线网卡和无线网卡,但数据包想优先走无线,使用了RouteMetric选项,该值越小优先级越高,手动设置网卡优先级。

(1)配置有线适配器的静态ip

编辑文件:

sudo vim /etc/systemd/network/20-wired.network

添加配置内容(不使用DNS):

[Match]
Name=enp42s0

[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
#DNS=8.8.8.8

[DHCP]
RouteMetric=100

(2)配置无线适配器的dhcp

为了能够使用 systemd-networkd 连接一个无线网络,需要一个被其他应用,比如 wpa_supplicant 或 Iwd,配置好的无线适配器。

编辑文件:

sudo vim /etc/systemd/network/25-wireless.network

添加以下配置内容:

[Match]
Name=wlp41s0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=0

(3)重启服务

在修改了配置文件之后,重启服务以使得它们生效:

sudo systemctl restart systemd-networkd.service

重启之后查看ip地址:

查看路由表:

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在Linux中修改IP地址,你可以按照以下步骤进行操作: 1. 打开终端或命令行界面。 2. 使用管理员权限登录或切换到root用户。 3. 使用`ifconfig`命令或`ip addr show`命令查看当前网络接口的配置信息。确定你想要修改的网络接口的名称,通常命名为`eth0`或`enp0sX`。 4. 使用编辑器(比如vi、nano等)打开网络接口配置文件。文件路径可能会有所不同,根据你使用的Linux发行版而定。常见的文件路径包括: - CentOS/RHEL/Fedora:`/etc/sysconfig/network-scripts/ifcfg-<interface_name>` - Ubuntu/Debian:`/etc/network/interfaces` - Arch Linux:`/etc/netctl/<interface_name>` 5. 在配置文件中,找到并修改以下行: - IP地址:`IPADDR=<new_ip_address>` - 子网掩码:`NETMASK=<new_subnet_mask>` - 默认网关:`GATEWAY=<new_default_gateway>` 将`<new_ip_address>`、`<new_subnet_mask>`和`<new_default_gateway>`替换为你想要设置的新值。 6. 保存更改并关闭文件。 7. 重新启动网络服务,以便使新的IP地址生效。可以使用以下命令: - CentOS/RHEL/Fedora:`systemctl restart network` - Ubuntu/Debian:`systemctl restart networking` - Arch Linux(使用netctl):`netctl restart <interface_name>` 8. 使用`ifconfig`命令或`ip addr show`命令验证新的IP地址是否生效。 请注意,具体步骤可能因Linux发行版的不同而有所差异。如果你使用的是其他发行版,请参考该发行版的文档或使用适用于该发行版的网络配置工具

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mculover666

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值