Skip to content

1082 个字 预计阅读时间 5 分钟 共被读过

ip Cheat Sheet

Text Only
##############################################################################
# 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 :