ip命令是每个Linux系统管理员熟知的网络接口配置的超级工具。它可用于接口关闭与开启,分配和删除ip地址以及ARP路由缓存管理等等。
ip命令已安装在所有现代Linux发行版,它是iproute2软件的一部分。这里的网络接口也就是我们常说的网卡。
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命令设置的配置不是永久的。系统重启后,所有更改都将丢失。对于永久设置,您需要编辑特定于发行版的配置文件或将命令添加到启动脚本。
使用addr对象操作时,ip命令的形式是ip addr [ COMMAND ] ADDRESS dev IFNAME的形式。
最常用的addr对象操作的命令是show,add和del。分别是打印IP地址的信息,添加IP地址,删除IP。
ip addr show显示所有网络接口的列表以及关联的IP地址,show命令列出所有接口设备。
如果输入ip addr,您将获得相同的输出。如果您想以IPv4或IPv6IP地址查看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
现在已经知道如何查看接口的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地址另个常用的操作删除。从接口中删除IP地址的语法是ip addr dev ADDRESS dev IFNAME。
其中IFNAME是网络接口设备的名称,ADDRESS是您要从接口中删除的IP地址。
例如命令sudo ip address del 192.168.121.45/24 dev eth0从eth0网络接口删除地址192.168.121.45/24。
sudo ip address del 192.168.121.45/24 dev eth0
ip addr show dev eth0
这里所说的接口也就是我们常说的网卡。ip命令也可以用于管理和显示网络接口的状态。
对网络接口的操作对象是link对象。与link对象工作时,最常用的对象子命令是show,set,add和del。
show打印网络接口的信息,set设置网络接口的状态,例如启用与关闭,add添加网络接口,del删除网络接口。
ip link show要显示所有网络接口的信息。这些信息包括MTU,接口状态启用或者关闭,网关等。
ip link show与ip addr show不同的是ip link show不会打印接口的IP地址的信息。
要获取指定网络接口的信息,请运行命令ip link show dev后接接口名称。例如命令ip link show dev eth0查询eth0的信息。
ip link show
ip link show dev eth0
对网络接口还有一个常用的操作是启用或关闭接口,在远程服务器操作时你应该小心使用此操作。
启用或者关闭接口的命令形式是ip link set dev {DEVICE} {up|down},{DEVICE}是接口的名称。{up|down}设置接口的状态。
命令ip link set eth0 up启用eth0接口,如果需要关闭,请运行命令ip link set eth0 down。
ip link set eth0 up
ip link set eth0 down
ip命令除了管理接口,也可以用于管理内核路由表。要分配,删除和显示内核路由表,请使用route对象。
使用route对象时最常用的子命令是list,add和del。list列出路由表信息,add添加路由到路由表,del从路由表删除路由。
有三个不同命令查看路由表信息,分别是ip route,ip route list,ip route list SELECTOR。
在没有指定选择器SELECTOR时,ip route list命令将列出内核的所有路由记录。
例如命令ip route list 172.17.0.0/16显示指定IP地址是172.17.0.0/16的路由。
ip route
ip route list
ip route list SELECTOR
ip route list 172.17.0.0/16
如果要向路由表添加新记录,可以使用ip命令的子命令route add后跟网络或设备名称。
例如命令ip route add 192.168.121.0/24 via 192.168.121.1添加192.168.121.1作为到达192.168.121.0/24的网关。
ip route add 192.168.121.0/24 dev eth0命令添加eth0作为到到达192.168.121.0/24的网关。
要为接口设置默认路由,请使用default关键词。例如命令ip route add default via 192.168.121.1 dev eth0设置eth0的默认路由是192.168.121.1。
ip route add 192.168.121.0/24 via 192.168.121.1
ip route add 192.168.121.0/24 dev eth0
ip route add default via 192.168.121.1 dev eth0
删除路由的语法与添加时相同。要从路由表中删除记录,可以使用ip子命令route del后跟网络或者接口设备名称。
例如命令ip route del 192.168.121.0/24 via 192.168.121.1命令删除到达192.168.121.0/24的路由。
要删除默认路由,和设置默认路由一样请使用default关键词。例如命令ip route del default删除默认路由。
ip route del 192.168.121.0/24 via 192.168.121.1
ip route del default
至此,您应该很好地理解如何使用Linux ip命令。
全部0条评论
快来发表一下你的评论吧 !