Linux服务器网络配置基础

要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置。在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作下面介绍基本的 TCP/IP网络配置文件。

1,/etc/sysconfig/network-scripts/ifcfg-ethN 文件

RedHat中,系统网络设备的配置文件保存在“/etc/sysconfig/network-scripts”目录下,ifcfg-eth0包含第一块网卡的配置信息,ifcfg-eth1包含第二块网卡的配置信息。

下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:

DEVICE=eth0

IPADDR=208.164.186.1

NETMASK=255.255.255.0

NETWORK=208.164.186.0

BROADCAST=208.164.186.255

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

 

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

DEVICE=name

name表示物理设备的名字

IPADDR=addr

addr表示赋给该卡的IP地址

NETMASK=mask

mask表示网络掩码

NETWORK=addr

addr表示网络地址

BROADCAST=addr

addr表示广播地址

ONBOOT=yes/no

启动时是否激活该卡

none

无须启动协议

bootp

使用bootp协议

dhcp

使用dhcp协议

USERCTL=yes/no

是否允许非root用户控制该设备

2,/etc/resolv.conf 文件

该文件是由域名解析器(resolver,一个根据主机名解析IP地址的库)使用的配置文件,示例如下:

search openarch.com

nameserver 208.164.186.1

nameserver 208.164.186.2


表示当提供了一个不包括完全域名的主机名时,在该主机名后添加domainname.com的后缀;“nameserver”表示解析域名时使用该地址指定的主机为域名服务器。其中域名服务器是按照文件中出现的顺序来查询的。

3,/etc/host.conf 文件

该文件指定如何解析主机名。Linux通过解析器库来获得主机名对应的IP地址。下面是一个“/etc/host.conf”的示例:

order bind,hosts

 

  multi on

 

  ospoof on



指定主机名查询顺序,这里规定先使用DNS来解析域名,然后再查询“/etc/hosts”文件(也可以相反)

“multi on”指定是否“/etc/hosts”文件中指定的主机可以有多个地址,拥有多个IP地址的主机一般称为多穴主机。

“nospoof on”指不允许对该服务器进行IP地址欺骗。IP欺骗是一种***系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任。

4,/etc/sysconfig/network 文件

该文件用来指定服务器上的网络配置信息,下面是一个示例:

NETWORK=yes

RORWARD_IPV4=yes

HOSTNAME=deep.openarch.com

GAREWAY=0.0.0.0

GATEWAYDEV=

NETWORK=yes/no

网络是否被配置;

FORWARD_IPV4=yes/no

是否开启IP转发功能

HOSTNAME=hostname hostname

表示服务器的主机名

GAREWAY=gw-ip

gw-ip表示网络网关的IP地址

GAREWAYDEV=gw-dev

gw-dw表示网关的设备名,如:etho

注意:为了和老的软件相兼容,“/etc/HOSTNAME”文件应该用和HOSTNAME=hostname相同的主机名。

5,/etc/hosts 文件

当机器启动时,在可以查询DNS以前,机器需要查询一些主机名到IP地址的匹配。这些匹配信息存放在/etc/hosts文件中。在没有域名服务器情况下,系统上的所有网络程序都通过查询该文件来解析对应于某个主机名的IP地址。

下面是一个“/etc/hosts”文件的示例:

127.0.0.1   localhost localhost.localdomain 


最左边一列是主机IP信息,中间一列是主机名。任何后面的列都是该主机的别名。一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效。使用下面的命令来重新启动网络:

/etc/rc.d/init.d/network restart