blog:linux_system_manage:archlinux_network

Archlinux network configuration

net-tools vs iproute2

ifconfig是net-tools中被废弃使用的一个命令, 已经没有维护了。 iproute2里面提供了许多增强功能的命令,ip命令即是其中一个。

usage of ip command

SYNOPSIS

ip [OPTIONS] OBJECT {COMMAND | help}

OBJECT := {link | address | addrlabel | route | rule | neigh | ntable | tunnel | …}

当你不知道某个OBJECT的用法,可以输入help命令, 例如查看link的帮助信息: ip link help

设置IP地址

ip addr add 192.168.1.193/24 dev wlp5s0

注意: ip地址有一个后缀,比如/24, 表示子网掩码,24代表有24位为1, 所以/24表示子网掩码为255.255.255.0 这个后缀最大为/32.

这种用法用于 “无类域间路由选择(CIDR)” 用来显示所用的子网掩码

查看地址

ip addr show wlp5s0

$ ip addr show wlp5s0 
3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b8:ee:65:27:fe:2f brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global wlp5s0
       valid_lft forever preferred_lft forever
    inet 192.168.1.193/24 scope global secondary wlp5s0
       valid_lft forever preferred_lft forever
    inet6 fe80::baee:65ff:fe27:fe2f/64 scope link 
       valid_lft forever preferred_lft forever

删除IP地址

ip addr del 192.168.1.193/24 dev wlp5s0

显示不同网络接口的统计数据 ip -s link

显示指定网络接口的统计数据 ip -s link ls wlp5s0

显示指定网络接口的统计数据, 显示更详细的数据 ip -s -s link ls wlp5s0

激活/停止特定的接口 ip set link wlp5s0 up ip set link wlp5s0 down

Wireless network configuration

首先需要确保无线网卡驱动已安装,并且工作正常。

启动的的时候,udev会识别硬件,并加载相应的驱动。 有些芯片需要额外的firmware, 默认安装的linux-firmware提供了很多固件。

检查设备状态:

lspci -k 或者 lspci -v 检查设备驱动是否已经加载

例如:

05:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8723BE PCIe Wireless Network Adapter
	Subsystem: Lenovo Device b728
	Kernel driver in use: rtl8723be
	Kernel modules: rtl8723be

通过ip link 查看设备, 无线设备通常是wlp5s0这样的名称。

启用设备:

ip link set <设备名> up

如果设备加载正常,接口正常启用,则说明不需要安装额外的firmware. 如果显示错误信息: “SIOCSIFFLAGS: No such file or directory”, 那说明缺失firmware

查看已加载的firmware的kernel message信息

$ dmesg | grep firmware
[   11.644190] Using firmware rtlwifi/rtl8723befw.bin

install driver/firmware:

RTL Wi-Fi的git地址: https://github.com/lwfinger/rtlwifi_new.git

管理方法 接口激活 无线连接管理 IP地址分配
手动设置 (无加密,或者WEP加密) ip iw ip/dhcpd/dhclient/networkd
手动设置 (WAP/WAP2 PSK加密) ip iw + wpa_supplicant ip/dhcpd/dhclient
自动管理 netctl, Wicd, NetworkManger等

Just like other network interfaces, the wireless ones are controlled with ip from the iproute2 package

管理无线网络连接还需要安装一些软件包:

iw

  只支持nl80211(netlink)标准, 不支持老的WEXT(Wireless EXTentions)标准, 如果iw没有显示网卡,可能是这个原因
  

wireless_tools

  已经过时,但是依然广泛使用。 WEXT设备使用此工具

wpa_supplicant

  提供WPA/WPA2加密支持,同时支持nl80211和WEXT
  

interface activation

在使用iw或者wireless_tools之前,有些网卡需要激活内核接口

$ ip link set wlp5s0 up

验证接口是否已经打开:

$ ip link show wlp5s0 
3: wlp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DORMANT group default qlen 1000
    link/ether 12:34:56:78:9a:bc brd ff:ff:ff:ff:ff:ff

<BROADCAST,MULTICAST,UP,LOWER_UP> UP表示接口已经打开

iw只能连接开放网络或者WEP网络.

示例中的wireless device interface是wlp5s0 your_essid 是要连接的热点ssid

获取接口名

$ iw dev
phy#0
	Interface wlp5s0
		ifindex 3
		wdev 0x1
		addr 12:34:56:78:9a:bc
		type managed
		channel 6 (2437 MHz), width: 20 MHz, center1: 2437 MHz
iw command Description
————————————————–———————————
iw dev wlp5s0 link 获取连接状态
iw dev wlp5s0 scan 扫描可用热点
iw dev wlp5s0 set type ibss 设置操作模式为ad-hoc
iw dev wlp5s0 connect youressid | 连接到开放网络 | | iw dev wlp5s0 connect youressid 2432 连接到开放网络的指定通道
iw dev wlp5s0 set power_save on 启用省电模式

连接到WEP加密的网络

WEP的密码长度是固定的, key的格式如下:

[d:]index:data
'd:'        means default (transmit) key
'index:'    is a single digit (0-3)
'data'      must be 5 or 13 ascii chars
            or 10 or 26 hex digits
for example: d:2:6162636465 is the same as d:2:abcde

查看连接状态

$ iw dev wlp5s0 link
Connected to 7c:7d:3d:73:e6:03 (on wlp5s0)
	SSID: MyESSID
	freq: 2437
	RX: 1256767 bytes (11788 packets)
	TX: 4568 bytes (47 packets)
	signal: -8 dBm
	tx bitrate: 7.2 MBit/s MCS 0 short GI

	bss flags:	short-preamble short-slot-time
	dtim period:	2
	beacon int:	100

获取统计数据

$ iw dev wlp5s0 station dump
Station 12:34:56:78:9a:bc (on wlp5s0)
	inactive time:	7813 ms
	rx bytes:	1456449
	rx packets:	13661
	tx bytes:	4568
	tx packets:	47
	tx retries:	0
	tx failed:	0
	signal:  	-10 dBm
	signal avg:	-11 dBm
	tx bitrate:	7.2 MBit/s MCS 0 short GI
	rx bitrate:	1.0 MBit/s
	authorized:	yes
	authenticated:	yes
	preamble:	long
	WMM/WME:	yes
	MFP:		no
	TDLS peer:	no

提供了两个工具: nmcli 命令行工具 nmtui 基于curses的ui

description command
查看所有网络设备及其状态 nmcli device
显示附近的wifi nmcli device wifi list
连接wifi nmcli device wifi connect SSID password PASSWORD
使用网卡wlp5s0连接wifi nmcli device wifi connect SSID password PASSWORD ifname wlp5s0
连接到隐藏的wifi nmcli device wifi connect SSID password PASSWORD hidden yes
断开一个网卡上的连接 nmcli device disconnect eth0
连接一个网卡上的连接 nmcli device connect eth0
查看所有连接过的网络的UUID nmcli connection
重新连接一个被标记为已断开的网卡 nmcli connection up uuid UUID
关闭wifi nmcli radio wifi off

显示网络连接托盘: nm-applet

  • blog/linux_system_manage/archlinux_network.txt
  • 最后更改: 2022/01/09 22:54
  • 127.0.0.1