在Linux下配置TCP/IP( 六 )


/etc/sysconfig/network
将 /etc/sysconfig/network(注意与 /etc/networks 文件不同 , 这个 network 是单数而不是复数)用于指定所期望的网络配置信息;在引导时 , 有几个脚本要使用它 。该文件可以包含下列所示的一个或多个关键字/值对:
NETWORKING=YES|NO -- YES 表示需要配置网络;NO 表示不需要配置网络 。
HOSTNAME=hostname — 主机的全限定域名;为与较老的程序兼容 , 这应该与在 /etc/hosts 中的主机项相匹配 。
GATEWAY=gw-ip — 网络网关的 IP 地址 。
GATEWAYDEV=gw-dev — 网关设备的名称(例如 eth0) 。
NISDOMAIN=dom-name — 表示 NIS 域 , 如果有的话 。
下面是 /etc/sysconfig/network 最小配置的示例:
NETWORKING=yes
HOSTNAME=phoenix.syroidmanor.com
GATEWAY=192.168.1.1

/etc/resolv.conf 和 /etc/rc.d/rc3.d/S10network
/etc/resolv.conf 是网络用来确定主机解析的关键文件之一 。在此可以标识最多三个名称服务器;如果列在第一位的服务器未对查询做出响应 , 则后面两个起到备用的作用 。domain 项定义缺省域名 。解析器(顺便提一下 , 该解析器不是一个单独的进程 , 而是由网络进程调用的例程库)将这里所列出的域名附加在任何不包含句点的主机查询上 。
# /etc/resolv.conf
# domain name resolver config file
domain syroidmanor.com
nameserver 192.168.1.7
nameserver 192.168.1.10
nameserver 165.142.268.19
在上面所显示的示例中 , 如果提交给解析器的查询是想要查询找主机 phoenix(注意 , 没有点) , 则将该域附加到这个请求之后 , 这会将该查询扩展为 phoenix.syroidmanor.com 。若需要了解更多详细信息和可以使用的选项 , 请输入 man resolv.conf。
/etc/rc.d/rc3.d/S10network 是指向 /etc/rc.d/init.d/network 脚本的符号链接 。当系统达到运行级别 3 时 , 它负责初始化所有已配置的网络接口 。在这里我们不想花时间来详细讨论该文件后面的逻辑 , 因为该文件主要是调用本节中所提到的其它脚本和程序 。但是 , 如果您对 S10network 中初始化各种网络组件和服务的顺序感兴趣的话 , 则可以使用 less /etc/rc.d/rc3.d/S10network 命令来仔细研读它 。
/etc/sysconfig/network-scripts/ 目录
最后 , 通常可在 /etc/sysconfig/network-scripts/ 目录中查找到下列文件:
· /etc/sysconfig/network-scripts/ifup
· /etc/sysconfig/network-scripts/ifdown
· /etc/sysconfig/network-scripts/network-functions
· /etc/sysconfig/network-scripts/ifcfg-interface-name
· /etc/sysconfig/network-scripts/ifcfg-interface-name:clone-name
· /etc/sysconfig/network-scripts/chat-interface-name
· /etc/sysconfig/network-scripts/dip-interface-name
· /etc/sysconfig/network-scripts/ifup-post
在随后的几页中 , 我们将简要地看一下这些关键文件 , 了解它们做什么和包含什么 。
……/network-scripts/ , 第一部分
/etc/sysconfig/network-scripts 中的 ifup 和 ifdown 项实际是分别指向 /sbin/ifup 和 /sbin/ifdown 的符号链接 。这两个脚本是在该目录下唯一应该直接调用的脚本 , 并且它们按需要调用所有其它脚本 。
ifup 和 ifdown 通常只带一个参数:设备名(例如 eth0) 。系统在引导过程期间用参数“boot”调用它们 , 以便于不激活没有被配置成在系统启动时初始化的设备(请参阅下面关于 interface-name 描述中的 ONBOOT=no) 。
network-function 不是公共文件 。它包含这个目录中的几个脚本所需的函数 。具体地说 , 它包含了用于处理替代接口配置的大多数代码 。
……/network-scripts/ , 第二部分
配置文件 ifcfg-interface-name 和 ifcfg-interface-name:clone-name 包含了初始化接口所需的大部分详细信息 。第一个文件定义接口 , 而第二个文件仅包含与“别名”(或替代)接口相关的部分定义 。例如 , 网络地址或许不同 , 但其它可能会一样 。

推荐阅读