学而实习之 不亦乐乎

Linux 使用 ip 命令管理网络

2023-10-12 07:57:17

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]

此命令可以清空路由表,也可以删除指定的路由条目。