-
Notifications
You must be signed in to change notification settings - Fork 2.1k
/
ip.txt
136 lines (107 loc) · 7.43 KB
/
ip.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
##############################################################################
# IP CHEATSHEET (中文速查表) - by skywind (created on 2024/11/12)
# Version: 7, Last Modified: 2024/11/24 02:56:27
# https://github.com/skywind3000/awesome-cheatsheets
##############################################################################
##############################################################################
# 辅助参数
##############################################################################
ip -n s1 addr # 在网络命名空间中执行 ip addr
ip -c link # 彩色显示接口
ip -c addr # 彩色显示地址
ip -c route # 彩色显示路由
ip -brief link # 简洁显示接口
ip -brief addr # 简洁显示地址
ip -brief -c link # 彩色简洁显示接口
##############################################################################
# ip addr
##############################################################################
ip addr # 查看地址
ip addr add 192.168.1.1/24 dev eth0 # 给指定设备添加地址
ip addr del 192.168.1.1/24 dev eth0 # 删除指定设备的地址
ip addr flush dev eth0 # 删除指定设备的所有地址
##############################################################################
# ip link
##############################################################################
ip link # 显示所有网络接口
ip link show dev eth0 # 显示指定设备的信息
ip link set eth0 up # 把 eth0 接口设备开启
ip link set eth0 down # 把 eth0 接口设备关闭
ip link set eth0 mtu 1450 # 设置设备的 MTU
ip link add br0 type bridge # 添加一个网桥设备
ip link del br0 # 删除一个网桥设备
ip link set eth0 master br0 # 把 eth0 添加到网桥 br0
ip link set eth0 nomaster # 从网桥中删除 eth0
ip link add veth0 type veth peer name veth1 # 添加虚拟以太网设备
ip link set veth0 netns s1 # 把 veth0 移动到网络命名空间
ip link set veth1 netns s2 # 把 veth1 移动到网络命名空间
ip link set veth0 netns 1 # 把设备移动到全局网络命名空间
##############################################################################
# ip route
##############################################################################
ip route # 显示主路由表
ip route show table [local|main|default|num] # 显示路由表
ip route show table main # 显示主路由表
ip route show table 520 # 显示编号为 520 的路由表
ip route get 8.8.8.8 # 查询一个地址经过的路由
ip route get 8.8.8.8 mark 666 # 查询经过的路由(带标记)
ip route add default via 10.8.1.1 dev eth0 # 添加默认路由
ip route add 10.8.1.0/24 via 10.8.1.1 # 添加静态路由
ip route add 10.8.1.0/24 dev eth0 # 添加直连路由
ip route add 10.8.1.0/24 dev eth0 metric 10 # 添加带有 metric 的直连路由
ip route add 10.8.1.0/24 dev eth0 table 520 # 添加路由到编号 520 的路由表
ip route add table 520 10.8.1.0/24 dev eth0 # 另一种写法,突出表名
ip route delete 10.8.1.0/24 via 10.8.1.1 # 删除静态路由
ip route replace 10.8.1.0/24 dev eth0 # 替换路由
ip route flush cache # 路由表立即生效
ip route flush table 520 # 清空编号为 520 的路由表
# 显示当前定义了哪些路由表
ip route show table all | grep -Eo 'table [^ ]+ ' | sort | uniq
##############################################################################
# ip rule
##############################################################################
ip rule # 显示路由规则
ip rule add table 520 # 所有包走一下 520 路由表
ip rule add from 0/0 lookup 520 # 所有包走一下 520 路由表
ip rule add from 0/0 table 520 # 同上
ip rule add from 0/0 blackhole # 所有包丢弃
ip rule add from 0/0 prohibit # 所有包拒绝,通信被管理员禁止
ip rule add from 0/0 unreachable # 返回 network unreachable
ip rule del table 520 # 删除所有包走 520 路由表的规则
ip rule add from 10.8.1.0/24 table 520 # 来自特定网络的包走 520 路由表
ip rule add to 10.8.2.0/24 table 521 # 发往某网络的包走 521 路由表
ip rule add fwmark 588 table 520 # 标记为 588 的包走 520 路由表
ip rule add not fwmark 588 table 51820 # 没有标记为 588 的包走该路由表
ip rule add from 8.8.3.2/32 tos 10 table 2 # 来自特定 IP 且 TOS 为 10 的包
ip rule add prio 100 fwmark 1 lookup 100 # 优先级 100 的规则
##############################################################################
# ip netns
##############################################################################
ip netns # 显示网络命名空间
ip netns add s1 # 创建一个网络命名空间
ip netns del s1 # 删除一个网络命名空间
ip netns attach NAME PID # 改变进程网络命名空间
ip netns exec s1 command # 在网络命名空间中执行命令
ip netns exec s1 ip link set lo up # 在网络命名空间中设置 lo 设备
ip netns identify # 查看当前进程的网络命名空间
ip netns identify PID # 查看指定进程的网络命名空间
ip netns pids NAME # 查看网络命名空间中的进程
ip -n s1 addr add 192.168.64.1/24 dev veth0 # 在网络命名空间中添加地址
##############################################################################
# quick reference (busybox ip)
##############################################################################
# ip addr add|del IFADDR dev IFACE | show|flush [dev IFACE] [to PREFIX]
# ip route list|flush|add|del|change|append|replace|test ROUTE
# ip link set IFACE [up|down] [arp on|off] [multicast on|off]
# [promisc on|off] [mtu NUM] [name NAME] [qlen NUM] [address MAC]
# [master IFACE | nomaster] [netns PID]
# ip tunnel add|change|del|show [NAME]
# [mode ipip|gre|sit] [remote ADDR] [local ADDR] [ttl TTL]
# ip neigh show|flush [to PREFIX] [dev DEV] [nud STATE]
# ip rule [list] | add|del SELECTOR ACTION
##############################################################################
# credit
##############################################################################
https://cheatography.com/tme520/cheat-sheets/iproute2/
https://access.redhat.com/sites/default/files/attachments/rh_ip_command_cheatsheet_1214_jcs_print.pdf
# vim: set ts=4 sw=4 tw=0 et ft=bash :