Linux 使用 ip 命令管理网络
ifconfig 是 net-tools 中已被废弃使用的一个命令,许多年前就已经没有维护了。目前 centos7 默认也没有安装 net-tools 这个包了。现在使用的是 iproute2 这个包,ip命令就是属于这个包的。
一、语法
语法:
ip [ OPTIONS ] OBJECT { COMMAND | help }
ip 命令有很多子命令,常用的如下:
- ip netns
- ip address
- ip route
- ip link
- ip neigh
ip address 和 ip route 是网络层的命令,ip link 和 ip neigh 是链路层的命令。
ip 命令有一个 -d 选项,用于显示更多细节(details)信息,非常有用。该选项适用于 ip 的所有子命令。
bridge 命令也有同样功能的 -d 选项。
二、实例
1、查看接口状态
# ip link show [设备名]
2、启动和关闭接口
# ip link set [设备名] {up|donw}
命令类似于:
ifup <设备名>
或
ifdown <设备名>
3、显示接口IP地址
# ip addr show
或
# ip addr
4、配置和删除接口IP地址
配置接口IP地址:
# ip addr add IP地址 dev 设备名 [设备标签]
删除接口IP地址:
# ip addr del IP地址 dev 设备名
示例:
# ip addr | grep "192.168.2.200"
# ip addr add 192.168.2.200/24 dev ens37
# ip addr | grep "192.168.2.200"
inet 192.168.2.200/24 scope global secondary ens37
# ip addr del 192.168.2.200/24 dev ens37
# ip addr | grep "192.168.2.200"
5、路由表命令
显示路由表:
# ip route list|show
添加路由条目
# ip route add DESTINATION [via NEXT_HOP] [src SOURCE_ADDRESS] [dev DEVICE]
删除路由条目
# ip route del DESTINATION
清空路由表
# ip route flush [all|DESTINATION]
此命令可以清空路由表,也可以删除指定的路由条目。