文章目录
  1. 1. net-tools vs iproute2
  2. 2. usage of ip command
    1. 2.1. ip addr
    2. 2.2. ip link
  3. 3. Wireless network configuration
    1. 3.1. wireless device driver
    2. 3.2. manage the wireless connections
      1. 3.2.1. iw usage

net-tools vs iproute2

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

net-tools vs iproute2

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 addr

设置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

1
2
3
4
5
6
7
8
9
$ 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

wireless device driver

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

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

检查设备状态:

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

例如:

1
2
3
4
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信息

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

install driver/firmware:

Linux支持的无线网卡驱动

Linux Wi-Fi设备ID列表

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

manage the wireless connections

管理方法 接口激活 无线连接管理 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

验证接口是否已经打开:

1
2
3
$ 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 usage

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

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

获取接口名

1
2
3
4
5
6
7
8
$ 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 your_essid 连接到开放网络
iw dev wlp5s0 connect your_essid 2432 连接到开放网络的指定通道
iw dev wlp5s0 set power_save on 启用省电模式

连接到WEP加密的网络

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

1
2
3
4
5
6
[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

查看连接状态

1
2
3
4
5
6
7
8
9
10
11
12
$ 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

获取统计数据

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ 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

文章目录
  1. 1. net-tools vs iproute2
  2. 2. usage of ip command
    1. 2.1. ip addr
    2. 2.2. ip link
  3. 3. Wireless network configuration
    1. 3.1. wireless device driver
    2. 3.2. manage the wireless connections
      1. 3.2.1. iw usage