简介:在本指南中,我们将讨论 ip 命令的一些实际示例。在本指南结束时,用户将能够从命令行界面在 Linux 中高效地执行网络任务。
系统管理员经常需要在 Linux 服务器上执行网络任务。市场上有多种图形和命令行工具。然而,大多数 Linux 用户更喜欢使用ip命令由于其简单性和丰富的功能。
这ip命令是一个新的用于为网络接口分配 IP 地址或在 Linux 系统上配置/更新有用的网络变量。
它是ip路由2打包并提供多项网络管理任务,例如启动或关闭网络接口、分配和删除 IP 地址和路由、管理 ARP 缓存等等。
这ip命令与旧的非常相似,但它的功能更加强大,添加了更多的功能和能力。
[您可能还喜欢:]
这已被弃用并被替换ip命令在所有现代 Linux 发行版中。然而,ifconfig命令仍然有效并可用于。
[您可能还喜欢:]
笔记:在进行任何更改之前,请先备份配置文件。
1.在Linux中永久配置静态IP地址
要在 Linux 中永久配置静态 IP 地址,您需要更新或编辑网络配置文件以向系统分配静态 IP 地址。您必须是超级用户su(切换用户)来自终端或命令提示符的命令。
在 RHEL 系统中设置静态 IP 地址
打开并编辑 (以太网0或者以太网1)使用你的。例如,将 IP 地址分配给以太网0界面如下。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]

在 Debian 系统中设置静态 IP 地址
要配置永久静态IP地址,您需要修改网络接口配置文件/etc/网络/接口进行永久更改,如下所示。
$ sudo nano /etc/network/interfaces [On Debian, Ubuntu and Mint]

接下来,使用以下命令输入所有详细信息后重新启动网络服务。
$ sudo systemctl restart networking
[您可能还喜欢:]
2. Linux中临时配置静态IP地址
对于临时网络配置,您可以使用ip命令为特定接口分配 IP 地址(以太坊2)在飞行中。
# ip addr add 172.19.1.10/24 dev eth2 OR $ sudo ip addr add 172.19.1.10/24 dev eth2
笔记:不幸的是,系统重新启动后所有这些设置都将丢失。
3. 如何显示所有网络接口
在ip命令,链接对象代表网络接口。我们可以使用展示使用它的命令可以显示所有网络接口。
现在,让我们使用以下命令显示所有网络接口:
$ ip link show

上面的输出显示了所有网络接口的详细信息,例如接口名称、标志、状态、链接地址、广播地址等。
4. 如何检查特定网络接口的IP地址
要获取各个网络接口的深度信息(例如 IP 地址和 MAC 地址信息),请使用以下命令,如下所示。
$ ip link show eth2

到目前为止,我们使用链接对象显示了有关网络接口的详细信息。但是,它不显示与网络接口关联的 IP 地址。为了克服这个限制,我们可以使用addr对象与 ip 命令。
让我们通过一个例子来理解这一点。
$ ip addr show

在这里,我们可以看到,现在输出显示了所有网络接口的 IP 地址以及其他详细信息。
要显示各个网络接口的 IP 地址,只需提供网络接口名称作为命令的参数即可。
$ ip addr show eth2
5. 如何在彩色输出中显示 IP 地址
这ip命令显示有关网络对象的详细信息。然而,有时我们需要查看有限的信息。在这种情况下,我们可以启用彩色输出。此选项以不同颜色突出显示重要细节。
让我们使用--color该命令的选项以不同颜色显示输出:
$ ip --color addr show eth2

在上面的输出中,我们可以看到接口名称、以太网地址和状态以不同的颜色突出显示。
6. 如何以 JSON 格式显示 IP 地址
在前面的例子中,我们看到ip命令显示有意义的信息。然而,使用基本脚本解析原始输出并提取有意义的信息并不是一件容易的事。在这种情况下,我们可以指示ip命令生成输出JSON格式。
那么,让我们使用-j选项与命令显示相同的输出JSON格式:
$ ip -j link show eth2

这种方法在进行自动化时非常有用,因为JSON是一种被广泛接受的格式,并且有许多可用于各种编程语言的 JSON 解析器库/工具。
7. 如何使 JSON 输出更具可读性
在前面的示例中,我们使用了-j显示输出的选项JSON格式。这个默认的JSON格式紧凑且节省空间。然而,由于缺乏缩进,输出并不容易阅读。
为了克服这个限制,我们可以使用-p通过缩进使输出更具可读性的选项。让我们通过下面的例子来理解这一点:
$ ip -j -p link show eth2

在这里,我们可以看到相同的输出比前面的示例更具可读性。
8. 如何从网络接口中删除 IP 地址
在前面的示例中,我们使用 add 子命令来分配 IP 地址。以类似的方式,我们可以使用的删除特定 IP 地址的子命令。
以下命令将从给定接口中删除分配的 IP 地址(以太坊2)。
# ip addr del 172.19.1.10/24 dev eth2 OR $ sudo ip addr del 172.19.1.10/24 dev eth2
现在,让我们验证 IP 地址是否已被删除:
$ ip -j -p addr show eth2

在上面的输出中,我们可以看到现在以太坊2网络接口只有一个IP地址。
9. 如何启用网络接口
这 ”向上” 带有接口名称的标志(以太坊2)启用网络接口。例如,以下命令将激活以太坊2网络接口。
# ip link set eth2 up OR $ sudo ip link set dev eth2 up
现在,让我们检查更新的状态:
$ ip -j -p link show eth2 | grep operstate

10. 如何禁用网络接口
这 ”向下” 带有接口名称的标志(以太坊2) 禁用网络接口。例如,以下命令将停用以太坊2网络接口。
# ip link set eth2 down OR $ sudo ip link set eth2 down
现在,让我们检查一下状态以太坊2网络接口:
$ ip -j -p link show eth2 | grep operstate

上面的输出显示了网络接口的修改状态。
11. 如何刷新网络接口的IP地址
在前面的示例中,我们了解了如何使用的删除 IP 地址的子命令。然而,有时我们需要删除特定网络接口的所有 IP 地址。在这种情况下,我们可以使用冲水子命令。
首先,使用冲水子命令删除所有IP地址以太坊2网络接口:
$ sudo ip addr flush eth2
现在,让我们检查一下所有的IP地址以太坊2网络接口已被删除:
$ ip -j -p addr show eth2

在上面的输出中,地址信息字段显示空 JSON 数组。这表明没有任何 IP 地址与该地址关联以太坊2网络接口。
12. 如何查看路由表
路由表存储将网络数据包转发到正确目的地所需的信息。我们可以使用路线ip命令的对象,用于显示路由规则。
让我们使用以下命令列出路由表的所有规则:
$ ip route show

在上面的输出中,第一列代表目标,而最后一列代表源 IP 地址。
13. 如何添加新的静态路由
为什么需要添加静态路由或手动路由,因为流量不能经过默认网关?我们需要添加静态路由,以使流量从最佳路径到达目的地。
$ sudo ip route add 172.19.1.0/24 dev eth2 proto kernel scope link src 172.19.1.2
现在,让我们验证该条目是否已成功添加:
$ ip route show

15. 如何删除静态路由
这的子命令从路由表中删除特定条目。例如,以下命令删除以太坊2设备路线:
$ sudo ip route del 172.19.1.0/24
现在,让我们验证该条目是否已成功删除:
$ ip route show

16. 如何添加永久静态路由
系统重启后,上述所有路由都会丢失。要添加永久静态路由,请编辑文件/etc/sysconfig/网络脚本/route-eth2(我们正在存储(以太坊2)。默认情况下,路由-eth2文件将不存在并且需要创建。
在 RHEL 系统中设置永久路由
# vi /etc/sysconfig/network-scripts/route-eth2
并添加以下行并保存并退出。
172.19.1.0/24 via 172.19.1.2 dev eth2
在 Debian 系统中设置永久路由
打开文件/etc/网络/接口并在最后添加持久静态路由。 IP 地址在您的环境中可能有所不同。
$ sudo vi /etc/network/interfaces
auto eth2
iface eth2 inet static
address 172.19.50.2
netmask 255.255.255.0
gateway 172.19.50.100
#########{Static Route}###########
up ip route add 172.19.1.0/24 via 172.19.1.2 dev eth2
接下来,使用以下命令输入所有详细信息后重新启动网络服务。
$ sudo systemctl restart networking
17. 如何添加默认网关
在网络中,默认网关起着重要的作用。当路由表不包含有关目的地的任何信息时使用它。
可以全局指定默认网关,也可以为特定于接口的配置文件指定默认网关。默认网关的优点是系统中存在多个 NIC。您可以动态添加默认网关,如命令下方所示。
首先,我们添加一个以太网0作为默认网关的网络接口:
$ sudo ip route add default via 172.17.0.1
现在,让我们使用以下命令验证默认网关设置:
$ ip route show

请注意,我们已在测试机器上执行了此命令。在生产环境中使用此命令时请小心。
18. 如何删除默认网关
我们可以使用以下命令来删除默认网关:
$ sudo ip route del default
现在,让我们列出路由表以验证默认网关是否已被删除:
$ ip route show

19. 如何显示 ARP 缓存
ARP代表地址解析协议,用于查找苹果与特定 IP 地址关联的地址。
我们可以使用嘶使用 ip 命令显示 ARP 缓存对象:
$ ip neigh show

在上面的命令中,neigh 代表相邻的对象。
20. 如何添加ARP表项
要创建新的 ARP 条目,我们可以使用 add 子命令嘶目的。
$ sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2
现在,让我们列出 ARP 缓存条目:
$ ip neigh show

在上面的输出中,我们可以看到新条目以太坊2网络接口。
21. 如何删除 ARP 条目
与其他网络对象一样,我们可以使用的删除 ARP 条目的子命令。例如,以下命令删除以太坊2网络接口:
$ sudo ip neigh del 172.19.1.0 dev eth2
现在,我们通过列出 ARP 缓存来验证该条目是否已被删除:
$ ip neigh show

22. 如何刷新 ARP 条目
我们可以使用冲水子命令删除多个 ARP 条目。要理解这一点,首先添加一些ARP条目与陈旧状态:
$ sudo ip neigh add 172.19.1.0 lladdr 02:42:e3:40:a6:b1 dev eth2 nud stale $ sudo ip neigh add 172.19.2.0 lladdr 02:42:e3:40:a6:b2 dev eth2 nud stale $ sudo ip neigh add 172.19.3.0 lladdr 02:42:e3:40:a6:b3 dev eth2 nud stale
接下来,验证新条目是否已成功添加:
$ ip neigh show
然后,使用以下命令刷新所有条目:
$ sudo ip neigh flush all
最后,验证所有条目是否已被删除:
$ ip neigh show

23. 如何设置网络接口的MTU
人代表最大传输单元,它表示单个事务中可以传输的最大数据包大小。我们可以根据我们的性能要求操纵 MTU 大小。
首先,我们先找到人的以太坊2网络接口:
$ ip -j -p link show eth2 | grep mtu
接下来,更新人的大小以太坊2网络接口到3000:
$ sudo ip link set mtu 3000 dev eth2
最后验证MTU是否更新成功:
$ ip -j -p link show eth2 | grep mtu

24. 如何更改网络Mac地址
这ip命令允许我们更改网络接口的 MAC 地址。为此,我们可以将 set 子命令与链接对象一起使用:
首先列出当前苹果地址的以太坊2网络接口:
$ ip -j -p link show eth2 | grep address
接下来,使用以下命令更改网络接口的 MAC 地址:
$ sudo ip link set dev eth2 address 02:42:ac:13:01:03
最后,验证MAC地址是否已更改:
$ ip -j -p link show eth2 | grep address

请参考手册页做人的IP地址从终端/命令提示符了解有关 IP 命令的更多信息。
$ man ip
结论
在本文中,我们讨论了一些常见的示例ip命令。人们可以在日常生活中使用这些示例来执行网络管理。
您还知道 Linux 中 ip 命令的其他最佳示例吗?请在下面的评论中告诉我们您的看法。
