约 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 :