/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 包含了初始化接口所需的大部分详细信息。第一个文件定义接口,而第二个文件仅包含与“别名”(或替代)接口相关的部分定义。例如,网络地址或许不同,但其它可能会一样。
在 ifcfg 文件中定义的各项目取决于接口类型;下列值很常见:
·DEVICE=name ,其中 name 是物理设备名
·IPADDR=addr ,其中 addr 是 IP 地址
·NETMASK=mask ,其中 mask 是网络掩码值
·NETWORK=addr ,其中 addr 是网络地址
·BROADCAST=addr ,其中 addr 是广播地址
·GATEWAY=addr ,其中 addr 是网关地址
·ONBOOT=answer ,其中 answer 是“yes”(引导时激活设备)或“no”
·USERCTL=answer ,其中 answer 是“yes”(非 root 用户可以控制该设备)或“no”
·BOOTPROTO=proto ,其中 proto 取下列值之一:“none”(引导时不使用协议)“bootp”(使用 BOOTP 协议)或“dhcp”(使用 DHCP 协议)
此外,下列值对所有的 SLIP(串行线 IP)文件是公共的:
·PERSIST=answer ,其中 answer 是“yes”(即使调制解调器已经挂断连接,也保持设备处于激活状态)或“no”(不保持激活状态)
·MODEMPORT=port ,其中 port 是调制解调器端口的设备名(例如,/dev/modem)
·LINESPEED=baud ,其中 baud 是调制解调器的线路速度
·DEFABORT=answer ,其中 answer 是“yes”(当创建/编辑该接口的脚本时,插入缺省的异常终止字符串)或“no”(不插入缺省的异常终止字符串)
…/network-scripts/,第三部分
chat-interface-name 文件是用于 SLIP 连接的交谈脚本(chat script)。它的功能是启动 SLIP 连接。对于 SLIP 设备,DIP 脚本是根据这个交谈脚本编写的。
chat-interface-name 是只写脚本,它由程序 netcfg 根据交谈脚本创建的。不要修改该文件。
当初始化任何网络设备(除了 SLIP 设备)时,调用 /etc/sysconfig/network-scripts/ifup-post。它调用 /etc/sysconfig/network-scripts/ifup-routes 以启动依赖于该设备的静态路由,它还启动为该设备配置的任何别名,并且,如果还没有设置主机名,则设置主机名 — 这样找到与该设备 IP 地址匹配的主机名。最后,ifup-post 给请求通知网络事件的任何程序发送信号(SIGIO)。
ifconfig 程序
ifconfig 命令设置、检查或监控网络接口的配置值。它还可以用于设置接口的“状态”— 即“up”(启动)或“down”(关闭)。一个对 ifconfig 简单的调用是:
ifconfig interface-name ip-address up|down
这会激活指定的接口并将所提供的 IP 地址分配给它。
ifconfig 有许多个可用的选项(metric、mtu 以及 pointtopoint 等等;有关详细信息,请参阅帮助页)用于显式地设置唯一的接口参数,但一般来说,提供接口名称(例如, eth0)、IP 地址和网络掩码就足够了。例如:
ifconfig eth0 192.168.1.5 netmask 255.255.255.0 up
分配给接口 eth0 的 IP 为 192.168.1.5,网络掩码为 255.255.255.0 并“启动该接口”或将其初始化。类似的,若将接口“关闭”,则输入 ifconfig eth0 down ;不需要指定 IP 和网络掩码。
责任编辑:小草