简单介绍
IP 命令是 Linux 系统下配置网络的综合性命令。一般人习惯用 ifconfig 命令配置网卡,route 命令管理路由表,而一个 IP 工具就可以做到这些。
基本使用方法
ip [option] [動作] [指令]
-V, --Version
打印ip的版本并退出-s, --stats
输出更为详尽的信息。如果这个选项出现两次或多次,则输出的信息将更为详尽-f, --family
这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种类。如果没有足够的信息ip就会使用默认值inet或any。link比较特殊,+ 它表示不涉及任何网络协议。-4
-family inet的简写。-6
-family inet6的简写。-0
-family link的简写。-o, --oneline
对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项。-r, --resolve
查询域名解析系统,用获得的主机名代替主机IP地址
ip address (接口地址操作相关)
ip -6 address add 2000:ff04::2/64 dev eth1.11 # 接口上添加地址
ip -6 address del 2000:ff04::2/64 dev eth1.11 # 删除接口上指定地址
ip -6 address flush dev eth1.11 # 删除接口上所有地址
ip -6 address show <interface name> # 查看接口 ipv6 地址
ip address show <interface name> # 查看接口 IP 地址,包括 4/6 2个版本的
ip address add 192.168.1.1 broadcast + # 设置接口地址和广播地址,+ 表示让系统自动计算
ip address add 192.68.1.1 dev eth1 label eth1.1 # 设置接口别名,注意别和 ip link set ... name 命令混淆
ip address add 192.68.1.1 dev eth1 scope global # 设置接口领域,也就是可以接受的包的范围,有下面几种:
# global 允许所有
# site 仅允许 ipv6 和本机连接
# link 仅允许本机连接
# host 仅允许内部连接(和 link 的区别还不确定有哪些)
ip route 命令组 (路由表相关)
ip -6 route add 2000:ff::/80 via 2000:ff04::1 dev eth1.11 # 添加一条路由
ip -6 route add default via 2000:ff04::1 dev eth1.11 # 添加默认路由
ip -6 route show # 查看完整路由表
ip -6 route show dev eth1.11 # 查看指定接口路由项
ip -6 route del 2000:ff04::/64 # 删除所有相关路由表
ip -6 route del 2000:ff04::/64 dev eth1.11 # 删除相关接口上的路由表
ip -6 route change 2000:ff04::/64 dev eth1.12 # 修改路由表项
ip route add nat 192.168.10.100 via 202.6.10.1 # 添加 NAT 路由项,将 192 地址转换成 202 地址
ip route replace default equalize nexthop via 211.139.218.145 dev eth0 weight 1 nexthop via 211.139.218.145 dev eth1 weight 1 # 添加负载均衡路由
ip neighbor 命令组 (ARP地址表相关)
ip neighbor show # 查看 ARP 表
ip neighbor add 10.1.1.1 lladdr 0:0:0:0:0:1 dev eth0 nud permit # 添加一条 ARP 相关表项
ip neighbor change 10.1.1.1 dev eth0 nud reachable # 修改相关表项
ip neighbor del 10.1.1.1 dev eth0 # 删除一条表项
ip neighbor flush # 清除整个 ARP 表
ip link set 命令组 (接口硬件操作相关)
ip -s -s link show # 显示所有接口详细信息
ip -s -s link show eth1.11 # 显示单独接口信息
ip link set dev eth1 up # 启动设备,相当于 ifconfig eth1 up
ip link set dev eth1 down # 停止设备,相当于 ifconfig eth1 down
ip link set dev eth1 txqueuelen 100 # 改变设备传输队列长度
ip link set dev eth1 mtu 1200 # 改变 MTU 长度
ip link set dev eth1 address 00:00:00:AA:BB:CC # 改变 MAC 地址
ip link set dev eth1 name myeth # 接口名变更