29、《网络连接配置全解析》

《网络连接配置全解析》

1. 网络基础组件

在网络连接的构建中,有几个关键的基础组件起着重要作用。
- 路由器(Router) :路由器,也被称为网关,用于连接两个或更多的网络。通常,桌面电脑或服务器会直接连接到包括路由器在内的少数其他计算机。路由器再连接到另一个网络,以此类推。当你要与其他网络上的计算机通信时,你的计算机需要通过路由器进行信息传递。家庭和小型企业常常使用小型宽带路由器来连接互联网,这些设备不仅具备路由功能,还内置了 DNS、DHCP 等实用服务器。
- TCP/IP :传输控制协议/网际协议(TCP/IP)是一套标准,它构成了大多数现代网络通信在软件层面的基础。虽然存在如 AppleTalk、NetBEUI 和 IPX/SPX 等替代协议,但 TCP/IP 是最常见的网络协议,也是互联网的基础。
- Wi-Fi :Wi-Fi 是最常见的无线网络形式,更准确地说,它是 IEEE 802.11 标准。存在多种不同速度的变体。

2. 网络连接的基本要素

创建网络连接的过程主要是为计算机分配一个 IP 地址和相关的子网掩码。借助 IP 地址,计算机可以与本地网络上的其他计算机进行通信,即那些不需要路由器作为中介的设备。在大多数情况下,你需要告知计算机网络的路由器信息,以便它能够与其他网络段(通常包括整个互联网)上的计算机进行通信。为计算机提供 DNS 服务器的 IP 地址,你就可以使用计算机的主机名而非 IP 地址进行访问,这是一个非常实用的功能。因此,IP 地址、子网掩码、路由器的 IP 地址和 DNS 服务器的 IP 地址这四个要素构成了基本的网络配置特征。

在大多数情况下,动态主机配置协议(DHCP)可以自动分配这四个要素,使网络配置变得相对自动化。但如果你的网络不支持 DHCP,你就需要联系网络管理员以获取关键的配置信息。在某些情况下,你可能还需要更多信息,例如,如果你使用 Wi-Fi,你需要知道 Wi-Fi 网络的名称和可能的密码。

3. 是否使用 DHCP 的决策

一台计算机要连接到典型网络,至少需要两个信息:IP 地址和子网掩码。在大多数网络中,路由器和 DNS 服务器的 IP 地址也是实际必需的,尽管在某些情况下可以不使用其中一个或两个。有些网络还需要额外的配置细节。

在大型网络中,为每台计算机手动配置所有这些信息不仅耗时,还容易因人为错误(如 IP 地址输入错误)导致问题。因此,大多数网络都提供了 DHCP 服务器,它可以为其他计算机提供这些信息。

根据服务器的配置,DHCP 可以通过以下两种方式分配 IP 地址:
- 固定分配 :每台计算机每次启动时都将获得相同的 IP 地址。
- 动态分配 :同一台计算机在不同启动时可能会获得不同的 IP 地址。

使用哪种方式由网络管理员决定。你只需知道通过 DHCP 配置的计算机不一定每次启动都能获得相同的 IP 地址,这一事实可能会产生重要影响。例如,为服务器计算机配置固定 IP 地址通常是最简单和最可靠的方法。因此,作为一项策略,即使同一网络上的工作站使用 DHCP,服务器计算机也常常不使用 DHCP 进行配置。不过,情况并非总是如此,因为 DHCP 也可以为部分或所有计算机分配固定地址,所以 DHCP 服务器的管理员可以通过这种方式配置网络中的服务器。

实际上,除非你正在配置自己的小型私人网络,否则你应该询问网络管理员是否为新计算机使用 DHCP。如果答案是否定的,你应该向管理员索要 IP 地址、子网掩码、路由器的 IP 地址和 DNS 服务器的 IP 地址。

4. 创建 Wi-Fi 连接

Wi-Fi 连接通常用于笔记本电脑和小型便携式计算机,因为在使用这些设备时不使用物理网络电缆往往更为方便。不过,一些台式计算机也具备 Wi-Fi 功能,你也可以选择使用。

在进行配置之前,你必须能够访问 Wi-Fi 网络。如果你正在配置一台计算机以连接到你购买并设置好的宽带路由器,请查阅路由器的文档,了解如何获取路由器的关键信息,如服务集标识符(SSID,即 Wi-Fi 网络的名称,可能不同于 TCP/IP 网络名称)和使用的密码。如果你试图连接到企业网络或公共网络,请咨询网络管理员以获取此信息。

无论使用何种类型的计算机,配置 Wi-Fi 连接最简单的方法是使用图形用户界面(GUI)。具体操作步骤因不同的操作系统发行版而异,以 Fedora 为例:
1. 打开系统设置工具。你可以通过点击桌面右上角的用户名,从弹出菜单中选择“系统设置”,或者在终端中输入“gnome-control-center”来打开该工具。
2. 在系统设置的硬件部分中,点击“网络”选项。
3. 在网络窗口左侧的列表中,点击“无线”选项。此时窗口将发生变化,类似于图 17.1 所示。

graph LR
    A[打开系统设置] --> B[点击网络选项]
    B --> C[点击无线选项]
  1. 点击“网络名称”字段右侧的倒三角,打开下拉菜单,选择你要连接的网络。
  2. 如果你选择的网络需要身份验证,将弹出一个类似于图 17.2 所示的对话框。
  3. 在“密码”字段中输入你的网络密码,然后点击“连接”。

如果一切顺利,网络窗口中的“已断开连接”字样将变为“正在连接”,随后变为“已连接”。根据网络的配置,你可能还会在窗口中看到 IP 地址、默认路由和 DNS 服务器的 IP 地址。如果是这样,计算机现在已完全配置好可以进行网络访问,该工具会自动执行后续章节中“使用网络配置 GUI”部分描述的任务。如果没有显示这些信息,你可能需要执行额外的配置任务,例如手动设置 IP 地址,也有可能 Wi-Fi 连接失败了。

5. Wi-Fi 安全问题

由于 Wi-Fi 数据是通过无线电波传输的,因此很容易被拦截。坐在建筑物外汽车里的人通常可以访问 Wi-Fi 网络,这会带来三个问题:
- 入侵者可以拦截网络上传输的数据,可能获取敏感文件、信用卡号码等信息。
- 入侵者可能会从你为保护自己免受外部攻击而设置的防火墙后面,对你的计算机发起攻击。
- 入侵者可以使用你的网络访问权限攻击其他计算机或进行非法活动,如盗版电影、音乐或软件。这不仅会消耗你的网络带宽,而且如果这些活动被发现,你可能会受到怀疑!

出于这些原因,你应该保护你管理的任何 Wi-Fi 网络。有三种安全级别可供选择(如果算上不使用任何安全措施,则有四种):
| 安全级别 | 描述 |
| ---- | ---- |
| WEP(有线等效保密) | 这是一种非常弱的加密协议,破解 WEP 加密网络的方法已经广为人知,因此这种方法基本上没有价值。 |
| WPA(Wi-Fi 保护访问) | 与 WEP 相比,WPA 安全提供了改进的加密和身份验证工具。 |
| WPA2 | WPA2 是 WPA 的替代品,它在加密和身份验证方面提供了更多的改进。 |

每种加密方法都有多种变体。例如,WPA 和 WPA2 都提供个人和企业选项,后者需要使用专用的身份验证服务器进行更复杂的设置。通常,你可以在宽带路由器或无线接入点(WAP)中设置加密方法。客户端会自动检测正在使用的方法,并提供相应的选项,如前面图 17.2 中所示的密码提示。

公共 Wi-Fi 连接可能不使用这些协议中的任何一种。你可以使用此类连接,但要注意你发送或接收的任何数据可能会被他人看到。

GUI 方法几乎总是建立 Wi-Fi 连接最简单的方法。但如果你需要对连接进行微调,你可以使用各种工具来探测和管理 Wi-Fi 链接。以下是两个最重要的工具:
- iwlist :该命令可以识别附近的 Wi-Fi 网络。以 root 用户身份输入“iwlist scan”或“iwlist scanning”可以获取附近网络的列表。不过,该命令会产生大量的技术数据。你可能最关心的是网络名称,它会在输出中“ESSID”字符串后面显示,因此输入“iwlist scan | grep ESSID”可以简化输出。
- iwconfig :此工具用于连接和断开特定的网络。它有许多选项,你可能需要查看其手册页以全面了解其用法。在大多数情况下,输入类似“iwconfig wlan0 essid NoWires channel 1 mode Managed key s:N1mP7mHNw”的命令就可以完成连接。这个例子展示了如何连接到运行在 1 频道、使用密码 N1mP7mHNw 的 NoWires 网络。

6. 获取 Wi-Fi 驱动程序

不幸的是,Linux 对 Wi-Fi 硬件的驱动支持相对较弱。如果你在尝试配置 Wi-Fi 硬件时没有看到它,你可能需要寻找合适的驱动程序。你可以使用“lspci”工具开始这个任务,输入该命令且不带任何选项,你将看到可用硬件的列表,然后在列表中搜索无线网络适配器。例如,某台笔记本电脑的“lspci”输出可能包含以下行:

03:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)

这一行表明 Wi-Fi 适配器是 Realtek RTL8191SEvB。在 Realtek 的网站上搜索可以找到相应的驱动程序,但这个驱动程序需要在本地编译,这超出了本文的范围。而且,你可能并不总是能如此幸运地找到驱动程序。

使用 Windows 驱动程序是使用原生 Linux 驱动程序的一种替代方法。通过一个名为“ndiswrapper”(http://ndiswrapper.sourceforge.net)的软件包,你可以在 Linux 中安装 Windows Wi-Fi 驱动程序。不幸的是,并非所有的发行版都在其标准软件包集中提供“ndiswrapper”,但你通常可以在附加软件源中找到二进制软件包。Linuxant DriverLoader 软件(http://www.linuxant.com/driverloader/)也提供类似的功能,虽然它不如“ndiswrapper”流行,但仍然值得考虑。

如果所有其他选项都失败了,你可能需要购买新的网络硬件。市场上有许多 USB Wi-Fi 适配器可供选择,但你应该进行研究,找到对 Linux 支持良好的产品。你还可以更换一些笔记本电脑内置的适配器。

《网络连接配置全解析》

7. 使用网络配置 GUI

如果你已经配置了 Wi-Fi 链接但未获得 IP 地址,或者需要设置有线网络连接,就必须设置 TCP/IP 网络选项。你可以通过文本模式工具(后续“使用基于文本的工具”部分会介绍)或图形用户界面(GUI)工具来完成。对于新用户来说,GUI 工具更容易使用,但不同的操作系统发行版的 GUI 工具会有所不同。以 Fedora 为例,使用 GUI 工具进行配置的步骤如下:
1. 打开系统设置工具。你可以点击桌面右上角的用户名,从弹出菜单中选择“系统设置”,或者在终端中输入“gnome - control - center”来打开。
2. 在系统设置的硬件部分中,点击“网络”选项。
3. 从窗口左侧的列表中选择网络设备。结果应类似于图 17.3,但如果你的网络链接未正常工作,可能会显示“已断开连接”而不是“已连接”,或者显示明显不同的信息。
4. 点击“选项”以调整网络设置。

graph LR
    A[打开系统设置] --> B[点击网络选项]
    B --> C[选择网络设备]
    C --> D[点击选项]
  1. 根据你的网络使用的是 IPv4 还是 IPv6,选择“IPv4 设置”或“IPv6 设置”选项卡。结果类似于图 17.4,图中显示了部分手动配置的 IPv4 设置。
  2. 使用“方法”按钮选择连接方法。最常见的是“自动(DHCP)”和“手动”选项,但也有一些不太常见的选项。你可以选择“禁用”来禁用网络连接。
  3. 如果你使用 DHCP,可以在“DHCP 客户端 ID”字段中输入计算机的 DHCP 客户端 ID。有些网络使用此信息为计算机分配主机名或固定 IP 地址。如果网络管理员没有提供此信息,你可以留空该字段。
  4. 要进行手动配置,在“方法”按钮中选择“手动”,然后输入其余信息。你可以通过点击“添加”按钮输入 IP 地址、子网掩码和路由器地址,点击后对话框的“地址”部分会出现相应的字段。
  5. 完成更改后,点击“保存”。

如果一切顺利,你的网络对话框应显示 IP 地址、子网掩码、默认路由和 DNS 服务器地址,不过有些网络可能会省略其中一些项目。

8. 使用基于文本的工具

虽然 GUI 网络配置工具易于使用且大多数情况下工作良好,但有时你必须使用更灵活的基于文本的工具集。这些工具包括:
| 工具名称 | 功能描述 |
| ---- | ---- |
| ifconfig | 该程序通过将 IP 地址和网络掩码与网络硬件关联来启动或关闭网络连接。 |
| route | 此程序用于调整计算机的路由表,路由表决定了特定网络数据包通过哪个网络设备发送。 |
| /etc/resolv.conf | 该文件包含最多三个 DNS 服务器的 IP 地址,以及计算机的互联网域名和当用户在主机名中省略域名时应搜索的其他域名。 |
| DHCP 客户端 | 如 dhclient 或 dhcpcd 等 DHCP 客户端程序,通常可以自动配置网络连接。你只需输入程序名称,可能后面跟上网络设备名称。 |
| 特定发行版的网络脚本 | ifconfig、route 和 DHCP 客户端程序会对计算机的网络配置产生临时更改。如果你想进行永久更改,必须将设置存储在配置文件中。该文件的名称和格式因发行版而异。例如,在 Fedora 中是 /etc/sysconfig/network - scripts/ifcfg - netname(netname 是网络设备的名称);在 Debian 或 Ubuntu 中是 /etc/network/interfaces。 |

ifconfig 和 route 命令都相当复杂,但它们的基本用法相对简单。假设你想将 IP 地址 192.168.29.39/24 分配给 eth0 网络设备,并指定 192.168.29.1 作为路由器,以下两个命令可以实现:

# ifconfig eth0 up 192.168.29.39 netmask 255.255.255.0
# route add default gw 192.168.29.1

你也可以使用 ifconfig 命令的“down”参数关闭连接,使用 route 命令的“del”参数删除路由等。具体细节请查阅这些程序的手册页。

如果你的网络使用 DHCP,你可以输入“dhclient netname”或“dhcpcd netname”来启动 netname 接口并使用 DHCP 进行配置。手动输入此命令在你调试与 DHCP 相关的网络问题或网络的 DHCP 配置发生变化并暂时导致某些计算机连接中断时非常有用。

9. 网络设备名称

传统上,Linux 会将第一个以太网设备命名为 eth0,后续设备依次命名为 eth1 等。类似地,Wi - Fi 设备的名称形式为 wlan0 及以上。然而,从 Fedora 15 开始,它开始偏离这种命名方案,这使得预测不同计算机上以太网设备的名称变得更加困难。这样做的目的是使具有多个网络接口的计算机在重新启动时设备名称更加稳定。这类系统通常是具有多个网络链接的路由器或服务器,它们通常需要在特定接口上进行特定配置。如果设备名称在每次启动时发生变化(例如,由于网络卡的发现顺序不同),可能会导致问题。

你可以通过不带任何选项地输入“ifconfig”命令来了解你的网络设备名称(普通用户也可以执行此操作)。结果会包含一个或多个类似以下的输出块:

em1   Link encap:Ethernet  HWaddr 00:26:6C:36:C8:58  
      inet addr:172.24.21.11  Bcast:172.24.21.255  Mask:255.255.255.0
      inet6 addr: fe80::226:6cff:fe36:c858/64 Scope:Link
      UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
      RX packets:15962 errors:0 dropped:0 overruns:0  frame:0
      TX packets:9150 errors:0 dropped:0 overruns:0  carrier:0
      collisions:0 txqueuelen:1000 
      RX bytes:22295082 (21.2 MiB)  TX bytes:2050687 (1.9 MiB)
      Interrupt:45

在这个例子中,em1 就是设备名称,它显著地位于输出块的开头。名称“lo”指的是回环设备,用于某些本地访问过程,如果你想查找网络硬件的设备名称,可以忽略它。

如果你手动配置网络设置,应该将 DNS 名称服务器数据和网络名称输入到 /etc/resolv.conf 文件中。以下是该文件的一个示例:

domain luna.edu
search example.com example.org
nameserver 192.168.1.2
nameserver 10.78.102.1
nameserver 10.78.221.1

/etc/resolv.conf 文件中有三个关键字用于标识 DNS 解析功能:
- domain :在这一行中指定计算机的默认域名。主要作用是,当你指定一个没有域名的主机名时,计算机将在该域名中搜索。例如,在上述示例中,如果你指定主机名“lunokhod”,计算机将查找“lunokhod.luna.edu”的 IP 地址。
- search :你可以通过在“search”行上指定其他域名,让计算机在这些域名中搜索主机名,域名之间用空格或制表符分隔。最多可以指定六个域名。不过要注意,向搜索路径中添加域名可能会减慢主机名查找速度。
- nameserver :此关键字通过 IP 地址标识 DNS 服务器计算机。你可以通过包含多个“nameserver”行指定多个服务器,最多三个。

如果你想手动调整永久网络配置,可以编辑网络配置文件,例如在 Fedora 系统上的 /etc/sysconfig/network - scripts/ifcfg - netname 文件。以下是该文件的一个示例:

DEVICE="em1"
BOOTPROTO="static"
IPADDR=192.168.29.39
NETMASK=255.255.255.0
NETWORK=192.168.29.0
BROADCAST=192.168.29.255
GATEWAY=192.168.29.1
ONBOOT=yes
NM_CONTROLLED="yes"
HWADDR=00:26:6C:36:C8:58
TYPE=Ethernet
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System em1"
UUID=1dad842d-1912-ef5a-a43a-bc238fb267e7

其中一些选项的用途可以根据名称推测,你可以根据需要进行调整。如果你不理解某个选项,最好保持其默认值。你可能需要关注的一些特定功能包括:
- 如果你想使用 DHCP,将“BOOTPROTO”行改为“BOOTPROTO = “dhcp””,而不是“BOOTPROTO = “static””,并删除从“IPADDR”到“GATEWAY”的行。
- 如果你想阻止网络链接在计算机启动时自动启动,将“ONBOOT”改为“no”。这样,用户每次使用网络时都必须手动激活。
- “NETWORK”和“BROADCAST”选项都可以从 IP 地址(IPADDR)和子网掩码(NETMASK)推导得出。“NETWORK”地址是 IP 地址的网络部分,主机特定部分用二进制 0 替代;“BROADCAST”地址类似,但主机特定部分用二进制 1 替代。

如果你使用的是 Debian、Ubuntu 或其他使用不同网络配置文件的发行版,你需要找到该文件并进行修改。文件格式可能与上述示例不同,但你需要更改的条目通常比较明显。如有疑问,请查阅特定发行版的文档。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值