Linux下IP命令的使用实例

时间:2020-03-05 15:30:03  来源:igfitidea点击:

用于在Linux操作系统中显示,配置或者操纵路由,网络接口和隧道的IP命令。
这是IPROUTE2替换NET-Tools实用程序的工具集合。

我们传统上使用了ifconfig命令,该命令现在已弃用,现在鼓励我们使用IProute2工具。

在本教程中,我将通过解释如何使用IP命令来管理Linux TCP/IP网络的示例。

1)显示在接口上分配的IP地址

我们可以使用IP命令检索Linux系统上指定网络接口的IP地址,MAC地址和更多信息。

假设我们想要获取ENS160接口的IP,请运行以下命令:

$ip addr show dev ens160

或者

$ip addr show ens160
Output
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group default qlen 1000
    link/ether 00:50:56:9a:f8:ad brd ff:ff:ff:ff:ff:ff
    inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet6 fe80::250:56ff:fe9a:f8ad/64 scope link 
       valid_lft forever preferred_lft forever

要显示所有接口详细信息,请运行:

$ip addr show

2)将IP地址分配给界面

要将IP地址设置为指定的接口,我们可以使用以下命令如下:

$sudo ip addr add 192.168.0.193/24 dev wlan0

设置在设置IP地址后,我们可以通过IP ADDR Show确认,更改是否已生效,运行以下命令:

$ip addr show wlan0

设置IP地址

3)将多个IP地址设置为相同的接口

在某些情况下,我们希望将多个IP地址设置为同一网络接口。
我们可以通过运行使用IP命令轻松执行以下操作:

$sudo ip addr add 10.9.8.40/24 dev ens160
$sudo ip addr add 10.9.8.46/24 dev ens160

要验证IP地址是否已分配给网络接口ENS160,请运行以下命令:

$ip -4 addr show dev ens160

输出表示ENS160有两个IP地址:

2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160
       valid_lft forever preferred_lft forever
    inet 10.9.8.46/24 scope global secondary ens160
       valid_lft forever preferred_lft forever

4)删除接口上的IP地址

我们还可以使用相同的过程删除IP地址,只需用'del'替换"添加":

$sudo ip addr del 192.168.0.193/24 dev wlan0

删除IP地址

5)显示路由表

一些计算机具有多个默认网关和静态网关,以显示默认网关和静态网关信息IP路由。
基本上,它将显示当前的路由表:

$ip route show

要显示IP地址所拍摄的路由,请运行以下命令:

$ip route get 10.42.0.47

要获取默认网关IP地址,请运行命令:

$ip route | grep default

6)如何添加静态路由

我们可以通过运行以下命令使用IP命令在Linux系统上添加静态路由:

$sudo ip route add 10.9.7.0/24 via 10.9.8.100 dev ens160

要验证命令,请运行:

$ip r
default via 10.9.8.100 dev ens160 proto static 
10.9.7.0/24 via 10.9.8.100 dev ens160 
10.9.8.0/24 dev ens160 proto kernel scope link src 10.9.8.40 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown

要添加默认网关,请运行命令:

$sudo ip route add default via 192.168.0.196

默认路线

7)删除路线

如果要从路由表中删除路由,则可以运行以下命令:

$sudo ip route delete 10.9.7.0/24 via 10.9.8.100

此外,为了删除默认网关,请运行以下命令:

$sudo ip route delete default

8)显示网络统计

IP命令也可用于显示各种网络接口的统计信息。
为此,我们可以使用选项-s的IP命令,然后指定网络设备。

$ip -s link

显示IP统计所有接口

当我们需要获取有关特定网络接口的信息时,请添加选项ls,然后添加网络接口的名称。
选项-S使用不止一次的时间,为我们提供有关该特定接口的更多信息。
这可能非常有用,尤其是在网络连接中排除错误时。

$ip -s -s link ls p2p1

IP链接统计信息

9)ARP参赛作品

使用IP命令,我们可以使用选项eady或者邻居查看LAN中连接的设备的MAC地址。

$ip neighbour

6)监控NetLink消息

还可以使用IP命令查看NetLink消息。
监视器选项允许我们查看网络设备的状态。

例如,LAN上的计算机可根据其状态分类为可访问或者陈旧。
该命令可以如下用:

$ip monitor all

7)启用和禁用网络接口

要激活特定接口,可以使用Up和Down使用选项的IP命令,几乎类似于如何使用IFConfig。

在此示例中,我们可以在激活PPP0接口时看到路由表条目,然后再次停用并再次激活。
界面可以是WLAN0或者ETH0。
将PPP0更改为案例中可用的任何界面。

$sudo ip link set ppp0 down
$sudo ip link set ppp0 up

8)启用TCP延迟ACK

来自RHEL 7.1 IPRUTE包添加了对TCP延迟ACK的支持。
使用以下命令启用它

$ip route quickack

9)更改接口上的MTU

MTU代表最大传输单元,可以通过网络接口传输数据的最大尺寸。
假设我们要将网络接口ENS160的MTU更改为8000,请运行:

$sudo ip link set mtu 8000 dev ens160

验证IP命令已成功更改ENS160的MTU:

$ip -4 addr list ens160
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 8000 qdisc mq state UP group default qlen 1000
    inet 10.9.8.40/24 brd 10.9.8.255 scope global ens160
       valid_lft forever preferred_lft forever

10)IP命令帮助

如果我们陷入困境,不知道如何使用特定选项工作,我们可以使用帮助选项。
手册页不会提供有关如何使用IP选项的许多信息,这是救援的帮助。

例如,了解有关路由选项的更多信息:

$ip route help