Linux ip
命令用来在 Linux操作系统
中为网络接口分配地址
和配置网络接口参数
,用于替代 ifconfig
命令。ip
命令由 iproute
包提供,ifconfig
命令由 net-tools
包提供。
help
$ ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where OBJECT := { link | address | addrlabel | route | rule | neigh | ntable |
tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm |
netns | l2tp | fou | macsec | tcp_metrics | token | netconf | ila |
vrf }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | mpls | bridge | link } |
-4 | -6 | -I | -D | -B | -0 |
-l[oops] { maximum-addr-flush-attempts } | -br[ief] |
-o[neline] | -t[imestamp] | -ts[hort] | -b[atch] [filename] |
-rc[vbuf] [size] | -n[etns] name | -a[ll] | -c[olor]}
$ rpm -qal iproute
/usr/sbin/arpd
/usr/sbin/bridge
/usr/sbin/cbq
/usr/sbin/ctstat
/usr/sbin/devlink
/usr/sbin/genl
/usr/sbin/ifcfg
/usr/sbin/ifstat
/usr/sbin/ip
/usr/sbin/lnstat
/usr/sbin/nstat
/usr/sbin/rdma
/usr/sbin/routef
/usr/sbin/routel
/usr/sbin/rtacct
/usr/sbin/rtmon
/usr/sbin/rtpr
/usr/sbin/rtstat
/usr/sbin/ss
/usr/sbin/tc
demo
ip link show type bridge # 查看 bridge
ip link delete docker0 type bridge # 删除 bridge
ip link show type veth # 查看 veth pair
ip link show type bond # 查看 bond
ip link show type team # 查看 team
ip link show type vlan # 查看 vlan
ip link show type vxlan # 查看 vxlan
# add tap
ip link add tap1-1 type veth peer name tap1-2
ip addr add 172.20.0.10/16 dev tap1-1
ip addr del 172.20.0.10/16 dev tap1-2
# add br
ip link add name br1 type bridge
ip link set br0 up
# 显示网卡IP信息
ip addr show
# 设置 ens33 网卡IP地址 172.20.1.10
ip addr add 172.20.1.10/24 dev ens33
# 删除 ens33 网卡IP地址
ip addr del 172.20.1.10/24 dev ens33
# 显示网络接口信息
ip link show
# 开启网卡
ip link set ens33 up
ip link set dev ens33 up
# 关闭网卡
ip link set ens33 down
ip link set dev ens33 down
# 开启网卡的混合模式
ip link set ens33 promisc on
# 关闭网卡的混个模式
ip link set ens33 promisc off
# 设置网卡队列长度
ip link set ens33 txqueuelen 1200
# 设置网卡最大传输单元
ip link set ens33 mtu 1400
# 查看路由信息
ip route list
# 显示系统路由
ip route show
# 设置默认网关为 172.20.0.1,等同于 route add default gw 172.20.0.1
ip route add default via 172.20.0.1
ip route add default via 172.20.0.1 dev ens33
# 设置 172.20.1.0 网段的网关为 172.20.1.1 数据走 ens38 接口
ip route add 172.20.1.0/24 via 172.20.1.1 dev ens38
# 删除默认路由
ip route del default
# 删除172.20.1.0网段的网关
ip route del 172.20.1.0/24
ip route delete 172.20.1.0/24 dev ens33
# 更改
ip route change 172.20.1.1/24 via 0.0.0.0 dev ens33
# 显示 arp 表,cat /proc/net/arp
ip neigh
ip -s -h link
F&Q
RTNETL answers network is unreachable
ip router add
时出现,说明添加路由的网络不通