CentOS网络配置主要涉及到以下四个文件:
1、/etc/sysconfig/network
在CentOS官方网站上给出了如下说明:
The/etc/sysconfig/network
file is used to specify information about the desired network configuration. The following values may be used:
-
NETWORKING=
, where<value>
is one of the following boolean values:<value>
-
yes
— Networking should be configured. -
no
— Networking should not be configured.
-
-
HOSTNAME=
, where<value>
should be theFully Qualified Domain Name(FQDN), such as<value>
hostname.expample.com
, but can be whatever hostname is necessary. -
GATEWAY=
, where<value>
is the IP address of the network's gateway.<value>
-
GATEWAYDEV=
, where<value>
is the gateway device, such as<value>
eth0
. Configure this option if you have multiple interfaces on the same subnet, and require one of those interfaces to be the preferred route to the default gateway. -
NISDOMAIN=
, where<value>
is the NIS domain name.<value>
-
NOZEROCONF=
, where setting<value>
to<value>
true
disables the zeroconf route.By default, the zeroconf route (169.254.0.0) is enabled when the system boots.
从上面的说明中可以看出,该文件是用来配置系统初始化网络信息的,例如是否启动网络,主机名称,网关信息等。
2、/etc/sysconfig/network-scripts/ifcfg-eth0
当我们进入/etc/sysconfig/network-scripts/目录中时,会发现这里存在很多的可执行脚本,那么这个目录下的都是些什么东西呢?先看官方说明:
This directory contains the following network-related configuration files:
-
Network configuration files for each configured network interface, such as
ifcfg-eth0
for theeth0
Ethernet interface. -
Scripts used to bring network interfaces up and down, such as
ifup
andifdown
. -
Scripts used to bring ISDN interfaces up and down, such as
ifup-isdn
andifdown-isdn
. -
Various shared network function scripts which should not be edited directly.
原来该目录下的都是网络参数配置文件以及配置网络时用到的脚本。其中,经常接触的是ifcfg-eth0,该文件用来配置第一块网卡(eth0)参数的配置文件。如果需要配置第二块网卡信息,那么就创建一个ifcfg-eth1;第三块是ifcfg-eth2,以此类推。其典型的配置信息(静态IP地址)如下:
DEVICE=eth0 BOOTPROTO=none ONBOOT=yes NETWORK=10.0.1.0 NETMASK=255.255.255.0 IPADDR=10.0.1.27 USERCTL=no
如果需要配置成系统启动时动态分配IP地址,那么配置信息可能是这样的:
DEVICE=eth0 BOOTPROTO=dhcp ONBOOT=yes
我一直很想知道这里面的参数信息到底有多少项,每一项的可选值又是什么,但这个念头每次都只是在我配置网络参数时一闪而过,没有深究。如果需要全面了解,那么请参考官方说明文档:http://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-networkscripts-interfaces-eth0.html
顺便说一下,给第一块网卡(eth0)配置多个IP的方法是:将ifcfg-eth0拷贝一个eth0:1,在eth0:1中指定新的参数即可,同一块网卡可以支持配置255个IP。给其他网卡配置多个IP地址的方法以此类推。
3、/etc/resolv.conf
该文件用于配置DNS服务器地址信息,官方文档这样描述:
This file specifies the IP addresses of DNS servers and the search domain. Unless configured to do otherwise, the network initialization scripts populate this file. For more information about this file, refer to the resolv.conf
man page.
如果想知道该文件的具体配置方法,请参看man手册。一个典型的配置信息如下:
nameserver 211.157.24.248 nameserver 202.106.46.151 search localhost
4、/etc/hosts
从名字就可以看出,该文件用来指定IP地址与主机名对应关系的,相当于Windows系统下的HOSTS文件。所以,如果网内没有DNS服务器,或者需要加快主机名的解析速度,可以在该文件中指定主机名和对应的IP地址。官方文档描述如下:
The main purpose of this file is to resolve hostnames that cannot be resolved any other way. It can also be used to resolve hostnames on small networks with no DNS server. Regardless of the type of network the computer is on, this file should contain a line specifying the IP address of the loopback device (127.0.0.1
) as localhost.localdomain
. For more information, refer to the hosts
man page.
补充:/etc/sysconfig/networking/
这个文件夹里的东西是干什么的,很多人都不太清楚,我也不例外。我从官方文档中找到了答案:
The /etc/sysconfig/networking/
directory is used by the Network Administration Tool(system-config-network
) and its contents should not be edited manually. Using only one method for network configuration is strongly encouraged, due to the risk of configuration deletion.
原来这个文件夹里的东西都是给网络管理员工具(system-config-network)用的啊,而且还警告用户不要手动编辑这里面的文件,难怪我一直不知道是干什么用的呢!