Arch LInux | 网络管理工具iproute2(网络接口ip地址路由表)
Posted Mculover666
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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地址:
查看路由表:
以上是关于Arch LInux | 网络管理工具iproute2(网络接口ip地址路由表)的主要内容,如果未能解决你的问题,请参考以下文章
linux网络管理工具net-tools 对决 iproute2
linux网络管理工具net-tools 对决 iproute2
linux网络管理工具net-tools 对决 iproute2