ip命令是每个Linux系统管理员熟知的网络接口配置的超级工具。它可用于接口关闭与开启,分配和删除ip地址以及ARP路由缓存管理等等。
ip
命令已安装在所有现代Linux发行版,它是iproute2软件的一部分。这里的网络接口也就是我们常说的网卡。
ip命令
ip命令的语法是ip [ OPTIONS ] OBJECT { COMMAND | help }
,OBJECT
是您要管理的对象类型。最常用的对象是。link
/l
显示和修改网络接口信息。
address
/a
显示和修改IP地址信息。route
/r
显示和更改路由表信息。neigh
/n
显示和操作ARP表。
对象可以以完整或缩写形式书写。ip OBJECT help
命令打印每个对象子命令和参数列表。
在配置网络接口时,必须以root用户或具有sudo权限用户运行命令,否则将打印消息RTNETLINK answers: Operation not permitted
。
使用ip命令设置的配置不是永久的。系统重启后,所有更改都将丢失。对于永久设置,您需要编辑特定于发行版的配置文件或将命令添加到启动脚本。
ip 命令修改IP地址
现在已经知道如何查看接口的IP地址,看看如何为网络接口分配或者修改IP地址。
修改IP地址命令语法是ip addr add ADDRESS dev IFNAME
。其中IFNAME
是接口名称,ADDRESS
是您要分配给接口的IP地址。
例如命令sudo ip address add 192.168.121.45/24 dev eth0
将eth0
接口的IP地址设置为192.168.121.45
,子网掩码是24。
要确认设置的IP地址是否正确,请运行命令ip -4 addr show dev eth0
或ip -4 a show dev eth0
。
sudo ip address add 192.168.121.45/24 dev eth0
ip addr show dev eth0
成功时命令不会显示任何输出。如果接口不存在,您将获得Cannot find device "eth0"
。
在Linux您可以为同一接口分配多个地址,使用ip
命令。要为接口分配多个IP地址,你需要运行多次ip
命令即可。
例如命令sudo ip address add 192.168.121.241/24 dev eth0
和sudo ip address add 192.168.121.45/24 dev eth0
。
sudo ip address add 192.168.121.241/24 dev eth0
sudo ip address add 192.168.121.45/24 dev eth0
ip addr show dev eth0
ip 命令查看IP地址
使用addr
对象操作时,ip
命令的形式是ip addr [ COMMAND ] ADDRESS dev IFNAME
的形式。
最常用的addr
对象操作的命令是show,add和del。分别是打印IP地址的信息,添加IP地址,删除IP。
ip addr show
显示所有网络接口的列表以及关联的IP地址,show
命令列出所有接口设备。
如果输入ip addr
,您将获得相同的输出。如果您想以IPv4
或IPv6
IP地址查看IP地址,请运行命令ip -4 addr
或ip -6 addr
。
如要获取指定接口的IP地址信息,请运行命令ip addr show
后跟接口设备名称。例如命令ip addr show dev eth0
查询eth0
接口的IP地址信息。
ip addr show #eq ip addr
ip -4 addr
ip -6 addr
ip addr show dev eth0