当前位置:   article > 正文

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

iproute2

一、iproute2

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

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

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

安装:

yay iproute2
  • 1

二、使用

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

1. 网络接口管理

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

ip link show
  • 1


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

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

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

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

sudo ip link set interface up|down
  • 1

2. ip地址管理

(1)查看ip地址:

ip address show
  • 1


(2)设置静态ip地址

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

3. 路由表管理

(1)列出IPv4路由:

ip route show
  • 1

(2)列出IPv6路由:

ip -6 route
  • 1


(3)添加路由:

ip route add PREFIX via address dev interface
  • 1

(4)删除路由:

ip route del PREFIX via address dev interface
  • 1

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

三、网络管理器

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

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

这里我使用 systemd-networkd。

1. systemd-networkd

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

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

2. 基本用法

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

systemctl enable systemd-networkd.service
  • 1

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

systemctl enable systemd-resolved.service
  • 1

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

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

networkctl list
  • 1

3. 配置

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

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

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

编辑文件:

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

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

[Match]
Name=enp42s0

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

[DHCP]
RouteMetric=100
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

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

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

编辑文件:

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

添加以下配置内容:

[Match]
Name=wlp41s0

[Network]
DHCP=ipv4

[DHCP]
RouteMetric=0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

(3)重启服务

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

sudo systemctl restart systemd-networkd.service
  • 1

重启之后查看ip地址:

查看路由表:

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/40265
推荐阅读
相关标签
  

闽ICP备14008679号