本文主要介绍Linux下的常用网络配置文件:

/etc/sysconfig/network

/etc/hosts

/etc/services

/etc/host.conf

/etc/nsswitch.conf

/etc/resolv.conf

/etc/xinetd.conf

/etc/modules.conf

/etc/sysconfig/network-scripts/ifcfg-ethN

接下来我们对这些文件逐一讲述.

1、 /etc/sysconfig/network

用于指定服务器上的网络配置信息,包含了控制网络相关的文件和守护进程的行为参数。


2、/etc/hosts 

IP地址和主机名的映射,还包括主机名的别名,IP地址的设计使计算机容易识别,但对于人们来说却难以记忆。因此,创建/etc/hosts文件来解决这个问题。

一旦配置完网络配置信息,需要重启网络服务使修改生效命令是:
service network restart

/etc/hosts文件通常含有主机名、localhost和系统管理员经常使用的系统别名。有时候telnet到Linux机器需要很长时间,可以通过在/etc/hosts加入客户的机器名和IP地址,就可以减少登录时间。在没有域名服务器的情况下,系统上所有的网络程序都会通过查询该文件来解析对应于某个主机的IP地址。否则,其他的主机名通常通过DNS来解决。DNS客户的部分配置在/etc/resolv.conf中。


3、 /etc/services

包含了服务名和端口号之间的映射。不少的系统程序要使用这个文件。

这个文件中也存在别名,它们出现在端口号后面。


4、 /etc/host.conf

配置名字解析器

有两个文件声明系统到哪里寻找名字信息来配置UNIX名字解析器的库。文件/etc/host.conf由版本5的libc库所引用,而/etc/nsswitch.conf由版本6使用(glibc)。问题在于一些程序使用其中一个,而一些使用另一个,所以将两个文件都配置是十分必要的。

/etc/host.conf文件指定如何解析主机名,Linux通过解析库来获得主机名对应的IP地址。

host.conf文件中参数:
order 指定主机名的查询顺序,其参数为逗号隔开的查找方法,bind、hosts、nis 分别代表DNS、/etc/hosts和NIS

"trim" 表明通过DNS进行地址到主机名的转换时,域名将从主机名中被裁剪掉,trim可以对多个域名包含多次。对/etc/hosts和NIS查询方法不起作用。注意在/etc/hosts和NIS表中,主机名是被适当地列出的。

"multi" 指定是否/etc/hosts文件中指定的主机可以有多个地址,值为on表示允许,拥有多个IP地址的主机一般称为具有多个网络界面。

"nospoof" 指是否允许对该服务器进行IP地址欺骗,值为on表示不允许,IP地址欺骗是一种供给系统安全的手段,通过把IP地址伪装成别的计算机,来取得其他计算机的信任。

"alert" 当nopoof指令为on时,alert控制欺骗的企图是否用syslog工具进行记录,值为on表示使用,缺省值为off.

"recorder" 如果选为on,所有的查询将被重排序,所以在同一子网中的主机将首先被返回。缺省值为off。


5、 /etc/nsswitch.conf
该文件是由Sun公司开发并用于管理系统中多个配置文件的查找顺序的。 它比/etc/host.conf提供了更多的功能,/etc/nsswitch.conf中的每一行或者注释或者是一个关键字后跟一个冒号和一系列要试用的有顺序的方法。每一个关键字是在/etc/目录可以被/etc/nsswitch.conf控制的/etc文件的名字。下面是可以被包含的关键字:
aliases 邮件别名

passwd 系统用户

group 用户组

shadow 隐蔽口令

hosts 主机名和IP地址

networks 网络名和号

protocols 网络协议

services 端口号和服务名称

ethers 以太网号

rpc 远程进程调用的名称和号

netgroup 网内组


6、 /etc/resolv.conf

配置DNS客户

它包含了主机的搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个由空格隔开的参数。

合法的参数及其意义如下:
nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个IP地址。在查询时就按nameserver在文本文件中的顺序进行。且只有当第一个没有反应时才会查询下一个。

domain 声明主机的域名,很多程序用得到它,如邮件系统。当为没有域名的主机进行DNS查询时也要用到。当没有域名时,主机名将被使用,删除所有在第一个(.)前面的内容。

search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存,如果同时存在,后面的出现将被使用。

sortlist 允许将得到的域名结果进行特定排序。它的参数为网络/掩码对,允许任意的排序。

 

7、 /etc/xinetd.conf

redhat7.1及之后的版本,xinetd.conf代替了原来的inetd.conf,并且直接使用了firewall服务。xinetd的默认配置文件是/etc/xinetd.conf,它尽管看起来和老版本的/etc/inetd.conf完全不同,其实只是以一个脚本的形式将inetd中的每一行指定的服务扩展为一个/etc/xinetd.d/下的配置文件。其格式为:
service service-name

disabled=yes/no;//是否禁用

socket_type=xxx;//TCP/IP sockettype ,such as stream dgram,raw..

protocol=xxx;//服务使用的协议

server=xxx;//服务daemon的完整路径

server_args=xxx;//服务参数

port=xxx;//指定服务端口号

wait=xxx;//是否阻塞服务,即单线程or多线程

user=xxx;//服务进程的uid

group=xxx;//gid

REUSE=xxx;//可重用标志

.

.

}


示例

1) 配置 ftp 服务

在/etc/xinetd.d 目录下 编辑 wu-ftpd

# default: on

# description: The wu-ftpd FTP server serves FTP connections. It uses

\

# normal, unencrypted usernames and passwords for authentication.

service ftp

{

disable = no

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.ftpd

server_args = -l -a

log_on_success += DURATION

nice = 10

}

2)配置 telnet 服务

在/etc/xinetd.d 目录下 编辑 telnet

# default: on

# description: The telnet server serves telnet sessions; it uses \

# unencrypted username/password pairs for authentication.

service telnet

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.telnetd

log_on_failure += USERID

}

配置完成后 重新启动服务

/etc/rc.d/init.d/xinetd restart


8、 /etc/modules.conf

该文件定义了各种在启动时需要加载的模块参数信息,文件格式如下:
alias eth3 tg3


9、 /etc/sysconfig/network-scripts/ifcfg-ethN

系统网络设备的配置文件保存在/etc/sysconfig/network-scripts目录下。

ifcfg-eth0表示第一块网卡,ifcfg-eth1表示第二块网卡

下面是"/etc/sysconfig/network-scripts/ifcfg-eth0"配置实例:
 DEVICE =eth0

 ONBOOT=yes

 BOOTPROTO=static

 IPADDR=192.168.1.10

 NETMASK=255.255.255.0

 GATEWAY=192.168.1.1

若需要手工修改网络地址或在新的接口上增加新的网络界面,可以修改对应的文件(ifcfg-ethN),或创建新的文件来实现。