目录
摘要
Linux 提供集成进各类网络结构中所需的联网工具和功能。可以通过 YaST 来配置使用网卡、调制解调器或其他设备进行的网络访问。也可以手动进行配置。在本章中,仅描述基础机制和相关网络配置文件。
Linux 和其他 Unix 操作系统均使用 TCP/IP 协议。该协议不是单个网络协议,而是提供多种服务的一系列网络协议。表 22.1 “TCP/IP 系列协议中的若干协议” 中所列的协议专用于在两台计算机之间通过 TCP/IP 交换数据。由 TCP/IP 连接而成的网络构成了全球网络,也称作“因特网”。
RFC 代表注释请求。RFC 由一些文档组成,用来描述各种因特网协议和操作系统及其应用程序的实施过程。RFC 文档用来描述如何设置因特网协议。要进一步了解某个协议,请参见相应的 RFC 文档。这些文档可在 http://www.ietf.org/rfc.html 获得。
表 22.1. TCP/IP 系列协议中的若干协议¶
|
协议 |
描述 |
|---|---|
|
传送控制协议:面向连接的安全协议。要传输的数据首先由应用程序作为数据流发送,然后由操作系统转换为相应的格式。数据到达目标主机上的相应应用程序时采用最初发送时的原始数据流格式。TCP 确定在传输过程中是否有任何数据丢失或发生混乱。只要涉及到数据序列就会实施 TCP。 | |
|
用户数据报协议:无连接、不安全的协议。要传送的数据以应用程序生成的数据包的形式发送。不能保证数据以正确的顺序到达接收方,也可能丢失数据。UDP 适用于面向记录的应用程序。它的等待时间比 TCP 稍短。 | |
|
因特网控制消息协议:这实际上不是一个面向最终用户的协议,而是一个特殊的控制协议,用来发出错误报告,还可以控制参与 TCP/IP 数据传送的计算机的行为。此外,它还提供一种特殊的回应方式,可以通过 ping 程序查看该方式。 | |
|
因特网组管理协议:此协议控制实施 IP 多路广播时的计算机行为。 |
如图 22.1 “TCP/IP 的简化层次模型” 中所示,数据交换在不同的层中进行。实际的网络层是通过 IP(因特网协议)的不安全数据传送。IP 的上面是 TCP(传送控制协议),它能够确保一定程度的数据传送安全性。IP 层又受底层硬件相关协议(例如以太网)的支持。
该图为每一层都提供了一到两个示例。层次按照抽象程度排序。最底层非常接近硬件。最上层则几乎就是硬件的完全抽象化。每一层都有自己的特殊功能。每一层的特殊功能多隐含在其描述中。数据链路层和物理层表示所用的物理网络(如以太网)。
几乎所有硬件协议都在面向数据包的基础上发挥作用。要传送的数据收集在包中(一次无法发送所有数据)。TCP/IP 包最大约为 64 KB。包通常要小得多,因为可能受到网络硬件的限制。以太网上的数据包最大约为 1500 字节。通过以太网发送数据时,TCP/IP 包不能超过这个限额。如果传送更多数据,操作系统需要发送更多的数据包。
为使层实现其指定功能,必须在数据包中保存与每层相关的附加信息。这些信息保存在数据包的报头中。每一层都在每个新包的开头附加一小块称为协议报头的数据。演示了一个通过以太网电缆传送的示例 TCP/IP 数据包。图 22.2 “TCP/IP 以太网包” 校验和位于包的末尾而不是开头,这样更便于网络硬件处理。
当应用程序通过网络发送数据时,数据会穿越每个层次,所有传递都在 Linux 内核中实施(只有物理层除外)。每一层都负责准备好数据,以便传递到下一层。最底层最后负责发送数据。接收数据时则逆向执行整个过程。正像剥洋葱皮那样,在每一层中都要从传输数据中删除协议报头。最后,传输层负责使数据可供目标上的应用程序使用。通过这种方式,每一层只与其上一层或下一层通讯。对于应用程序,无论数据是通过 100 Mbit/s(兆位/秒)的 FDDI 网络传送还是通过 56 Kbit/s(千位/秒)的调制解调器线路传送,都与此无关。同样,只要数据包的格式正确,传送哪种数据对数据线也无关紧要。
各节的论述仅限于 IPv4 网络。有关 IPv6 协议(IPv4 的后续协议)的信息,请参见第 22.2 节 “IPv6 — 下一代的因特网”。
因特网上的每台计算机都有一个唯一的 32 位地址。这些 32 位(或 4 字节)地址通常按例 22.1 “编写 IP 地址” 的第二行所示的格式书写。
例 22.1. 编写 IP 地址¶
IP Address (binary): 11000000 10101000 00000000 00010100 IP Address (decimal): 192. 168. 0. 20
在十进制格式中,四字节以十进制数书写,其间以句点分隔。IP 地址被指派给主机或网络接口。它在全球只能使用一次。这条规则也有例外,但这些例外与下文无关。
IP 地址中的点表示分级系统。直到 20 世纪 90 年代,IP 地址仍然有严格的分类。但是,此系统经证实太过死板,已经废止。现已改为使用无类别路由 - (CIDR,无类别域间路由)。
网络掩码用于定义子网的地址范围。如果两台主机位于同一子网中,它们可直接相互访问。如果它们位于不同子网中,则需要用于处理此子网的所有通讯的网关地址才能相互访问。要检查两个 IP 地址是否位于同一个子网中,只需分别将两个地址与网络掩码进行“AND”操作。如果结果相同,则两个 IP 地址在同一个本地网络中。如果结果不同,则仅能通过网关连接远程 IP 地址和远程接口。
要了解网络掩码如何工作,可查看例 22.2 “将 IP 地址链接到网络掩码”。网络掩码有 32 位,它确定属于网络的 IP 地址是多少。对于所有为 1 的位,将它们在 IP 地址中的相应位标记为属于网络。对于所有为 0 的位,标记为属于子网。这意味着为 1 的位越多,子网就越小。因为网络掩码总是由多个连续的 1 位组成,所以也可仅计算网络掩码中的位数。在例 22.2 “将 IP 地址链接到网络掩码” 中,第一个 24 位也可写作 192.168.0.0/24。
例 22.2. 将 IP 地址链接到网络掩码¶
IP address (192.168.0.20): 11000000 10101000 00000000 00010100 Netmask (255.255.255.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------- Result of the link: 11000000 10101000 00000000 00000000 In the decimal system: 192. 168. 0. 0 IP address (213.95.15.200): 11010101 10111111 00001111 11001000 Netmask (255.255.255.0): 11111111 11111111 11111111 00000000 --------------------------------------------------------------- Result of the link: 11010101 10111111 00001111 00000000 In the decimal system: 213. 95. 15. 0
再举个例子:通过同一以太网电缆相连的所有计算机通常都位于同一子网中,可直接访问。即使用交换机或网桥物理分隔该子网,这些主机仍然可以直接访问。
仅在网关是为目标网络配的时,才能访问本地子网外部的 IP 地址。通常情况下,只有一个网关处理所有外部流量。然而,也可能为不同的子网配置多个网关。
如果配置了网关,所有的外部 IP 包将发送到相应的网关。此网关随后会尝试以相同的方式转发该包(从主机到主机)直到到达目标主机或超过该包的 TTL(存活时间)。
表 22.2. 特定地址¶
|
地址类型 |
描述 |
|---|---|
|
这是网络掩码和该网络中的任意地址,如例 22.2 “将 IP 地址链接到网络掩码” 中的 | |
|
这大体表示“访问此子网内的所有主机”。要生成此地址,需要将网络掩码反转为二进制格式,并使用逻辑 OR 链接到基本网络地址。因此,以上示例会生成 192.168.0.255。该地址无法指派给任何主机。 | |
|
地址 |
由于 IP 地址必须在全球范围内唯一,您不能随机选择地址。共有三个地址域可用于建立基于 IP 的专用网络。这些地址无法与因特网上的其他地址建立任何连接,因为它们不能通过因特网传送。这些地址域在 RFC 1597 中指定,并且列在表 22.3 “专用 IP 地址域” 中。
表 22.3. 专用 IP 地址域¶
|
网络/网络掩码 |
域 |
|---|---|
|
|
|
|
|
|
|
|
|
![]() | IBM System z:IPv6 支持 |
|---|---|
IBM System z 硬件的 CTC 和 IUCV 网络连接不支持 IPv6。 | |
由于 WWW(万维网)的出现,过去十五年中越来越多的计算机开始通过 TCP/IP 通信,这使因特网有了突飞猛进的发展。自从 1990 年在 CERN (http://public.web.cern.ch) 任职的 Tim Berners-Lee 开创了 WWW,因特网主机的数量已从几千台猛增至上亿台。
如上所述,IPv4 地址只有 32 位。而且还有不少 IP 地址丢失,它们因网络组织结构的原因而无法使用。子网中可用的地址数量是位数的平方减 2。举例来说,某个子网可以有 2 个、6 个或 14 个可用地址。如果要将 128 台主机连接到因特网,您的子网要提供 256 个 IP 地址,其中只有 254 个可用,因为有两个 IP 地址需要供该子网本身的结构使用:广播和基础网络地址。
在当前的 IPv4 协议下,DHCP 或 NAT(网络地址转换)是用来避免出现地址短缺的典型机制。这些方法与用来分隔专用地址空间和公用地址空间的规定相结合,肯定能够缓解短缺状况; 它们的问题在于不仅配置烦琐,而且也加重了维护的负担。要在 IPv4 网络内设置主机,您需要若干地址项,如主机本身的 IP 地址、子网掩码、网关地址,可能还要提供名称服务器地址。所有这些项都是必需的,而且无法从其他任何地方得到这些项。
利用 IPv6,地址的短缺和复杂的配置都将成为过去。以下各节进一步描述了 IPv6 带来的改进和优点,以及如何从旧协议过渡到新协议。
新协议中最为重要同时也最为显著的改进在于对可用地址空间的极大扩容。IPv6 地址由 128 位值而不是传统的 32 位值组成,它提供的 IP 地址数目多达 10 的 15 次方的若干倍。
不过,IPv6 与以前的不同不仅限于长度,其内部结构也发生了变化,这种结构可以包含更多的有关系统和系统所属网络的具体信息。有关详细信息,请参见 第 22.2.2 节 “地址类型和结构”。
以下列出了新协议的其他一些优点:
IPv6 使网络可以支持“即插即用”,这意味着无需任何手动配置即可将新安装的系统集成到(本地)网络中。新主机可以使用其自动配置机制,依赖名为邻居发现 (ND) 的协议从邻近的路由器提供的信息中得到自己的地址。这种方法不要求管理员参与,并且无需维护用于分配地址的中央服务器,这是 IPv4 无法媲美的(IPv4 中需要使用 DHCP 服务器来自动分配地址)。
无论路由器是否已连接到交换机,路由器都应发送带标志的定期广告,告诉网络中的主机应如何交互。有关更多信息,请参见 RFC 2462 和 radvd.conf(5) 手册页以及 RFC 3315。
利用 IPv6,为一个网络接口同时指派多个地址成为可能。这使得用户能方便地访问几个网络,可比作手机公司提供的国际漫游服务:您携带手机出境时,手机一旦进入相应区域就会自动登录外国服务,因此无论您在哪儿,都可以用同一号码联系您,并且可以像在家乡一样拨打电话。
在 IPv4 中,网络安全是一项附加功能。IPv6 则将 IPsec 作为其核心功能之一,允许系统通过安全隧道通讯,避免被因特网上的外来者窃听。
实际上,要想将整个因特网一下子从 IPv4 转换为 IPv6 是不可能的。因此,这两个协议不仅要能在因特网上同时存在,还应能够同时存在于一个系统中,这一点至关重要。要实现这一点,一方面两种地址应兼容(IPv4 地址可以轻松转换为 IPv6 地址),另一方面还要使用一定数量的隧道。请参见第 22.2.3 节 “IPv4 与 IPv6 并存”。此外,系统可以依赖双栈 IP 技术同时支持两种协议,这意味着系统中有两种完全分开的网络堆栈,从而避免这两种版本的协议相互影响。
在 IPv4 中,有些服务(如 SMB)需要向本地网络中的所有主机广播其数据包。IPv6 则采用一种更为精确的方式,通过多路广播支持服务器对主机寻址,即对作为组中一部分的若干主机寻址(这不同于通过广播对所有主机寻址或通过单路广播对每台主机逐个寻址)。将哪些主机作为一组来寻址可能要取决于具体的应用程序。可使用一些预定义的组来寻址,例如对所有名称服务器寻址(所有名称服务器多路广播组),或对所有路由器寻址(所有路由器多路广播组)。
如上所述,目前的 IP 协议在两个重要方面有缺陷:IP 地址日益短缺,配置网络、维护路由选择表的任务变得越来越复杂和艰难。IPv6 通过将地址空间扩展到 128 位解决了第一个问题。通过引入分级地址结构,结合先进的网络地址分配技术和多宿主功能(将多个地址指派给同一个设备,从而支持对多个网络的访问),第二个问题也迎刃而解。
使用 IPv6 时,了解三种类型的地址十分有用:
这类地址只与一个网络接口关联。采用这类地址的包只传递到一个目标。因此,使用单路广播地址可以将包传送到本地网络或因特网上的单个主机。
这类地址与一组网络接口相关。采用这类地址的包将传递到属于该组的所有目标。多路广播地址主要供特定网络服务使用,用于以有序的方式与特定的主机组通讯。
这类地址与一组接口相关。采用这类地址的包将根据基础路由协议的原则,传递给该组中与发送方最为接近的成员。任意广播地址便于主机在特定网络区域内找到提供特定服务的服务器。同一类型的所有服务器都具有相同的任意广播地址。在请求服务时,主机会收到路由协议决定的最接近它的服务器的回复。如果出于某种原因此服务器无法回复,协议会自动选择距离稍远一些的服务器,依此类推。
IPv6 地址分为八组,每组四位数字,代表十六位,采用十六进制表示法。它们之间用冒号 (:) 分隔。可以删除某组中的前置零字节,但不能删除组中或组末的零。另一个约定是:连续的零字节若超过四个,则可以省略为双冒号形式。不过,每个地址只允许有一个这样的 ::。中演示了这种简写表示法,其中的三行全部表示同一地址。例 22.3 “示例 IPv6 地址”
例 22.3. 示例 IPv6 地址¶
fe80 : 0000 : 0000 : 0000 : 0000 : 10 : 1000 : 1a4 fe80 : 0 : 0 : 0 : 0 : 10 : 1000 : 1a4 fe80 : : 10 : 1000 : 1a4
IPv6 地址的每个部分都有明确的功能。前面的字节构成前缀,用于指定地址类型。中间部分是地址的网络部分,但可以不用。地址的结尾构成主机部分。在 IPv6 中,网络掩码是通过在地址末尾的斜杠后指明前缀的长度来定义的。例 22.4 “指定前缀长度的 IPv6 地址” 中的地址包含上述信息,即:前 64 位构成地址的网络部分,后 64 位构成地址的主机部分。换言之,64 表示网络掩码由左起的 64 个 1 位值构成。正如 IPv4,要用 AND 将 IP 地址与子网值结合起来,以确定主机位于同一子网中还是其他网络中。
IPv6 可以识别几种预定义的前缀类型。其中有些列在表 22.4 “各种 IPv6 前缀” 中。
表 22.4. 各种 IPv6 前缀¶
|
前缀(十六进制) |
定义 |
|---|---|
|
|
IPv4 地址和 IPv6 上的 IPv4 兼容地址。这些用于与 IPv4 保持兼容。要使用这些地址,仍然需要依赖路由器将 IPv6 包转换为 IPv4 包。有若干特殊地址(如用于回路设备的地址)也采用此前缀。 |
|
|
可聚合全局单路广播地址。类似 IPv4 的情况,可以指定某个接口作为特定子网的一部分。目前,有以下地址空间: |
|
|
链路本地地址。不应路由带有这种前缀的地址,而只能从同一子网中访问。 |
|
|
站点本地地址。可以路由这种地址,但只局限在它们所属的组织的网络之内。实际上,这些是相当于当前的专用网络地址空间(如 |
|
|
这些是多路广播地址。 |
单路广播地址由三个基本部分组成:
第一部分(也包含上述前缀之一)用于通过公共因特网路由数据包。其中包含提供因特网访问的公司或机构的相关信息。
第二部分包含要将包传递到的子网的路由信息。
第三部分标识要将包传递到的接口。其中允许使用 MAC。由于 MAC 是硬件厂商编程到设备中的全球唯一的固定标识符,配置过程得到了极大简化。事实上,前 64 个地址位共同构成 EUI-64 令牌,后 48 位从 MAC 中提取,其余的 24 位包含有关令牌类型的特殊信息。这样还可以将 EUI-64 令牌指派给没有 MAC 的接口,如基于 PPP 或 ISDN 的接口。
在这个基础结构之上,IPv6 还区分五种不同的单路广播地址:
:: (未指定) 在首次初始化接口时(即无法通过其它方法确定地址时),这类地址可用作主机的源地址。
::1(回路) 回路设备的地址。
IPv6 地址由 IPv4 地址和 96 个零位组成的前缀构成。这类兼容地址用于隧道通讯进程(请参见第 22.2.3 节 “IPv4 与 IPv6 并存”),以便 IPv4 和 IPv6 主机与在纯 IPv4 环境中操作的其他主机通讯。
这类地址以 IPv6 表示法指定纯 IPv4 地址。
有两类地址可供本地使用:
这类地址只能在本地子网中使用。不能将源地址或目标地址采用此类地址的包路由到因特网或其他子网。这些地址包含特殊的前缀 (fe80::/10) 和网卡的接口 ID,中间部分为零字节。这类地址在自动配置过程中使用,用于与同一子网中的其他主机通讯。
可以将采用这类地址的包路由到其它子网,但不能路由到更广阔的因特网(不能跨越组织自身的网络)。这类地址用于内部网,相当于 IPv4 定义的专用地址空间。其中包含特殊的前缀 (fec0::/10)、接口 ID,及指定子网 ID 的 16 位域。其余部分也是零字节。
作为 IPv6 引进的全新功能,每个网络接口通常可以获得多个 IP 地址,这个功能的优点即在于:可以通过同一接口访问多个网络。其中一个网络可以使用 MAC 和已知前缀进行完全的自动配置,这样一启用 IPv6 (使用链路本地地址),即可访问本地网络中的所有主机。由于其中使用了 MAC,所用的任何 IP 地址都是全球唯一的。地址中只有指定站点拓朴结构和公共拓朴结构的部分才是可变部分,这取决于主机当前运行所在的实际网络。
要使主机在不同网络间切换,主机至少需要两个地址。其中之一 - 本地地址,不仅包含接口 ID 而且包含该主机通常所属的本地网络的标识符(以及相应的前缀)。本地地址是静态地址,因此一般不变。所有要发送到移动主机的包仍可以传递到该主机,不管它是在本地网络还是其他任何网络中操作。这一点得益于 IPv6 引进的全新功能,如无状态自动配置和邻居发现。除本地地址之外,移动主机还获得一个或多个额外的地址,这些地址属于该主机漫游到的外地网络。这些地址称为转交地址。本地网络有一种功能,可以在主机漫游到外地时转发要发送给该主机的所有包。在 IPv6 环境中,这项任务由本地代理来完成,该代理可以接收要发送到本地地址的所有包,并通过隧道进行转发。另一方面,发送到转交地址的那些包可直接转发到移动主机,而不必进行任何特殊的迂回处理。
将与因特网相连的所有主机从 IPv4 迁移到 IPv6 是一个逐步的过程。这两种协议将在未来一定时间内并存。通过双栈技术来实施这两种协议,可以在同一系统上同时支持这两种协议。但这仍然没有解决支持 IPv6 的主机如何与 IPv4 主机通讯,以及应如何通过当前网络(主要基于 IPv4)传输 IPv6 包的问题。最好的解决方案就是提供隧道处理功能和兼容地址(请参见 第 22.2.2 节 “地址类型和结构”)。
IPv6 主机多少孤立于(全球)IPv4 网络,它可通过隧道通讯:IPv6 包封装为 IPv4 包,以便在 IPv4 网络中移动。这种在两个 IPv4 主机间的连接被称为隧道。要实现这种功能,包必须包含 IPv6 目标地址(或相应的前缀),以及隧道接收端的远程主机的 IPv4 地址。根据主机管理员间的协议,可以手动配置基本的隧道。这也称作静态隧道。
但是,静态隧道的配置和维护往往过于烦琐,不能适应日常通讯需要。因此,IPv6 提供了三种不同的动态隧道方法:
IPv6 包被自动封装为 IPv4 包,并通过支持多路广播的 IPv4 网络发送。这种方法诱导 IPv6 将整个网络(因特网)视为一个巨大的局域网 (LAN)。这样即可自动确定 IPv4 隧道的接收端。不过,这种方法不够灵活,并且还因为 IP 多路广播在因特网上尚未普及而不易推行。因此,它提供的解决方案仅适用于支持多路广播的小型公司网络或机构网络。RFC 2529 中对这种方法作出了规定。
利用这种方法,可以从 IPv6 地址自动生成 IPv4 地址,从而支持孤立的 IPv6 主机通过 IPv4 网络进行通讯。不过,用这种方法在孤立的 IPv6 主机和因特网之间通讯时存在一些问题。RFC 3056 中对这种方法进行了描述。
这种方法依赖特殊的服务器为 IPv6 主机提供专用隧道。RFC 3053 中对此进行了描述。
要配置 IPv6,通常无需在各个工作站上执行任何更改。默认情况下启用 IPv6。安装期间,您可以在第 6.16.1.3 节 “网络配置” (第 6 章 使用 YaST 进行安装, ↑部署指南)中所述的网络配置步骤中禁用它。要在已安装系统上禁用或启用 IPv6,请使用 YaST 模块。在选项卡上,根据需要选中或取消选中 选项。如果要在下次重引导前暂时启用它,请以 root 用户身份输入 modprobe -i ipv6。一旦装载 ipv6 模块,基本上就无法卸载了。
由于 IPv6 使用自动配置,将给网卡指派链路-本地网络中的地址。一般不在工作站上管理路由选择表。工作站可以使用路由器广告协议查询网络路由器,了解应实施的前缀和网关。使用 radvd 程序可以设置 IPv6 路由器。此程序会通知工作站对 IPv6 地址使用哪个前缀和哪个路由器。或者,可以使用 zebra/quagga 自动配置两个地址和路由选择。
有关如何使用 /etc/sysconfig/network 文件设置各种隧道的信息,请参见 ifcfg-tunnel (5) 手册页。
上文的概述中并未全面论述 IPv6 这一主题。有关这种新协议的深入讨论,请参见以下联机文档和书目:
学习 IPv6 知识的起点。
启动您自己的 IPv6 网络所需的所有信息。
已启用 IPv6 的产品列表。
在此可找到 Linux IPv6-HOWTO 以及许多与该主题有关的链接。
有关 IPv6 的基础 RFC。
Silvia Hagen 所著的 IPv6 Essentials(ISBN 0-596-00125-8) 中描述了该主题的所有重要方面。
DNS 有助于将 IP 地址指派给一个或多个名称,并将名称指派给 IP 地址。在 Linux 中,这种转换通常由一种特殊的称为 bind 的软件来完成。负责这种转换的计算机称为名称服务器。这些名称构成了具有层次结构的系统,各个名称组成部分之间用句点分隔。不过,这个名称层次与上述 IP 地址层次无关。
考虑以 hostname.domain 格式书写的完整名称,如 jupiter.example.com。完整名称,即完全限定的域名 (FQDN),由主机名和域名 (example.com) 组成。后者还包含顶级域或 TLD (com)。
TLD 的指派由于历史原因已经变得十分混乱。传统的指派方法是美国所用的三字母域名,而世界其他地方采用的标准是双字母 ISO 国家/地区代码。此外,2000 年还引进了较长的 TLD,表示特定的活动领域(例如 .info、.name 和 .museum)。
在因特网发展的早期阶段( 1990 年之前),文件 /etc/hosts 被用来储存因特网上表示的所有计算机的名称。后来事实证明随着接入因特网的计算机与日俱增,这种方法很快就行不通了。为此人们开发了一个分散式数据库,以十分分散的方式储存主机名。这个数据库类似名称服务器,它并不储存与因特网上的所有主机相关的数据,但可以向其他名称服务器发送请求。
位于层次顶级的是 root 名称服务器。这些 root 名称服务器管理顶级域,并由网络信息中心 (NIC) 运行。每个 root 名称服务器都了解负责特定顶级域的名称服务器。有关顶级域 NIC 的信息,请参见 http://www.internic.net。
DNS 不仅可以解析主机名,还能够为整个域识别出负责接收电子邮件的主机,即邮件交换器 (MX)。
为解析 IP 地址,您的计算机必须了解至少一个名称服务器及其 IP 地址。借助 YaST 可以轻松指定这样的名称服务器。如果建立的是调制解调器拨号连接,则根本无需手动配置名称服务器。拨号协议在建立连接后提供名称服务器地址。有关如何在 SUSE® Linux Enterprise Server 中配置针对名称服务器的访问,请参见第 22.4.1.4 节 “配置主机名和 DNS”。有关如何设置您自己的名称服务器,请参见第 25 章 域名系统。
whois 协议与 DNS 密切相关。使用此程序可以快速找出负责特定域的服务器。
![]() | MDNS 和 .local 域名 |
|---|---|
如果要在安装期间关闭 MDNS,请使用 有关多路广播 DNS 的详细信息,请参见 http://www.multicastdns.org。 | |
Linux 上有多个支持的联网类型。其中多数使用不同的设备名,配置文件分布在文件系统上的多个位置。关于手动网络配置方面的详细概述,请参见第 22.6 节 “手动配置网络连接”。
在 NetworkManager 默认处于活动状态的 SUSE Linux Enterprise Desktop 上,所有网卡都会加以配置。如果 NetworkManager 不处于活动状态,那么系统只会自动配置使用链路连通的第一个接口(已连接网络电缆)。可随时在已安装系统中配置额外的硬件。以下章节将介绍 SUSE Linux Enterprise Server 支持的所有网络连接类型的网络配置。
![]() | IBM System z:可热插拔网卡 |
|---|---|
IBM System z 平台支持可热插拔网卡,但不支持通过 DHCP 的自动网络集成(与 PC 情况相同)。检测到网卡后需要手动配置接口。 | |
要在 YaST 中配置有线或无线网卡,请选择+。启动模块后,YaST 将显示对话框,其中包括四个选项卡:、、 和。
通过选项卡可设置常规联网选项,如使用 NetworkManager、IPv6 和常规 DHCP 选项。有关详细信息,请参见第 22.4.1.1 节 “配置全局联网选项”。
选项卡包含关于已安装网络接口和配置的信息。会列出已正确检测到的所有网卡及其名称。您可在此对话框中手动配置新卡、删除或更改其配置。如果要手动配置未自动检测到的卡,请参见第 22.4.1.3 节 “配置未检测到的网卡”。如果要更改已配置卡的配置,请参见第 22.4.1.2 节 “更改网卡的配置”。
通过 选项卡可设置计算机的主机名和要使用的服务器名称。有关详细信息,请参见第 22.4.1.4 节 “配置主机名和 DNS”。
选项卡用于配置路由选择。有关更多信息,请参见第 22.4.1.5 节 “配置路由选择”。
通过 YaST 模块的选项卡,可设置重要的全局联网选项,如使用 NetworkManager、IPv6 和 DHCP 客户端选项。这些设置适用于所有网络接口。
在中,选择管理网络连接的方法。如果希望 NetworkManager 桌面小程序管理所有接口的连接,请选择。此选项非常适用于在多个有线和无线网络之间切换。如果您没有运行桌面环境(GNOME 或 KDE)或者您的计算机是 Xen 服务器、虚拟系统,又或在网络中提供网络服务(如 DHCP 或 DNS),请使用。如果使用 NetworkManager,则应使用 nm-applet 配置网络选项,并且模块的、和选项卡会被禁用。有关 NetworkManager 的更多信息,请参见第 27 章 使用 NetworkManager。
在 中,选择是否希望使用 IPv6 协议。可将 IPv6 与 IPv4 一起使用。默认情况下激活 IVv6。但是在不使用 IPv6 协议的网络中,如果禁用 IPv6 协议,响应时间会更快。如果要禁用 IPv6,请取消选中 选项。这样将为 IPv6 禁用内核模块自动加载。这将在重引导后应用。
在 中,配置 DHCP 客户端的选项。如果希望 DHCP 客户端要求服务器始终广播其响应,则选中。如果您的计算机在不同网络之间移动,则可能需要选中此选项。在单个网络上,每个 DHCP 客户端的 必须不同。如果保留为空,会默认为网络接口的硬件地址。但是,如果正在运行若干使用相同网络接口(即相同硬件地址)的虚拟机,则在此处指定唯一的自由格式标识符。
指定 dhcpcd 向 DHCP 服务器发送消息时用于主机名选项的字符串。某些 DHCP 服务器会根据此主机名(动态 DNS)来更新名称服务器区域(转发和反转记录)。此外,有些 DHCP 服务器要求选项字段包含来自客户端的 DHCP 消息中的特定字符串。选择 AUTO 可发送当前主机名(即 /etc/HOSTNAME 中所定义的)。将选项字段保留为空即可不发送任何主机名。如果您不希望根据 DHCP 中的信息更改默认路由,则取消选中。
要更改网卡的配置,请在 YaST +中已检测到的网卡列表中选择一个网卡,然后单击。将显示对话框,可在其中使用、和选项卡调整网卡配置。有关无线网卡配置的信息,请参见第 19.5 节 “使用 YaST 进行配置”。
您可在对话框的选项卡中设置网卡的 IP 地址或 IP 地址的确定方法。同时支持 IPv4 和 IPv6 地址。网卡可设置为(对于绑定设备很有用)、(IPv4 或 IPv6)或通过 和/或 指派的 。
如果使用,则选择是使用(用于 DHCPv4)、(用于 DHCPv6)还是 。
如果可能,安装期间的首个带链接的可用网卡将会通过 DHCP 自动配置为使用自动 IP 地址。在 NetworkManager 默认处于活动状态的 SUSE Linux Enterprise Desktop 上,所有网卡都会加以配置。
![]() | IBM System z 和 DHCP |
|---|---|
在 IBM System z 平台上,只有具备 MAC 地址的网卡才支持基于 DHCP 的地址配置。属于这种情况的只有 OSA 和 OSA Express 网卡。 | |
如果使用的是 DSL 线路,但 ISP(因特网服务提供商)没有指派静态 IP,此时还应使用 DHCP。如果决定使用 DHCP,请打开 YaST 网卡配置模块的对话框,在选项卡的 中配置细节。在中指定 DHCP 客户端是否应要求服务器始终广播其响应。如果您的计算机是在不同网络间移动的移动客户端,则可能需要使用此选项。如果您使用虚拟主机设置,其中不同的主机都通过同一接口通信,则需要用 来区分。
DHCP 比较适合客户端配置,但不太适合服务器配置。要设置静态 IP 地址,请如下继续操作:
在 YaST 网卡配置模块的选项卡中,于已检测到的网卡列表中选择一个网卡,然后单击。
在选项卡中,选择。
输入 。IPv4 和 IPv6 地址均可使用。在中输入子网掩码。如果使用 IPv6 地址,则对于前缀长度使用 /64 格式的。
或者,您可以为此地址输入一个完全限定的,该主机名将写入到 /etc/hosts 配置文件。
单击。
要激活配置,请单击。
如果使用静态地址,则不会自动配置名称服务器和默认网关。要配置名称服务器,请按照第 22.4.1.4 节 “配置主机名和 DNS” 中所述进行。要配置网关,请按照第 22.4.1.5 节 “配置路由选择” 中所述进行。
一个网络设备可以有多个 IP 地址,称为别名。
![]() | 别名是兼容功能 |
|---|---|
这些所谓的别名表示标签只适用于 IPv4。对于 IPv6 则忽略它们。使用 iproute2 网络接口可以有一个或多个地址。 | |
要用 YaST 为网卡设置别名,请执行以下步骤:
在 YaST 网卡配置模块的选项卡中,于已检测到的网卡列表中选择一个网卡,然后单击。
在+选项卡中,单击。
输入、和。不要在别名中包含接口名称。
单击。
单击。
要激活配置,请单击。
可更改网卡在使用时的设备名称。还可确定 udev 是通过网卡的硬件 (MAC) 地址还是通过总线 ID 来标识网卡。在大型服务器中,更偏向于使用后者,以便减少网卡的热交换。要使用 YaST 设置这些选项,请执行以下步骤:
在 YaST 网络设置模块的选项卡中,于已检测到的网卡列表中选择一个网卡,然后单击。
转到选项卡。当前设备名称显示在 中。单击。
选择 udev 应通过网卡的 还是 来识别网卡。网卡的当前 MAC 地址和总线 ID 显示在对话框中。
要更改设备名称,请选中选项并编辑名称。
单击然后单击。
要激活配置,请单击。
对于某些网卡,可能会提供某些内核驱动程序。如果网卡已配置,YaST 允许您从可用的合适驱动程序列表中选择一个要使用的内核驱动程序。还可为内核驱动程序指定选项。要使用 YaST 设置这些选项,请执行以下步骤:
在 YaST 网络设置模块的选项卡中,于已检测到的网卡列表中选择一个网卡,然后单击。
转到选项卡。
在中选择要使用的内核驱动程序。在中为所选驱动程序输入所有选项,形式为 option=value 。如果使用多个选项,应用空格分隔这些选项。
单击然后单击。
要激活配置,请单击。
如果您使用通过 ifup 的传统方法,则可以配置为在引导期间、连接电缆后或检测到网卡后启动设备,也可以配置为手动或从不启动设备。要更改设备启动,请如下继续操作:
在 YaST 的+中,于已检测到的网卡列表中选择一个网卡,然后单击。
在选项卡中,从选择所希望的项。
选择可在系统引导时启动设备。使用将对任何现有物理连接监视接口。使用将在接口可用时立即设置。这与选项很相似,唯一区别是如果引导时不存在接口,不会发生错误。选择可通过 ifup 手动控制接口。选择将不启动设备。 与相似,但使用 rcnetwork stop 命令时接口不会关闭。如果您使用 nfs 或 iscsi root 文件系统,则选择此选项。
单击。
要激活配置,请单击。
通常,仅系统管理员可以激活或停用网络接口。如果希望任何用户均能通过 KInternet 激活此接口,请选择。
您可为接口设置最大传输单位 (MTU)。MTU 是指允许的最大包大小(以字节为单位)。更高的 MTU 可带来更高的带宽效率。但是较大的包有时可能会堵塞较慢的接口,从而增加后续包的延迟。
在 YaST 的+中,于已检测到的网卡列表中选择一个网卡,然后单击。
在选项卡中,从 列表中选择所需项。
单击。
要激活配置,请单击。
无须输入详细的防火墙设置(如Section “Configuring the Firewall with YaST” (Chapter 15, Masquerading and Firewalls, ↑Security Guide)中所述),您就能在设备设置过程中确定设备的基本防火墙设置。按如下所示继续:
打开 YaST +模块。在选项卡中,从已检测到的网卡列表中选择一个网卡,然后单击。
进入对话框的选项卡。
确定应指派接口的防火墙区域。下列选项可用:
此选项只有在禁用防火墙和防火墙未在运行时才可用。仅当计算机属于受外部防火墙保护的大型网络时才使用此选项。
此选项只有在启用防火墙后才可用。防火墙正在运行且接口自动指派给防火墙区域。包含关键字 any 的区域或外部区域将用于此类接口。
防火墙正在运行,但不会强制执行任何规则来保护此接口。当计算机属于受外部防火墙保护的大型网络时才使用此选项。当计算机具有多个网络接口时,此选项还可用于连接到内部网络的接口。
隔离区域是位于内部网络和(恶意)因特网之前的附加防线。可从内部网络和因特网访问指派到此区域的主机,但指派到此区域的主机无法访问内部网络。
防火墙在此接口上运行,并且全面保护其抵御其他假定有害的网络流量。这是默认选项。
单击。
单击即可激活配置。
可能未正确检测到您的网卡。在此情况下,已检测到网卡列表中不会包含此网卡。如果确定系统包含网卡的驱动程序,则可以手动对其进行配置。还可以配置特殊网络设备类型,例如网桥、绑定、TUN 或 TAP。要配置未检测到的网卡(或特殊设备),请如下操作:
在 YaST 的++对话框中,单击。
在对话框中,从可用选项中设置接口的和。如果网卡为 PCMCIA 或 USB 设备,则激活相应的复选框,并选择退出此对话框。或者,如果需要,您可定义要用于网卡的内核及其。
在 中,您可以为接口设置 ifup 使用的 ethtool 选项。可用选项请参见 ethtool 手册页。如果选项字符串以 - 开始(例如 -K ),字符串中的第二项将替换为当前接口名。否则的话(例如 接口名称 rx onautoneg off speed 10)是 ifup 后跟 -s 。
接口名
单击。
在、和选项卡中,配置所有所需的选项,如接口的 IP 地址、设备激活或防火墙区域。有关配置选项的更多信息,请参见第 22.4.1.2 节 “更改网卡的配置”。
如果选择作为接口的设备类型,则在下一个对话框中配置无线连接。有关无线设备配置的详细信息可在第 19 章 无线 LAN 中获得。
单击。
要激活新网络配置,请单击。
如果安装期间没有更改网络配置并且有线网卡已经可用,则已为计算机自动生成主机名并且已激活 DHCP。这同样适用于主机连接到网络环境所需的名称服务信息。如果网络地址设置使用了 DHCP,则会向域名服务器列表自动填充相应数据。如果希望使用静态设置,则手动设置这些值。
要更改计算机名称并调整名称服务器搜索列表,则如下继续操作:
转到 YaST 的模块中的+选项卡。
输入,如果需要,也输入。如果此计算机是邮件服务器,则该域特别重要。请注意,主机名是全局性的,应用于所有网络接口。
如果使用 DHCP 获取 IP 地址,则计算机的主机名将由 DHCP 自动设置。如果您连接到不同网络,您可能希望禁用此行为,因为它们可能指派不同主机名,而在运行时更改主机名可能会导致图形桌面混乱。要禁用使用 DHCP 获取 IP 地址,请取消选中。
会将您的主机名与 /etc/hosts 中的 127.0.0.2(回写)IP 地址关联。如果您想让主机名即使在没有活动的网络时也随时可解析,这是有用的选项。
在中,请选择修改 DNS 配置(名称服务器、搜索列表以及 /etc/resolv.conf 文件的内容)的方式。
如果选择了选项,则配置由 netconfig 脚本处理,该脚本合并了静态定义的数据(通过 YaST 或在配置文件中)与动态获取的数据(来自 DHCP 客户端或 NetworkManager)。在大多数情况下,此默认策略就足够了。
如果选择了选项,则不允许 netconfig 修改 /etc/resolv.conf 文件。但是,此文件可手动编辑。
如果已选择选项,则应指定用于定义合并策略的字符串。该字符串包含了接口名称的逗号分隔列表,可考虑作为设置的有效源。除完整接口名外,也可使用基本通配符来匹配多个接口。例如,eth* ppp? 首先以所有 eth 为目标,然后是 ppp0 到 ppp9 的所有接口。有两个特殊策略值表示如何应用 /etc/sysconfig/network/config 文件中定义的静态设置:
STATIC
静态设置必须与动态设置合并到一起。
STATIC_FALLBACK
仅当动态配置不可用时,才使用静态设置。
有关更多信息,请参见 man 8 netconfig。
输入并填写列表。名称服务器必须通过 IP 地址(如 192.168.1.116)指定,不能通过主机名指定。选项卡中指定的名称是用于解析主机名(无指定域)的域名。如果使用多个,则使用逗号或空格分隔域。
要激活配置,请单击。
也可以使用 YaST 从命令行编辑主机名。YaST 所做更改会立即生效(手动编辑 /etc/HOSTNAME 文件时则不是这样)。要更改主机名,请使用以下命令:
yast dns edit hostname=hostname要更改名称服务器,请使用以下命令:
yast dns edit nameserver1=192.168.1.116yast dns edit nameserver2=192.168.1.116yast dns edit nameserver3=192.168.1.116要使计算机能够与其他计算机和其他网络进行通信,必须提供路由选择信息以使网络流量使用正确的路径。如果使用 DHCP,则将自动提供此信息。如果使用静态设置,则必须手动添加此数据。
在 YaST 中,转到+。
输入(如果需要是 IPv4 和 IPv6)的 IP 地址。默认网关与每个可能的目标匹配,但是如果存在任何与所需地址匹配的其他项,则使用该项代替默认路由。
可在中输入多个项。输入网络 IP 地址、 IP 地址和。选择将流量路由到定义的网络要经过的(减号代表任何设备)。要忽略所有这些值,请使用减号 -。要在表中输入默认网关,请在字段中使用默认。
![]() | |
如果使用更多的默认路由,则可以指定用于确定具有更高优先级的路由的度量选项。要指定度量选项,则在中输入 | |
如果系统是路由器,则在中启用 选项。
要激活配置,请单击。
![]() | IBM System z:调制解调器 |
|---|---|
IBM System z 平台不支持对这类硬件进行配置。 | |
在 YaST 控制中心中,可以在+下访问调制解调器配置。如果调制解调器已自动检测到,请转到选项卡,并通过单击打开用于手动配置的对话框。在下输入调制解调器连接到的接口。
![]() | CDMA 和 GPRS 调制解调器 |
|---|---|
与配置普通调制解调器一样,用 YaST 模块配置支持的 CDMA 和 GPRS 调制解调器。 | |
如果位于专用交换分机 (PBX) 之后,则可能需要输入拨号前缀。该前缀通常是零。请参考随 PBX 附带的描述了解相关信息。同时还要选择使用音频拨号还是脉冲拨号、是否打开扬声器,以及调制解调器是否应在检测到拨号音之前一直等待。如果调制解调器连接到交换机,则不应启用最后一个选项。
在之下,设置波特率和调制解调器的初始化字符串。只有在调制解调器不是自动检测到的或者需要特殊设置才能传送数据时,才应更改以上设置。这种情况主要发生在 ISDN 终端适配器上。单击可退出此对话框。要将调制解调器的控制权委托给没有 root 许可权限的普通用户,请激活。这样,不具备管理员权限的用户即可激活或停用某个接口。在下,指定正则表达式。KInternet 中的(可由普通用户修改)必须符合此正则表达式。如果将此字段留空,用户则无法在不具备管理员权限的情况下设置其他。
在下一个对话框中,选择 ISP。要从您所在国家/地区的 ISP 的预定义列表中进行选择,请选择。也可以单击打开一个对话框,从中为您的 ISP 提供数据。这些数据包括用于拨号连接的名称、ISP 的名称,以及 ISP 提供的登录名和口令。启用,在您每次连接时都提示输入口令。
在最后一个对话框中,指定附加连接选项:
如果启用,请设置至少一个名称服务器。仅当您的因特网连接成本较低时才使用此功能,因为某些程序要求定期从因特网请求数据。
默认情况下启用此选项,其作用是在每次连接因特网时都更新名称服务器地址。
如果提供者未在连接后传送其域名服务器,则禁用此选项并手动输入 DNS 数据。
如果启用了此选项,则连接失败后会自动重新建立连接。
此选项将禁用对来自拨号服务器的任何提示检测。如果连接建立速度很慢,或根本不能建立连接,可尝试此选项。
选择此选项将激活防火墙并将接口设置为外部的。这样您的系统就可以在连接到因特网期间防范外部攻击。
使用此选项可以指定网络不活动的时间,一超过该时间调制解调器即自动断开连接。
使用此选项可打开地址配置对话框。如果您的 ISP 没有为您的主机指派动态 IP 地址,请禁用,然后输入主机的本地 IP 地址及远程 IP 地址。请向您的 ISP 询问这些信息。保持的启用状态,然后通过选择关闭该对话框。
选择可返回初始对话框,其中显示调制解调器配置的概要。单击可关闭此对话框。
![]() | IBM System z:ISDN |
|---|---|
IBM System z 平台不支持对这类硬件进行配置。 | |
使用此模块可以为系统配置一个或多个 ISDN 网卡。如果 YaST 没有检测到您的 ISDN 卡,请在 选项卡中单击,然后手动选择您的网卡。可以使用多个接口,但您可以为一个接口配置多个 ISP。在随后的对话框中,设置该网卡正常工作所需的 ISDN 选项。
在下一个对话框中(如图 22.5 “ISDN 配置” 所示),选择要使用的协议。默认值是 ,但是对于旧式或大型交换机,请选择 。如果是在美国,请选择 。在相关字段中选择您所在的国家/地区。相应的国家/地区代码将显示在该字段旁边的字段中。最后,提供您的和(如果需要)。如果不希望记录所有 ISDN 流量,则取消选中选项。
定义应如何启动 ISDN 接口:使用可以在系统每次引导时初始化 ISDN 驱动程序。要求您以 root 的身份使用命令 rcisdn start 装载 ISDN 驱动程序。,用于 PCMCIA 或 USB 设备,用于在插入设备后加载驱动程序。在完成这些设置后,请选择。
在下一个对话框中,为您的 ISDN 网卡指定接口类型,并将 ISP 添加到现有接口中。接口的类型可能是 SyncPPP 或 RawIP,但多数 ISP 以 SyncPPP 方式操作,如下文所述。
要为输入的值取决于特定的设置:
标准的 ISDN 线路提供三个电话号码(称为多用户号码或 MSN)。如果用户需要更多号码,最多可提供十个号码。必须在此处输入其中一个 MSN,但不要区号。如果输入的号码有误,您的电话运营商将自动退回到为您的 ISDN 线路指派的第一个 MSN。
同样,配置可能随安装设备的不同而变化:
适用于家庭的小型专用交换机 (PBX) 大多使用 Euro-ISDN (EDSS1) 协议进行内部呼叫。这些交换机具有内部 S0 总线,并对与它们连接的设备使用内部号码。
将其中一个内部号码用作您的 MSN。您应该至少能够使用支持直接向外拨号的交换机的 MSN 之一。如果无效,则尝试使用一个零。有关进一步的信息,请参见电话交换机随附的文档。
为公司设计的大型电话交换机通常使用 1TR6 协议用于内部呼叫。它们的 MSN 称为 EAZ 并且通常对应直拨号码。要在 Linux 中配置,只需输入 EAZ 的最后一位即可。如果各种方法都行不通,可尝试 1 到 9 之间的各位数字。
要在下一个收费单位开始之前及时终止连接,请启用 。但要记住,该选项不是对每个 ISP 都奏效。您也可以通过选择相应的选项启用信道绑定(多链接 PPP)。最后,您可以通过选择和为链接启用防火墙。要使不具备管理员权限的普通用户能够激活或停用接口,请选择。
单击打开一个对话框,在其中可实施更为复杂的连接模式,这与普通的家庭用户无关。通过选择退出对话框。
在下一个对话框中配置 IP 地址设置。如果您的提供者没有为您指定静态 IP,请选择。否则,根据 ISP 指定的信息,使用提供的字段输入您主机的本地 IP 地址及远程 IP 地址。如果接口应该成为与因特网连接的默认路由,请选择。每台主机都只能有一个接口配置为默认路由。选择可退出此对话框。
使用随后的对话框,您可以设置您所在的国家/地区并选择 ISP。列表中的 ISP 都只是 call-by-call(通过呼叫进行呼叫)提供者。如果列表中未列出您的 ISP,请选择。随即打开对话框,可以在其中输入 ISP 的所有详细信息。输入电话号码时,切勿在数字之间加空格或逗号。最后,输入 ISP 为您提供的登录名和口令。输完之后,请选择。
要在独立工作站上使用,还需指定名称服务器(DNS 服务器)。多数 ISP 都支持动态 DNS,这意味着每次用户连接时,都由 ISP 发送名称服务器的 IP 地址。不过,对于单个工作站,您仍然需要提供 192.168.22.99 之类的占位符地址。如果您的 ISP 不支持动态 DNS,请指定 ISP 的名称服务器 IP 地址。如果需要,可以为连接指定超时值,即网络不活动的时间(以秒计),一超过该时间即自动终止连接。选择确认设置。YaST 将显示配置好的接口的摘要。要激活这些设置,请选择。
![]() | IBM System z:电缆调制解调器 |
|---|---|
IBM System z 平台不支持对这类硬件进行配置。 | |
在某些国家/地区,人们往往通过有线电视网访问因特网。有线电视用户通常将调制解调器一端接在有线电视插座上,另一端与计算机网卡相连(使用 10Base-TG 双绞线)。随后电缆调制解调器就能通过固定 IP 地址提供专用因特网连接。
根据您的 ISP 提供的描述,配置网卡时选择或。目前多数提供商都使用 DHCP。通常只有特殊的公司帐户才使用静态 IP 地址。
![]() | IBM System z:DSL |
|---|---|
IBM System z 平台不支持对这类硬件进行配置。 | |
要配置 DSL 设备,请从 YaST 部分选择 模块。这个 YaST 模块包含若干对话框,可以在这些对话框中基于以下协议之一设置 DSL 链接参数。
以太网上的 PPP (PPPoE)
ATM 上的 PPP (PPPoATM)
用于 ADSL 的 CAPI(Fritz 网卡)
点对点隧道协议 (PPTP) - 奥地利
在 对话框的 选项卡中,您将找到已安装 DSL 设备的列表。要更改 DSL 设备的配置,请在列表中选择该设备,然后单击。如果单击,则可手动配置新 DSL 设备。
基于 PPPoE 或 PPTP 配置 DSL 连接时,要求正确设置相应的网卡。如果尚未这样做,应首先通过选择来配置网卡(请参见第 22.4.1 节 “使用 YaST 配置网卡”)。使用 DSL 链接时,可以自动指派地址但并不通过 DHCP,这就是不应启用选项的原因。相反,应该为接口输入静态虚设地址,如 192.168.22.1。在中,输入 255.255.255.0。如果配置的是独立工作站,则将留空。
![]() | |
IP 地址子网掩码 它们只用于初始化网卡,而不会将 DSL 链接表示成这样。 | |
在第一个 DSL 配置对话框(请参见图 22.7 “DSL 配置”)中,首先应选择 及 DSL 调制解调器连接到的(多数情况下是 eth0)。然后使用指定是否应在引导进程中建立 DSL 链接。单击可授权普通用户无需 root 权限即可使用 KInternet 激活或停用接口。
在下一个对话框中,选择您的国家/地区并从该国家/地区运营的众多 ISP 中进行选择。随后的所有 DSL 配置对话框的详细信息都取决于目前已设置的选项,因此下面几段只对这些对话框进行了简要介绍。有关可用选项的详细信息,请阅读这些对话框中提供的详细帮助信息。
要在独立工作站上使用,还需指定名称服务器(DNS 服务器)。多数 ISP 都支持动态 DNS,即每次用户连接时,都由 ISP 发送名称服务器的 IP 地址。不过,对于单个工作站,应提供 192.168.22.99 之类的占位符地址。如果您的 ISP 不支持动态 DNS,请输入 ISP 提供的名称服务器 IP 地址。
定义网络不活动的时间,一超过该时间即自动终止连接。合理的超时值介于 60 到 300 秒之间。如果禁用了,则最好将超时值设置为零以防止自动挂断。
T-DSL 的配置与 DSL 的设置非常相似。 只需将 选为您的提供者,YaST 将打开 T-DSL 配置对话框。在此对话框中,提供 T-DSL 所需的一些其他信息(线路 ID、T-Online 号码、用户代码和口令)。所有这些信息都会包含在订阅到 T-DSL 后收到的信息中。
SUSE Linux Enterprise Server for IBM System z 支持多种不同类型的网络接口。可使用 YaST 来对所有这些接口进行配置。
要将 qeth-hsi (Hipersockets) 接口添加到安装好的系统中,请启动 YaST 中的+模块。选择标记为 的设备之一以用作 READ 设备地址,然后单击。输入设备编号供读、写和控制通道(例如设备编号格式:0.0.0600)。然后单击“下一步”。在对话框中,为新接口指定 IP 地址和网络掩码,然后按和退出网络配置。
要将 qeth-ethernet(IBM OSA Express 以太网卡)接口添加到安装好的系统中,请启动 YaST 中的+模块。选择标有 的任一设备以用作“读”设备地址并单击。输入设备编号供读、写和控制通道(例如设备编号格式:0.0.0600)。输入所需端口名称、端口号(如果适用)和一些附加选项(请参见 http://www.ibm.com/developerworks/linux/linux390/documentation_novell_suse.html 上的《Linux for IBM System z: Device Drivers, Features, and Commands》(适用于 IBM System z 的 Linux:设备驱动程序、功能和命令)手册)、您的 IP 地址及相应的网络掩码。单击和退出网络配置。
要将 ctc(IBM 并行 CTC 适配器)接口添加到安装好的系统中,请启动 YaST 中的+模块。选择标记为 的设备之一,用作读取通道,然后单击。选择适合您设备的 (通常为)。指定您的 IP 地址和远程合作伙伴的 IP 地址。如果需要,可使用+调整 MTU 的大小。单击和退出网络配置。
![]() | |
不建议使用此接口。未来版本的 SUSE Linux Enterprise Server 将不支持此接口。 | |
要将 lcs(IBM OSA-2 适配器)接口添加到安装好的系统中,请启动 YaST 中的+模块。选择标记为 的设备之一,然后单击。输入所需端口号、一些附加选项(请参见 http://www.ibm.com/developerworks/linux/linux390/documentation_novell_suse.html 上的《Linux for IBM System z: Device Drivers, Features, and Commands》(适用于 IBM System z 的 Linux:设备驱动程序、功能和命令)手册)、您的 IP 地址及相应的网络掩码。单击和退出网络配置。
要将 iucv (IUCV) 接口添加到安装好的系统中,请启动 YaST 中的+模块。选择标记为 的设备并单击。YaST 会提示您输入 IUCV 合作伙伴()的名称。输入该名称(此项区分大小写),然后选择。指定您的合作伙伴的 和。如果需要,在选项卡上 大小。单击和退出网络配置。
![]() | |
不建议使用此接口。未来版本的 SUSE Linux Enterprise Server 将不支持此接口。 | |
NetworkManager 是用于便携式计算机和其他可移动计算机的理想解决方案。有了 NetworkManager,您便无需担心配置网络接口并且无需移动时在网络之间切换。
但是 NetworkManager 解决方案并非适用于所有情况,因此您仍可在传统的网络连接管理方法 (ifup) 和 NetworkManager 之间进行选择。如果您希望使用 NetworkManager 管理网络连接,则在 YaST 网络设置模块中启用 NetworkManager(如第 27.2 节 “启用或禁用 NetworkManager”中所述),然后使用 NetworkManager 配置网络连接。有关用例的列表以及如何配置和使用 NetworkManager 的详细说明,请参见第 27 章 使用 NetworkManager。
ifup 和 NetworkManager 之间的一些区别有:
root 特权
如果使用 NetworkManager 进行网络设置,则可以随时使用一个小程序在您的桌面环境内轻松地切换、停止或启动网络连接。NetworkManager 也可以改变和配置无线网卡连接,无需 root 特权。因此,NetworkManager 是一种用于移动工作站的理想解决方案。
传统的 ifup 配置也提供一些切换、停止或启动连接的途径(需要或不需要用户干预),就像用户管理的设备那样。但是,此方法始终需要 root 特权才能更改或配置网络设备。这对于移动计算是个常见问题,因为移动计算不可能预配置所有的连接功能。
传统配置和 NetworkManager 都可以处理与无线网络(WEP、WPA-PSK 和 WPA-Enterprise 访问)和使用 DHCP 及静态配置的有线网络之间的网络连接。它们还支持拨号、DSL 和 VPN 连接。使用 NetworkManager 还可以连接移动宽带 (3G) 调制解调器,而传统配置则不能进行这种连接。
NetworkManager 尝试使用可用的最好连接使您的计算机随时保持连接状态。如果网络电缆意外断开,它将尝试重连接。它可以从您的无线连接列表中找到具有最佳信号强度的网络并自动用其进行连接。要用 ifup 获得同样的功能,需要花功夫进行配置。
用 NetworkManager 创建的单个网络连接设置储存在配置文件中。用 NetworkManager 或 YaST 配置的系统连接保存在 /etc/networkmanager/system-connections/* 或 /etc/sysconfig/network/ifcfg-* 中。用户定义的任何连接储存在 GConf (GNOME) 或 $HOME/.kde4/share/apps/networkmanagement/* (KDE) 中。
如果未配置任何配置文件,NetworkManager 将自动创建一个配置文件,并将其命名为 Auto $INTERFACE-NAME。这样做是试图无需为任意多的(安全)案例进行任何配置就能使用。如果自动创建的配置文件不适合您的需要,请用 KDE 或 GNOME 提供的网络连接配置按需要修改它们。有关更多信息,请参考第 27.3 节 “配置网络连接”。
在集中管理的计算机上,某些 NetworkManager 功能可以用 PolicyKit 控制或禁用。例如,是否允许某个用户修改管理员定义的连接,或者是否允许某个用户定义自己的网络配置。要查看或更改相关的 NetworkManager 策略,请启动 PolicyKit 的图形工具。在左侧的树中 条目下找到它们。有关 PolicyKit 的介绍及其使用方法细节,请参见Chapter 9, PolicyKit (↑Security Guide)。
应该始终将手动配置网络软件作为最后的选择。建议使用 YaST。但是,对网络配置背景信息的了解将对您使用 YaST 有所帮助。
当内核检测到某个网卡并创建相应的网络接口时,会根据设备发现的顺序或装载内核模块的顺序为设备指派一个名称。只有在非常简单或严格控制的硬件环境中,才能预测默认内核设备名称。允许在运行时添加或删除硬件的系统或者支持自动配置设备的系统不能期望在各个重引导之间由内核指派稳定的网络设备名称。
但是,所有系统配置工具均依赖持久性接口名称。该问题通过 udev 解决。udev 永久网络生成器 (/lib/udev/rules.d/75-persistent-net-generator.rules) 会生成匹配硬件的规则(默认情况下使用其硬件地址),并为该硬件分配永久唯一接口。网络接口的 udev 数据库储存在文件 /etc/udev/rules.d/70-persistent-net.rules 中。文件中的每一行描述一个网络接口并指定其永久名称。系统管理员可通过编辑 NAME="" 项来更改指派的名称。也可以使用 YaST 修改永久规则。
表 22.5 “手动网络配置脚本” 总结了网络配置中涉及的最重要脚本。
表 22.5. 手动网络配置脚本¶
|
命令 |
功能 |
|---|---|
|
ifup、ifdown、ifstatus |
|
|
rcnetwork |
|
有关 udev 和永久设备名称的更多信息,请参见第 15 章 使用 udev 进行动态内核设备管理。
本节对网络配置文件进行了概述并解释了它们的作用和所使用的格式。
/etc/sysconfig/network/ifcfg-*¶
这些文件包含网络接口的配置。它们包含启动方式和 IP 地址等信息。可能的参数在 ifup 的手册页中有所介绍。此外,如果常规设置应只用于一个接口,则 dhcp 文件中的大多数变量可用于 ifcfg-* 文件。但是,/etc/sysconfig/network/config 中的大多数变量是全局变量,不能在 ifcfg-files 中被覆盖。例如,NETWORKMANAGER 或 NETCONFIG_* 变量是全局变量。
有关 ifcfg.template 的信息,请参见第 22.6.1.2 节 “/etc/sysconfig/network/config 和 /etc/sysconfig/network/dhcp”。
►System z:
IBM System z 不支持 USB。接口文件的名称和网络别名包含特定于 System z 的元素,例如 qeth。
◄
/etc/sysconfig/network/config 和 /etc/sysconfig/network/dhcp¶
文件 config 包含 ifup、ifdown 和 ifstatus 行为的常规设置。dhcp 包含 DHCP 的设置。这两个配置文件中的变量已注释掉。/etc/sysconfig/network/config 中的一些变量也可用于 ifcfg-* 文件,在这些文件中它们具有更高优先级。/etc/sysconfig/network/ifcfg.template 文件列出可以按接口指定的变量。但是,/etc/sysconfig/network/config 中的大多数变量是全局变量,不能在 ifcfg-files 中被覆盖。例如,NETWORKMANAGER 或 NETCONFIG_* 变量是全局变量。
/etc/sysconfig/network/routes 和 /etc/sysconfig/network/ifroute-*¶
在这里确定 TCP/IP 包的静态路由。在 /etc/sysconfig/network/routes 文件中输入各种系统任务所需的所有静态路由:主机的路由、主机通过网关的路由以及网络的路由。对于需要个别路由的每个接口,定义另一个配置文件:/etc/sysconfig/network/ifroute-*。用接口名称替换 *。路由选择配置文件中的项如下所示:
# Destination Dummy/Gateway Netmask Device # 127.0.0.0 0.0.0.0 255.255.255.0 lo 204.127.235.0 0.0.0.0 255.255.255.0 eth0 default 204.127.235.41 0.0.0.0 eth0 207.68.156.51 207.68.145.45 255.255.255.255 eth1 192.168.0.0 207.68.156.51 255.255.0.0 eth1
路由目标位于首列。此列可以包含网络或主机的 IP 地址,或者在有可访问名称服务器时,包含完全限定的网络或主机名。
第二列包含默认网关或通过其可访问主机或网络的网关。第三列包含网关后的网络或主机的子网掩码。例如,网关后主机的掩码为 255.255.255.255。
第四列只与本地主机连接的网络有关,如回写、以太网、ISDN、PPP 和虚设设备。必须在此输入设备名。
(可选)可以使用第五列来指定路由的类型。不需要的列中应该包含一个减号 -,这样才能确保分析程序正确解析命令。关于详细信息,请参见 routes(5) 手册页。
IPv4 和 IPv6 的统一格式现在如下所示:
prefix/lengthgateway- [interface]
对应的兼容性格式则如下所示:
prefixgatewaylength[interface]
对于 IPv4,仍可使用子网掩码旧格式:
ipv4-networkgatewayipv4-netmask[interface]
以下示例等效:
2001:db8:abba:cafe::/64 2001:db8:abba:cafe::dead - eth0 208.77.188.0/24 208.77.188.166 - eth0 2001:db8:abba:cafe:: 2001:db8:abba:cafe::dead 64 eth0 208.77.188.0 208.77.188.166 24 eth0 208.77.188.0 208.77.188.166 255.255.255.0 eth0
/etc/resolv.conf¶
在此文件中指定主机所属的域(关键字 search)。同时列出的还有要访问的名称服务器地址的状态(关键字 nameserver)。可在文件中指定多个域名。当解析不是完全限定的名称时,将尝试通过附加单独的 search 项生成一个完全限定的名称。可在多行中指定多个名称服务器,每个以 nameserver 开始。注释以 # 符号开头。例 22.5 “/etc/resolv.conf” 显示 /etc/resolv.conf 的内容。
但是,/etc/resolv.conf 不应手动编辑。而是由 netconfig 脚本生成。要定义静态 DNS 配置而不使用 YaST,请手动编辑 /etc/sysconfig/network/config 文件中的相应变量:
NETCONFIG_DNS_STATIC_SEARCHLIST
用于主机名查找的 DNS 域名列表
NETCONFIG_DNS_STATIC_SERVERS
用于主机名查找的名称服务器 IP 地址列表
NETCONFIG_DNS_FORWARDER
定义必须要配置的 DNS 转发器的名称
要使用 netconfig 禁用 DNS 配置,请设置 NETCONFIG_DNS_POLICY=''。有关 netconfig 的更多信息,请参见 man 8 netconfig。
例 22.5. /etc/resolv.conf¶
# Our domain search example.com # # We use dns.example.com (192.168.1.116) as name server nameserver 192.168.1.116
/sbin/netconfig¶netconfig 是一个用于管理附加网络配置设置的模块化工具。它合并了静态定义的设置和自动配置机制根据预定义策略以 DHCP 或 PPP 形式提供的设置。通过调用负责修改配置文件和重启动服务或相似操作的 netconfig 模块将所需更改应用于系统。
netconfig 识别三种主要操作。netconfig modify 和 netconfig remove 命令由诸如 DHCP 或 PPP 的守护程序用于在 netconfig 中提供设置或从中删除设置。仅 netconfig update 命令可用于用户:
netconfig modify 命令修改特定于当前接口和服务的动态设置并更新网络配置。Netconfig 从标准输入或使用 --lease-file 选项指定的文件中读取设置,并将其储存在内部,直到系统重引导(或者执行下一个修改或删除操作)。已存在的相同接口和服务组合设置将会重写。该接口由 filename-i 参数指定。该服务由 interface_name-s 参数指定。
service_name
netconfig remove 命令为指定接口和服务组合删除由修改操作提供的动态设置并更新网络配置。该接口由 -i 参数指定。该服务由 interface_name-s 参数指定。
service_name
netconfig update 命令使用当前设置更新网络配置。当策略或静态配置更改时,这非常有用。如果要仅更新指定服务(dns、nis 或 ntp),请使用 -m 参数。
module_type
netconfig 策略和静态配置设置可手动定义或者使用 YaST 在 /etc/sysconfig/network/config 文件中定义。由自动配置工具以 DHCP 或 PPP 形式提供的动态配置设置由这些工具通过 netconfig modify 和 netconfig remove 操作直接递送。NetworkManager 也使用 netconfig modify 和 netconfig remove 操作。启用 NetworkManager 时,netconfig(在策略模式 auto 中)仅使用 NetworkManager 设置,忽略使用传统 ifup 方法配置的任何其他接口的设置。如果 NetworkManager 未提供任何设置,将使用静态设置作为后备设置。不支持混合使用 NetworkManager 和传统 ifup 方法。
有关 netconfig 的更多信息,请参见 man 8 netconfig。
/etc/hosts¶
在此文件中,如例 22.6 “/etc/hosts” 中所示,将为主机名指派 IP 地址。如果未实施名称服务器,则将与其建立 IP 连接的所有主机必须列在此处。在此文件中为每个主机输入一行,包含 IP 地址、完全限定的主机名和主机名。IP 地址必须在每行的开头,各项用空格和制表符隔开。注释总是以 # 符号开头。
例 22.6. /etc/hosts¶
127.0.0.1 localhost 192.168.2.100 jupiter.example.com jupiter 192.168.2.101 venus.example.com venus
/etc/host.conf¶
此文件控制名称解析,即通过解析程序库转换主机名和网络名称。此文件只用于链接到 libc4 或 libc5 的程序。对于当前的 glibc 程序,请参见 /etc/nsswitch.conf 中的设置。参数必须始终单独在一行上。注释以 # 符号开头。表 22.6 “/etc/host.conf 的参数” 显示了可用的参数。例 22.8 “/etc/host.conf” 中显示了 /etc/host.conf 的示例。
表 22.6. /etc/host.conf 的参数¶
|
order hosts、bind |
指定访问服务以进行名称解析的顺序。可用参数有(使用空格或逗号隔开): |
|
hosts:搜索 | |
|
bind:访问名称服务器 | |
|
nis:使用 NIS | |
|
multi on/off |
定义 |
|
nospoof on spoofalert on/off |
这些参数影响名称服务器 spoofing,但对网络配置没有任何影响。 |
|
trim domainname |
在主机名解析后,指定的域名与主机名分开(只要主机名包括域名)。此选项仅当本地域名在 |
/etc/nsswitch.conf¶
GNU C Library 2.0 的引入与 名称服务转换 (NNS) 的引入是同时进行的。有关详细信息,请参见 nsswitch.conf(5) 手册页和《GNU C 库参考手册》。
查询的顺序是在文件 /etc/nsswitch.conf 中定义的。例 22.9 “/etc/nsswitch.conf” 中显示了 nsswitch.conf 的示例。注释以 # 符号开头。在本例中,hosts 数据库下的项意味着通过 DNS(请参见 第 25 章 域名系统)将请求发送到 /etc/hosts (files)。
例 22.9. /etc/nsswitch.conf¶
passwd: compat group: compat hosts: files dns networks: files dns services: db files protocols: db files rpc: files ethers: files netmasks: files netgroup: files nis publickey: files bootparams: files automount: files nis aliases: files nis shadow: compat
表 22.7 “通过 /etc/nsswitch.conf 可用的数据库” 中列出了 NSS 上可用的“数据库”。表 22.8 “NSS“数据库”的配置选项” 中列出了 NSS 数据库的配置选项。
表 22.7. 通过 /etc/nsswitch.conf 可用的数据库¶
|
|
|
|
|
以太网地址。 |
|
|
网络及其子网掩码的列表。只有在使用子网划分时才需要。 |
|
|
对于 |
|
|
|
|
|
网络中用于控制访问权限的主机和用户列表,请参见 |
|
|
|
|
|
NFS 和 NIS+ 使用的 Secure_RPC 的公钥和密钥。 |
|
|
|
|
|
网络协议,由 |
|
|
|
|
|
|
|
|
用户阴影口令,由 |
表 22.8. NSS“数据库”的配置选项¶
|
|
直接访问文件,例如 |
|
|
通过数据库访问 |
|
|
NIS,另请参见 Chapter 3, Using NIS (↑Security Guide) |
|
|
仅可用作 |
|
|
仅可用作 |
/etc/nscd.conf¶
此文件用于配置 nscd(名称服务缓存守护程序)。请参见 nscd(8) 和 nscd.conf(5) 手册页。默认情况下,passwd 和 groups 的系统项由 nscd 进行缓存。这对于目录服务(例如 NIS 和 LDAP)的性能很重要,因为如果不是这样,每次访问名称或组都需要网络连接。默认情况下,不对 hosts 进行缓存,因为 nscd 中缓存主机的机制将导致本地系统无法信任正向和反向查找检查。请设置缓存 DNS 服务器,而不是让 nscd 缓存名称。
如果激活 passwd 的缓存,则通常需要 15 秒才能识别新添加的本地用户。通过使用命令 rcnscdrestart 重启动 nscd 可缩短此等待时间。
向配置文件写配置之前,可对其进行测试。要设置测试配置,请使用 ip 命令。要测试连接,请使用 ping 命令。也可使用较早的配置工具 ifconfig 和 route。
命令 ip、ifconfig 和 route 会直接更改网络配置,而不会在配置文件中保存更改。如果未在正确的配置文件中输入配置,重引导时将丢失已更改的网络配置。
ip 是用来显示和配置网络设备、路由选择、策略路由选择以及隧道的工具。
ip 是非常复杂的工具。它的常用语法为 ip。可使用以下对象:
optionsobjectcommand
此对象表示网络设备。
此对象表示设备的 IP 地址。
此对象表示 ARP 或 NDISC 缓存项。
此对象表示路由选择表项。
此对象表示路由选择策略数据库中的规则。
此对象表示多路广播地址。
此对象表示多路广播路由缓存项。
此对象表示 IP 上的隧道。
如果未提供命令,则将使用默认命令(通常为 list)。
使用命令 ip link set device_namecommand 更改设备状态。例如,要停用设备 eth0,请输入 ip link set eth0 down。要重激活它,可使用 ip link set eth0 up。
激活设备后,可对设备进行配置。要设置 IP 地址,可使用 ip addr add。例如,要将接口 eth0 的地址设置为带标准广播(选项 ip_address + dev device_namebrd)的 192.168.12.154/30,则输入 ip addradd 192.168.12.154/30 brd + dev eth0。
要拥有活动连接,还必须配置默认网关。要设置系统的网关,请输入 ip route addgateway_ip_address。要将一个 IP 地址转换为另一个 IP 地址,请使用 nat: ip route add nat ip_address via other_ip_address。
要显示所有设备,可使用 ip link ls。要只显示正在运行的接口,可使用 ip link ls up。要打印设备的接口统计信息,可输入 ip -s link lsdevice_name。要查看设备的地址,请输入 ip addr。在 ip addr 的输出中,还可找到有关设备 MAC 地址的信息。要显示所有路由,可使用 ip route show。
有关使用 ip 的更多信息,请输入 ip help 或参见 ip(8) 手册页。help 选项还可用于所有 ip 子命令。例如,如果需要有关 ip addr 的帮助,请输入 ip addr help。可在 /usr/share/doc/packages/iproute2/ip-cref.pdf 中找到 ip 手册。
ping 命令是用于测试 TCP/IP 连接是否有效的标准工具。它使用 ICMP 协议来将小数据包和 ECHO_REQUEST 数据报文发送到目标主机,并请求即时答复。如果发送有效,ping 将据此显示一条消息,指明网络链接基本有效。
ping 不仅能测试两台计算机之间的连接功能:它还能提供关于连接质量的一些基本信息。在例 22.10 “命令 ping 的输出” 中,可查看 ping 输出示例。倒数第二行包含有关已传输的包数、丢失的包和 ping 的总运行时间的信息。
您可以使用主机名或 IP 地址(例如 ping example.com 或 ping 192.168.3.100)作为目标。程序会一直发送包,直到您按 Ctrl+C。
如果只需要检查连接功能,则可使用 -c 选项来限制包数。例如,要将 ping 限制为三个包,请输入 ping -c 3 example.com。
例 22.10. 命令 ping 的输出¶
ping -c 3 example.com PING example.com (192.168.3.100) 56(84) bytes of data. 64 bytes from example.com (192.168.3.100): icmp_seq=1 ttl=49 time=188 ms 64 bytes from example.com (192.168.3.100): icmp_seq=2 ttl=49 time=184 ms 64 bytes from example.com (192.168.3.100): icmp_seq=3 ttl=49 time=183 ms --- example.com ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2007ms rtt min/avg/max/mdev = 183.417/185.447/188.259/2.052 ms
两个包之间的默认时间间隔为一秒。ping 提供了选项 -i 来更改间隔。例如,要将 ping 间隔增加到十秒,请输入 ping -i 10 example.com。
在带有多个网络设备的系统中,有时通过特定接口地址发送 ping 将会非常有用。要执行此操作,可将 -I 选项结合选定设备名称一起使用,例如 ping -I wlan1 example.com。
有关使用 ping 的更多选项和信息,请输入 ping-h 或查看 ping (8) 手册页。
![]() | Ping IPv6 地址 |
|---|---|
对于 IPv6 地址,请使用 ping6 命令。请注意,要 ping 本地链路地址,必须用 ping6 -I eth1 fe80::117:21ff:feda:a425 | |
ifconfig 是一种网络配置工具。
![]() | ifconfig 和 ip |
|---|---|
ifconfig 工具已过时。请改为使用 ip。与 ip 相比,您只能将 ifconfig 用于接口配置。它将接口名称限制为 9 个字符。 | |
毫无疑问,ifconfig 可显示当前活动接口的状态。如例 22.11 “ifconfig 命令的输出” 中所见,ifconfig 具有非常整齐和详细的输出。输出的第一行中还包含关于设备 MAC 地址的信息(HWaddr 的值)。
例 22.11. ifconfig 命令的输出¶
eth0 Link encap:Ethernet HWaddr 00:08:74:98:ED:51
inet6 addr: fe80::208:74ff:fe98:ed51/64 Scope:Link
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:634735 errors:0 dropped:0 overruns:4 frame:0
TX packets:154779 errors:0 dropped:0 overruns:0 carrier:1
collisions:0 txqueuelen:1000
RX bytes:162531992 (155.0 Mb) TX bytes:49575995 (47.2 Mb)
Interrupt:11 Base address:0xec80
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:8559 errors:0 dropped:0 overruns:0 frame:0
TX packets:8559 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:533234 (520.7 Kb) TX bytes:533234 (520.7 Kb)
wlan1 Link encap:Ethernet HWaddr 00:0E:2E:52:3B:1D
inet addr:192.168.2.4 Bcast:192.168.2.255 Mask:255.255.255.0
inet6 addr: fe80::20e:2eff:fe52:3b1d/64 Scope:Link
UP BROADCAST NOTRAILERS RUNNING MULTICAST MTU:1500 Metric:1
RX packets:50828 errors:0 dropped:0 overruns:0 frame:0
TX packets:43770 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:45978185 (43.8 Mb) TX bytes:7526693 (7.1 MB)
有关使用 ifconfig 的更多选项和信息,请输入 ifconfig -h 或参见 ifconfig (8) 手册页。
route 是用于操作 IP 路由选择表的程序。可使用它来查看路由选择配置以及添加或删除路由。
![]() | route 和 ip |
|---|---|
程序 route 已过时。请改为使用 ip。 | |
如果需要有关路由选择配置的快速而又易懂的信息来确定路由选择问题,则 route 将非常有用。要查看当前路由配置,请以 root 身份输入 route -n。
例 22.12. route -n 命令的输出¶
route -n Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 10.20.0.0 * 255.255.248.0 U 0 0 0 eth0 link-local * 255.255.0.0 U 0 0 0 eth0 loopback * 255.0.0.0 U 0 0 0 lo default styx.exam.com 0.0.0.0 UG 0 0 0 eth0
有关使用 route 的更多选项和信息,请输入 route-h 或参见 route (8) 手册页。
除了上面介绍的配置文件之外,还有多个脚本在引导计算机时装载网络程序。只要系统切换到某个多用户运行级别,就将启动这些脚本。中介绍了其中的一些脚本。表 22.9 “网络程序的一些启动脚本”
表 22.9. 网络程序的一些启动脚本¶
|
此脚本处理网络接口的配置。如果 network 服务未启动,则不实施任何网络接口。 | |
|
启动 xinetd。xinetd 可用于使服务器服务在系统上可用。例如,它可以在初始化 FTP 连接时启动 vsftpd。 | |
|
启动用于将 RPC 程序号转换为通用地址的 rpcbind 实用程序。它是 RPC 服务所必需的,如 NFS 服务器。 | |
|
启动 NFS 服务器。 | |
|
控制 postfix 进程。 | |
|
启动 NIS 服务器。 | |
|
启动 NIS 客户端。 |
对于某些系统,需要实施高于典型以太网设备的标准数据安全性或可用性要求的网络连接。在这些情况下,可以将多个以太网设备聚合到单个绑定设备。
联接设备的配置通过联接模块选项来完成。其行为主要受联接设备模式的影响。默认情况下是 mode=active-backup,即如果活动从属设备发生故障,则其他从属设备将变成活动从属设备。
![]() | 联接和 Xen |
|---|---|
联接设备只对于有多个真实网卡可用的计算机有效。这意味着在大多数配置中,您仅应在 Domain0 中使用联接配置。换言之,只有当您将多个网卡指派给一个 VM Guest 系统时,在 VM Guest 中设置联接才有效。 | |
要配置联接设备,请使用以下过程:
运行 ++。
使用并将更改为。按继续。
![]() |
选择如何为联接设备指派 IP 地址。有三种方法可供选择:
无 IP 地址
动态地址(使用 DHCP 或 Zeroconf)
静态指派的 IP 地址
请使用最适合您环境的方法。
在选项卡中,通过激活相关复选框选择应加入到联接中的以太网设备。
编辑。以下模式可用于配置:
balance-rr
active-backup
balance-xor
broadcast
802.3ad
balance-tlb
balance-alb
确保将参数 miimon=100 添加到。如果没有此参数,则不会定期检查数据完整性。
单击,然后单击退出 YaST 以创建设备。
有关所有模式以及更多选项的详细说明,可在安装 kernel-source 程序包后参见 /usr/src linux/Documentation/networking/bonding.txt 中的 。
在特定网络环境(如高可用性)下,有几种情况需要替换联接从属接口。原因可能在于网络设备持续故障。解决方案是设置联接从属的热插拔。
按常规配置联接(按照 man 5 ifcfg-bonding),例如:
ifcfg-bond0
STARTMODE='auto' # or 'onboot'
BOOTPROTO='static'
IPADDR='192.168.0.1/24'
BONDING_MASTER='yes'
BONDING_SLAVE_0='eth0'
BONDING_SLAVE_1='eth1'
BONDING_MODULE_OPTS='mode=active-backup miimon=100'
但要使用 STARTMODE=hotplug 和 BOOTPROTO=none 指定从属:
ifcfg-eth0
STARTMODE='hotplug'
BOOTPROTO='none'
ifcfg-eth1
STARTMODE='hotplug'
BOOTPROTO='none'
BOOTPROTO=none 使用 ethtool 选项(如果提供),但不要在 ifup eth0 上设置链路,因为从属接口由联接主接口控制。
STARTMODE=hotplug 会让从属接口在可用之时自动加入联接。
必须更改 /etc/udev/rules.d/70-persistent-net.rules 中的 udev 规则,使之按照总线 ID(udev KERNELS 关键字等于使用 hwinfo --netcard 后出现的“SysFS BusID”)而不是 MAC 地址与设备匹配。这样变更后便可替换有问题的硬件(插在相同插槽中的网卡具有不同的 MAC),并可避免在联接更改其所有从属接口的 MAC 地址时产生混淆。
例如:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
KERNELS=="0000:00:19.0", ATTR{dev_id}=="0x0", ATTR{type}=="1",
KERNEL=="eth*", NAME="eth0"
在引导时,/etc/init.d/network 不会等待热插拔从属接口,但会等待联接准备就绪,而这需要至少有一个从属接口可用。当从系统中去除一个从属接口时(从 NIC 驱动程序拆开联结、执行 NIC 驱动程序的 rmmod 命令或 PCI 热插拔去除为 true),内核会自动从联接中将其去除。当向系统添加新网卡时(替换插槽中的硬件),udev 会使用基于总线的网卡设备名称规则将其重命名为从属接口的名称,并为其调用 ifup 命令。ifup 命令会自动调用以将新网卡加入联接。
部分家庭用户不具备连接到因特网的专线。而是使用拨号连接。根据所用的拨号方法(ISDN 或 DSL),连接受 ipppd 或 pppd 的控制。基本上,只要正确启动这些程序就可以联网了。
如果采用包月付费方式(拨号连接不产生任何附加费用),则只需启动相应的守护程序。用桌面小程序或命令行界面来控制拨号连接。如果因特网网关不是您所用的主机,最好通过网络主机来控制拨号连接。
在这种环境下需使用 smpppd (SUSE Meta PPP Daemon)。该程序为辅助程序提供统一的界面,并且可以双向执行。首先,它要对所需的 pppd 或 ipppd 编程,并控制其拨号属性。然后,向用户程序提供各种提供商,并传送有关当前连接状态的信息。由于还可以通过网络来控制 smpppd,该程序适用于从专用子网中的工作站控制与因特网的拨号连接。
YaST 可以自动配置由 smpppd 提供的连接。同时还会预先配置实际的拨号程序 KInternet 和 cinternet。只有在配置 smpppd 的附加功能(如远程控制)时,才需要手动设置。
smpppd 的配置文件为 /etc/smpppd.conf。默认情况下并未启用远程控制。此配置文件最重要的选项包括:
yes|no
要通过网络控制 smpppd,请将此选项设置为 yes。smpppd 侦听端口 3185。如果将此参数设置为 yes,则还必须相应设置 bind-address、host-range 和 password 等参数。
ip address
如果主机有多个 IP 地址,使用此参数可以确定 smpppd 应在哪个 IP 地址上接受连接。默认值是监听所有地址。
min ipmax ip
参数 host-range 用于定义网络范围。IP 地址属于这一范围的主机将被授予访问 smpppd 的权限。此范围之外的所有主机均不具备访问权。
password
通过指派口令可使客户端仅限于授权主机。由于这是个纯文本口令,不应高估该口令提供的安全性。如果未指派任何口令,所有客户端都有权访问 smpppd。
yes|no
使用此参数,可以通过 SLP 在网络中声明 smpppd 服务。
关于 smpppd 的详细信息,请参见 smpppd(8) 和 smpppd.conf(5) 手册页。
cinternet 可用于控制本地或远程 smpppd。cinternet 是图形 KInternet 的命令行形式。要使这些实用程序可用于远程 smpppd,请手动编辑配置文件 /etc/smpppd-c.conf 或使用 cinternet。此文件仅使用四个选项:
list of sites
list of sites,其中前端搜索 smpppd。前端将按照在此指定的选项顺序来测试这些选项。local 规定建立到本地 smpppd 的连接。gateway 指向网关上的 smpppd。config-file 表示应建立到 /etc/smpppd-c.conf 中 server 和 port 选项指定的 smpppd 连接。slp 命令前端通过 SLP 连接到发现的 smpppd。
server
运行 smpppd 的主机。
port
运行 smpppd 的端口。
password
为 smpppd 选择的口令。
如果 smpppd 处于活动状态,请尝试访问它。例如,使用 cinternet --verbose --interface-list。如果此时遇到困难,请参见 smpppd-c.conf(5) 和 cinternet(8) 手册页。