ipcommand


ip命令是每个Linux系统管理员熟知的网络接口配置的超级工具。它可用于接口关闭与开启,分配和删除ip地址以及ARP路由缓存管理等等。

ip命令已安装在所有现代Linux发行版,它是iproute2软件的一部分。这里的网络接口也就是我们常说的网卡。

ip命令的语法是复制ip[OPTIONS]OBJECT{COMMAND|help},复制OBJECT是您要管理的对象类型。最常用的对象是。复制link/复制l显示和修改网络接口信息。

复制address/复制a显示和修改IP地址信息。复制route/复制r显示和更改路由表信息。复制neigh/复制n显示和操作ARP表。

对象可以以完整或缩写形式书写。复制ipOBJECThelp命令打印每个对象子命令和参数列表。

在配置网络接口时,必须以root用户或具有sudo权限用户运行命令,否则将打印消息复制RTNETLINKanswers:Operationnotpermitted。

使用ip命令设置的配置不是永久的。系统重启后,所有更改都将丢失。对于永久设置,您需要编辑特定于发行版的配置文件或将命令添加到启动脚本。

使用复制addr对象操作时,复制ip命令的形式是复制ipaddr[COMMAND]ADDRESSdevIFNAME的形式。

最常用的复制addr对象操作的命令是show,add和del。分别是打印IP地址的信息,添加IP地址,删除IP。

复制ipaddrshow显示所有网络接口的列表以及关联的IP地址,复制show命令列出所有接口设备。

如果输入复制ipaddr,您将获得相同的输出。如果您想以复制IPv4或复制IPv6IP地址查看IP地址,请运行命令复制ip-4addr或复制ip-6addr。

如要获取指定接口的IP地址信息,请运行命令复制ipaddrshow后跟接口设备名称。例如命令复制ipaddrshowdeveth0查询复制eth0接口的IP地址信息。

修改IP地址命令语法是复制ipaddraddADDRESSdevIFNAME。其中复制IFNAME是接口名称,复制ADDRESS是您要分配给接口的IP地址。

例如命令复制sudoipaddressadd192.168.121.45/24deveth0将复制eth0接口的IP地址设置为复制192.168.121.45,子网掩码是24。

要确认设置的IP地址是否正确,请运行命令复制ip-4addrshowdeveth0或复制ip-4ashowdeveth0。

成功时命令不会显示任何输出。如果接口不存在,您将获得复制Cannotfinddevice"eth0"。

在Linux您可以为同一接口分配多个地址,使用复制ip命令。要为接口分配多个IP地址,你需要运行多次复制ip命令即可。

例如命令复制sudoipaddressadd192.168.121.241/24deveth0和复制sudoipaddressadd192.168.121.45/24deveth0。

现在了解复制ip命令对接口ip地址另个常用的操作删除。从接口中删除IP地址的语法是复制ipaddrdevADDRESSdevIFNAME。

其中复制IFNAME是网络接口设备的名称,复制ADDRESS是您要从接口中删除的IP地址。

例如命令复制sudoipaddressdel192.168.121.45/24deveth0从复制eth0网络接口删除地址复制192.168.121.45/24。

对网络接口的操作对象是复制link对象。与复制link对象工作时,最常用的对象子命令是复制show,复制set,复制add和复制del。

复制show打印网络接口的信息,复制set设置网络接口的状态,例如启用与关闭,复制add添加网络接口,复制del删除网络接口。

复制iplinkshow要显示所有网络接口的信息。这些信息包括MTU,接口状态启用或者关闭,网关等。

复制iplinkshow与复制ipaddrshow不同的是复制iplinkshow不会打印接口的IP地址的信息。

要获取指定网络接口的信息,请运行命令复制iplinkshowdev后接接口名称。例如命令复制iplinkshowdeveth0查询复制eth0的信息。

启用或者关闭接口的命令形式是复制iplinksetdev{DEVICE}{up|down},复制{DEVICE}是接口的名称。复制{up|down}设置接口的状态。

命令复制iplinkseteth0up启用复制eth0接口,如果需要关闭,请运行命令复制iplinkseteth0down。

ip命令除了管理接口,也可以用于管理内核路由表。要分配,删除和显示内核路由表,请使用复制route对象。

使用复制route对象时最常用的子命令是复制list,复制add和复制del。复制list列出路由表信息,复制add添加路由到路由表,复制del从路由表删除路由。

有三个不同命令查看路由表信息,分别是复制iproute,复制iproutelist,复制iproutelistSELECTOR。

在没有指定选择器SELECTOR时,复制iproutelist命令将列出内核的所有路由记录。

例如命令复制iproutelist172.17.0.0/16显示指定IP地址是复制172.17.0.0/16的路由。

如果要向路由表添加新记录,可以使用ip命令的子命令复制routeadd后跟网络或设备名称。

例如命令复制iprouteadd192.168.121.0/24via192.168.121.1添加192.168.121.1作为到达192.168.121.0/24的网关。

复制iprouteadd192.168.121.0/24deveth0命令添加复制eth0作为到到达192.168.121.0/24的网关。

要为接口设置默认路由,请使用复制default关键词。例如命令复制ia192.168.121.1deveth0设置复制eth0的默认路由是复制192.168.121.1。

删除路由的语法与添加时相同。要从路由表中删除记录,可以使用复制ip子命令复制routedel后跟网络或者接口设备名称。

例如命令复制iproutedel192.168.121.0/24via192.168.121.1命令删除到达192.168.121.0/24的路由。

要删除默认路由,和设置默认路由一样请使用default关键词。例如命令复制iproutedeldefault删除默认路由。