Linux常用网络配置
本文以RedHat Enterprise Linux 5为例,根据版本的不同,可能会稍有不同.
1.主要的网络配置文件
*/etc/hosts
这个文件的主要作用是解析主机名,一般都会有对回路设备的设置.一般是:
127.0.0.1 localhost.localdomain localhost
*/etc/resolv.conf
这个文件指定域名服务器的IP地址和搜索域名,网络初始脚本一般都要载入这个文件
*/etc/sysconfig/network-scripts/ifcfg-<interface>
每个网络接口都对应一个网络设置,这里的文件就是对不同网络接口的配置,包括IP地址,掩码,网关等.
2.接口配置文件
接口配置文件对每个网络接口分别进行配置,系统启动时会根据这些文件决定启用的配置哪些网络接口.这些文件通常以ifcfg-<name>来命名.name代表配置文件控制的设备名称.
2.1. 以太网接口
最常见的接口文件是ifcfg-eth0,它控制系统的第一个以太网卡.如果系统有多个网卡,就会有多个配置文件cfg-eth<x>(x是特定接口的唯一标识).
以下是使用固定IP地址的一个系统的ifcfg-eth0的文件实例.
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
NETWORK=10.0.1.0
NETMASK=255.255.255.0
IPADDR=10.0.1.27
USERCTL=no
接口配置文件的值会根据其他的值而改变.例如应用DHCP的接口文件会有点不一样:
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
下面是以太网接口配置文件的配置参数清单
BOOTPROTO=dhcp
ONBOOT=yes
BOOTPROTO=<protocol>
在这里,<protocol> 是以下值中的一个:
*
none — 在启动时不使用任何协议。
*
bootp — 使用 BOOTP 协议。
*
dhcp — 使用 DHCP 协议。
BROADCAST=<address>
在这里,<address> 是广播的地址。这个项已经不再被使用,因为这个值可以被 ifcalc 自动计算。
DEVICE=<name>
在这里,<name> 是物理设备的名称(当它是动态分配的 PPP 设备时,它是 逻辑名)。
DHCP_HOSTNAME
当 DHCP 服务器需要客户机在接收 IP 地址前指定主机名时才使用该选项。
DNS{1,2}=<address>
在这里,<address> 是 /etc/resolv.conf(PEERDNS 项被设为 yes)文件中的名称服务器的地址。
ETHTOOL_OPTS=<options>
在这里,<options> 被 ethtool 支持的特定设备的选项。例如,您需要设置100Mb,双项网络:
ETHTOOL_OPTS="autoneg off speed 100 duplex full"
备注:如果要改变速度和双工设置,需要禁止自动协商选项autoneg off. 这个必须先于其他选项启动,因为选项都是按顺序排列的.
GATEWAY=<address>
在这里,<address> 是路由器或网关设备的 IP 地址。
HWADDR=<MAC-address>
在这里,<MAC-address> 是以太网设备的硬件地址(格式为 AA:BB:CC:DD:EE:FF)。这个项对有多个网卡的系统非常有用:无论每个网卡的模块是以什么顺序被加载的,它们都可以获得正确的设备名。这个项 不能 和 MACADDR 一起使用。
IPADDR=<address>
在这里,<address> 是 IP 地址。
MACADDR=<MAC-address>
在这里,<MAC-address> 是以太网设备的硬件地址(格式为 AA:BB:CC:DD:EE:FF)。这个项被用来为一个接口分配一个 MAC 地址,这个地址会覆盖分配给物理网卡的地址。这个 不能 和 HWADDR 一起使用。
MASTER=<bond-interface>
在这里,<bond-interface> 是以太网接口所连接的接口的频道绑定接口。
这个项和 SLAVE 项一起使用。
要了解更多关于频道绑定接口的信息,请参阅第 1.2.3 节 “网络接口”。
NETMASK=<mask>
在这里,<mask> 是网络掩码的值。
NETWORK=<address>
在这里,<address> 是网络地址。这个项已经不再被使用,它现在被 ifcalc 自动计算。
ONBOOT=<answer>
在这里,<answer> 是以下值中的一个:
yes — 这个设备在启动时被激活。
no — 这个设备在启动时不被激活。
PEERDNS=<answer>
在这里,<answer> 是以下值中的一个:
yes — 如果 DNS 项被设定,修改 /etc/resolv.conf;如果使用DHCP,yes 就是默认设置。
no — 不修改 /etc/resolv.conf 文件。
SLAVE=<bond-interface>
在这里,<bond-interface> 是以下值中的一个:
yes — 这个设备由 MASTER 项中指定的频道绑定接口控制。
no — 这个设备不被MASTER 项中指定的频道绑定接口控制。
这个项与 MASTER 项一起使用。
如需了解更多关于频道绑定接口的信息,请参阅 第 1.2.3 节 “网络接口”。
SRCADDR=<address>
where <address> is the specified source IP address for outgoing packets.
PEERDNS=<answer>
在这里,<answer> 是以下值中的一个:
yes — 允许非根用户控制该设备。
no — 不允许非根用户控制该设备。
在这里,<protocol> 是以下值中的一个:
*
none — 在启动时不使用任何协议。
*
bootp — 使用 BOOTP 协议。
*
dhcp — 使用 DHCP 协议。
BROADCAST=<address>
在这里,<address> 是广播的地址。这个项已经不再被使用,因为这个值可以被 ifcalc 自动计算。
DEVICE=<name>
在这里,<name> 是物理设备的名称(当它是动态分配的 PPP 设备时,它是 逻辑名)。
DHCP_HOSTNAME
当 DHCP 服务器需要客户机在接收 IP 地址前指定主机名时才使用该选项。
DNS{1,2}=<address>
在这里,<address> 是 /etc/resolv.conf(PEERDNS 项被设为 yes)文件中的名称服务器的地址。
ETHTOOL_OPTS=<options>
在这里,<options> 被 ethtool 支持的特定设备的选项。例如,您需要设置100Mb,双项网络:
ETHTOOL_OPTS="autoneg off speed 100 duplex full"
备注:如果要改变速度和双工设置,需要禁止自动协商选项autoneg off. 这个必须先于其他选项启动,因为选项都是按顺序排列的.
GATEWAY=<address>
在这里,<address> 是路由器或网关设备的 IP 地址。
HWADDR=<MAC-address>
在这里,<MAC-address> 是以太网设备的硬件地址(格式为 AA:BB:CC:DD:EE:FF)。这个项对有多个网卡的系统非常有用:无论每个网卡的模块是以什么顺序被加载的,它们都可以获得正确的设备名。这个项 不能 和 MACADDR 一起使用。
IPADDR=<address>
在这里,<address> 是 IP 地址。
MACADDR=<MAC-address>
在这里,<MAC-address> 是以太网设备的硬件地址(格式为 AA:BB:CC:DD:EE:FF)。这个项被用来为一个接口分配一个 MAC 地址,这个地址会覆盖分配给物理网卡的地址。这个 不能 和 HWADDR 一起使用。
MASTER=<bond-interface>
在这里,<bond-interface> 是以太网接口所连接的接口的频道绑定接口。
这个项和 SLAVE 项一起使用。
要了解更多关于频道绑定接口的信息,请参阅第 1.2.3 节 “网络接口”。
NETMASK=<mask>
在这里,<mask> 是网络掩码的值。
NETWORK=<address>
在这里,<address> 是网络地址。这个项已经不再被使用,它现在被 ifcalc 自动计算。
ONBOOT=<answer>
在这里,<answer> 是以下值中的一个:
yes — 这个设备在启动时被激活。
no — 这个设备在启动时不被激活。
PEERDNS=<answer>
在这里,<answer> 是以下值中的一个:
yes — 如果 DNS 项被设定,修改 /etc/resolv.conf;如果使用DHCP,yes 就是默认设置。
no — 不修改 /etc/resolv.conf 文件。
SLAVE=<bond-interface>
在这里,<bond-interface> 是以下值中的一个:
yes — 这个设备由 MASTER 项中指定的频道绑定接口控制。
no — 这个设备不被MASTER 项中指定的频道绑定接口控制。
这个项与 MASTER 项一起使用。
如需了解更多关于频道绑定接口的信息,请参阅 第 1.2.3 节 “网络接口”。
SRCADDR=<address>
where <address> is the specified source IP address for outgoing packets.
PEERDNS=<answer>
在这里,<answer> 是以下值中的一个:
yes — 允许非根用户控制该设备。
no — 不允许非根用户控制该设备。
还有很多其他的网络配置文件,包括pppoe,拨号上网,IPSEC等等,以后再讨论....