服务器的系统安装好后,接下来就要在机房或内网环境中配置它的IP了,这是最重要的一个环节。下面我就以64bit Centos5.5服务器为例来说明如何通过命令或图形来配置Linux服务器的IP、网关、DNS,以及如何用命令查看Linux的进程或网络连接等。
配置Linux服务器的网络
1、手动修改配置网卡文件
手动配置网卡是最直接的方式,熟练的系统管理员在平时维护系统的时候更喜欢使用这种方式,因为手动配置有如下优点:
熟悉命令之后,手动配置更快速,并且不需要重新启动。
能够使用配置命令的高级特性。
更容易维护配置文件,找出系统故障。
能更深刻地了解系统配置是如何进行的。
那么,下面就介绍一下如何手动配置网卡文件。首先检查网卡是否正常安装,Centos5.5的驱动非常强悍,基本上市面上的服务器网卡都可以正常安装,我们可以用如下命令检查网卡是否正常安装:
[root@localhost ~]# lspci | grep Ether 06:07.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) 07:08.0 Ethernet controller: Intel Corporation 82541GI Gigabit Ethernet Controller (rev 05) [root@localhost~]# dmesg| grep error |
一般来说,2.4版本以后的Linux可以支持的网卡芯片组驱动已经很完备了,包括著名厂商(如Intel),以及使用广泛的RealTek、Via等网卡芯片,所以大家可以很轻松地使用它们的网卡。我们还可以用lsmod命令通过加载模块的方法来加载特殊的网卡。
在配置Linux网络设备时,它们分别被赋予别名,该别名由一个描述性的缩略词和一个编号组成。第一个设备的编号为0,其他设备依次为1、2、3……其中,eth0、eth1是以太网卡接口,大多数的以太网卡都用此名表示,包括许多并行端口以太网卡,接下来主要讨论这种类型的网卡。与网卡相关的TCP/IP网络配置文件是/etc/sysconfig/network-scripts/ifcfg-ethx,其中x是从0开始的,第一个以太网配置文件即/etc/sysconfig/network-scripts/ifcfg-eth0。以我的公网机器举例说明如下:
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none HWADDR=00:14:22:1B:71:20 IPV6INIT=yes IPV6_AUTOCONF=yes ONBOOT=yes NETMASK=255.255.255.192 IPADDR=203.93.236.146 GATEWAY=203.93.236.129 TYPE=Ethernet PEERDNS=yes USERCTL=no NETMASK=255.255.255.192 IPADDR=203.93.236.146 |
其中:
DEVICE=eth0表示设定网卡的名称,它要跟文件名称对应。
BOOTPROTO=none是启动时IP取得的协议,这里是固定的(此值也可以为static),如果是动态主机的话,要改成dhcp。
HWADDR=00:14:22:1B:71:20指网卡的MAC地址,可以用ifconfig来取值。当然了,如果我们不指定这项的话,Centos5.5也会默认指定。
IPV6INIT=yes表示支持IPv6,no表示不支持。
IPV6_AUTOCONF=yes表示自动配置IPv6。
ONBOOT=yes表示在开机的时候启动网卡。这里肯定要选择yes了,如果选择no的话则网卡在系统引导时不会被分配IP地址,那就很麻烦了。
NETMASK=255.255.255.192和IPADDR=203.93.236.146,这两个就没什么好说了,这是我们的IDC分配给公网的IP地址和子网掩码,强悍的是,顺序反了一样生效。
GATEWAY=203.93.236.129是网关地址。
TYPE=Ethernet表示网卡的类型为以太网型。
PEERDNS=yes表示允许从DHCP获得的DNS覆盖本地的DNS。
网卡和DNS配置界面
USERCTL=no表示不允许普通用户修改配置。
配置完成后记得保存,然后重启服务server network restart即可生效。当然了,如果嫌麻烦,可以用Centos5.5的setup工具中的“网络配置”来操作,方法很简单,如图1-23所示。这里就不浪费篇幅了。
2、修改机器的hostname
下面来修改机器的hostname,如下所示:
vim /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=yes HOSTNAME=localhost.localdomain |
HOSTNAME后面紧跟的就是我们的主机名,这里是系统默认的localhost.localdomain。
HOSTNAME的后面即可接我们要更改的主机名,重启后可以用hostname命令来查看。如果只是简单地用命令hostname,仅仅对当前生效,重启后会失效,比较好的方法是写到文件中保存。
3、修改主机名查询静态表/etc/hosts
Linux主机名的相关配置文件就是/etc/hosts,这个文件告诉本主机哪些域名对应哪些IP,哪些主机名对应哪些IP。下面对/etc/hosts的格式进行说明。一般/etc/hosts的内容会与下面的内容类似:
127.0.0.1 localhost.localdomain localhost 192.168.21.100 webserver.cn7788.com webserver 192.168.21.111 ftp.cn7788.com ftp |
通常hosts文件的每行为一个主机的信息,并且每行由3部分组成,各个部分间由空格隔开,这三部分所表示的意思如下。
第一部分:网络IP地址
第二部分:主机名或域名
第三部分:主机名别名
当然每行也可以是两部分,即主机IP地址和主机名,比如:192.168.21.100 webserver.cn7788.com另外,hosts文件中以#号开头的行是说明,不会被系统解释。
这里稍微解释一下主机名(hostname)和域名(domain)的区别:主机名通常在局域网内使用,通过hosts文件,主机名就被解析到对应的IP地址上;域名通常在Internet上使用,但如果本机不想使用Internet上的域名解析,可以更改hosts文件,加入自己的域名解析。
目前/etc/hosts多用于集群环境或开发测试环境(以免重新架构内网DNS服务器)。
4、配置DNS域名解析服务器
配置DNS域名就比较简单了,只需要配置/etc/resolv.conf文件即可,如下所示:
vim /etc/resolv.conf nameserver 202.96.128.86 nameserver 202.96.128.166 |
resolv.conf中最重要的选项是nameserver,它给出了要使用的名字服务器的IP地址。如果你通过nameserver选项指定了几个名字服务器。那么它们会以给出的先后顺序来决定主从服务器,如果主服务器上没有对应的域名,系统会自动从DNS上寻找。因此,你首先应该给出最可靠的服务器。目前,它至多支持3个服务器名字。