如何检查 Linux 中是否配置了网络隧道

LinuxLinuxBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

在这个实验中,你将学习如何检查你的 Linux 系统上是否配置了网络隧道。你将使用 ip tunnel show 命令列出现有的隧道,并使用 ip link show 命令验证它们是否作为网络接口存在。最后,你将探索如何检查 /etc/network 目录中的隧道配置。这个实践实验将为你提供在 Linux 环境中识别和理解网络隧道设置的基本命令和技术。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/cat -.-> lab-558744{{"如何检查 Linux 中是否配置了网络隧道"}} linux/ip -.-> lab-558744{{"如何检查 Linux 中是否配置了网络隧道"}} end

使用 ip tunnel show 列出隧道

在这一步中,你将学习如何使用 ip tunnel show 命令列出你的 Linux 系统上现有的网络隧道。网络隧道是封装网络流量的虚拟连接,常用于 VPN 或其他网络配置。

ip 命令是 Linux 中用于管理网络接口、路由和隧道的强大工具。

如果你还没有打开终端,请打开它。你可以通过点击桌面左侧的 Xfce Terminal 图标来打开终端。

现在,在终端中输入以下命令并按回车键:

ip tunnel show

此命令将显示系统上所有已配置的网络隧道列表。

你可能会看到类似以下的输出:

vti0: ip/ip remote any local any ttl inherit key 0

或者,如果没有配置任何隧道,你可能看不到输出,或者会看到一条提示未找到隧道的消息。

输出提供了每个隧道的相关信息,例如:

  • 隧道接口名称(例如,vti0)。
  • 隧道类型(例如,ip/ip)。
  • 远程和本地 IP 地址(如果已配置)。
  • 生存时间(TTL)设置。
  • 密钥信息(如果用于身份验证)。

理解 ip tunnel show 的输出是管理网络隧道的第一步。它让你能够快速查看哪些隧道处于活动状态以及它们的基本配置。

在接下来的步骤中,你将探索验证和检查隧道配置的其他方法。

点击 继续 以继续操作。

在上一步中,你使用 ip tunnel show 列出了隧道。现在,让我们使用 ip link show 命令来查看这些隧道如何作为网络接口显示。

ip link show 命令会显示系统上网络接口的信息,包括物理接口(如以太网或 Wi-Fi)和虚拟接口(如隧道)。

在终端中输入以下命令并按回车键:

ip link show

此命令将输出所有网络接口的列表。查找与你使用 ip tunnel show 看到的隧道相对应的接口。

你应该会看到类似以下的输出,其中包含我们之前看到的 vti0 接口:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP mode DEFAULT group default
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff link-netnsid 0
3: vti0: <NOARP> mtu 1480 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ipip 0.0.0.0 brd 0.0.0.0

注意 vti0 的条目。它被列为类型为 link/ipip 的网络接口。这证实了该隧道在系统中被表示为一个网络接口。

ip link show 命令提供了有关接口状态(例如,UPDOWN)、其 MTU(最大传输单元)和其他链路层信息的详细内容。

同时使用 ip tunnel showip link show 可以让你更全面地了解网络隧道的配置和状态。

点击 继续 进入下一步。

检查 /etc/network 中的隧道配置

在前面的步骤中,你使用 ip tunnel showip link show 查看了活动隧道及其对应的接口。现在,让我们来看看在像 Ubuntu 这样基于 Debian 的系统上,一些网络接口配置存储在哪里:/etc/network/interfaces 文件。

这个文件是定义网络接口(包括隧道)的常用位置,这些接口会在系统启动时进行配置。

你将使用 cat 命令来显示这个文件的内容。cat 是一个简单的命令,它按顺序读取文件并将其打印到标准输出。

在终端中输入以下命令并按回车键:

cat /etc/network/interfaces

你将看到网络接口配置文件的内容。它可能看起来像这样:

## interfaces(5) file used by ifup(8) and ifdown(8)
## Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d

auto lo
iface lo inet loopback

auto vti0
iface vti0 inet tunnel
    mode ipip
    address 192.168.1.1
    netmask 255.255.255.0
    local 10.0.0.1
    remote 10.0.0.2
    ttl 64
    key 1234

这个输出展示了 vti0 隧道接口是如何定义的。你可以看到:

  • auto vti0:这一行表示 vti0 接口应该在系统启动时自动启用。
  • iface vti0 inet tunnel:将 vti0 定义为使用 inet tunnel 族的隧道接口。
  • mode ipip:指定隧道协议(IP-in-IP)。
  • addressnetmasklocalremote:这些行定义了隧道的 IP 地址和端点。
  • ttl:设置穿越隧道的数据包的生存时间(Time-to-Live)。
  • key:指定隧道使用的密钥(如果已配置)。

注意: 这个文件的确切内容可能会因系统配置而异。但是,定义接口(包括隧道)的结构通常是相似的。

检查像 /etc/network/interfaces 这样的配置文件对于理解你的网络接口(包括隧道)如何在系统上持久设置至关重要。

你现在已经学习了三种不同的方法来检查网络隧道:使用 ip tunnel show 列出它们,使用 ip link show 验证它们的接口,以及检查它们的配置文件。

点击 继续 完成本次实验。

总结

在本次实验中,你学习了如何在 Linux 系统中检查已配置的网络隧道。你首先使用 ip tunnel show 命令列出现有的隧道,并了解它们的基本配置细节,如接口名称、类型和地址。

接着,你通过使用 ip link show 命令探索了网络隧道如何以接口形式呈现,该命令会显示所有网络接口的信息,包括像隧道这样的虚拟接口。这些步骤为验证 Linux 系统上网络隧道的存在和基本状态提供了基本方法。