Red Hat Enterprise Linux 6.4网络操作系统详解
上QQ阅读APP看书,第一时间看更新

7.1 任务1 掌握常见的网络配置文件

Linux主机要与网络中其他主机进行通信,首先要进行正确的网络配置。网络配置通常包括主机名、IP地址、子网掩码、默认网关、DNS服务器等。

在Linux中,TCP/IP网络的配置信息是分别存储在不同的配置文件中的。相关的配置文件有/etc/sysconfig/network、网卡配置文件、/etc/hosts、/etc/resolv.conf以及/etc/host.conf等文件。下面分别介绍这些配置文件的作用和配置方法。

7.1.1 子任务1 详解/etc/sysconfig/network

/etc/sysconfig/network文件主要用于设置基本的网络配置,包括主机名称、网关等。文件中的内容如下所示。

        [root@RHEL6~]# cat /etc/sysconfig/network
        NETWORKING=yes
        HOSTNAME=RHEL6
        GATEWAY=192.168.1.254

• NETWORKING:用于设置Linux网络是否运行,取值为yes或者no。

• NETWORKING_IPV6:用于设置是否启用IPV6,取值为yes或者no。

• HOSTNAME:用于设置主机名称。

• GATEWAY:用于设置网关的IP地址。

除此之外,在这个配置文件中常见的还有以下参数。

• GATEWAYDEV:用来设置连接网关的网络设备。

• DOMAINNAME:用于设置本机域名。

• NISDOMAIN:在有NIS系统的网络中,用来设置NIS域名。

对/etc/sysconfig/network配置文件进行修改之后,应该重启网络服务或者注销系统以使配置文件生效。

7.1.2 子任务2 详解tc/sysconfig/network-scripts/ifcfg-ethN

网卡设备名、IP地址、子网掩码、网关等配置信息都保存在网卡配置文件中。一块网卡对应一个配置文件,配置文件位于“/etc/sysconfig/network-scripts”目录中,文件名以“ifcfg-”开始后跟网卡类型(通常使用的以太网卡用eth代表)加网卡的序号(从0开始)。系统中以太网卡的配置文件名为ifcfg-ethN,其中N为从0开始的数字,如第一块以太网卡的配置文件名为ifcfg-eth0,第二块以太网卡的配置文件名为ifcfg-eth1,其他的依次类推。

Linux系统支持在一块物理网卡上绑定多个IP地址,需要建立多个网卡配置文件,其文件名形式为“ifcfg-ethN:M”,其中“N”和“M”均为从0开始的数字,代表相应的序号。如第1块以太网卡上的第1个虚拟网卡(设备名为eth0:0)的配置文件名为“ifcfg-eth0:0”,第1块以太网卡上的第2个虚拟网卡(设备名为eth0:1)的配置文件名为“ifcfg-eth0:1”。Linux最多支持255个IP别名,对应的配置文件可通过复制ifcfg-eth0配置文件,并修改其配置内容来获得。

所有的网卡IP配置文件都有如下的类似格式,配置文件中每行进行一项内容设置,左边为项目名称,右边为项目设置值,中间以“=”分隔。

        [root@RHEL6~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
        DEVICE=eth0
        BOOTPROTO=static
        BROADCAST=192.168.1.255
        HWADDR=00:0C:29:FA:AD:85
        IPADDR=192.168.1.2
        NETMASK=255.255.255.0
        NETWORK=192.168.1.0
        GATEWAY=192.168.1.254
        ONBOOT=yes TYPE=Ethernet

上述配置文件中各项的具体含义如下。

• DEVICE:表示当前网卡设备的设备名称。

• BOOTPROTO:获取IP设置的方式,取值为static、bootp或dhcp。

• BROADCAST:广播地址。

• HWADDR:该网络设备的MAC地址。

• IPADDR:该网络设备的IP地址。

• NETMASK:该网络设备的子网掩码。

• NETWORK:该网络设备所处网络的网络地址。

• GATEWAY:网卡的网关地址。

• ONBOOT:设置系统启动时是否启动该设备,取值为yes或no。

• TYPE:该网络设备的类型。

例如,为上述eth0网卡再绑定一个IP地址192.168.1.3。则绑定方法如下。

        [root@RHEL6~]# cd /etc/sysconfig/network-scripts/; cp ifcfg-eth0 ifcfg-eth0:
        1; vi ifcfg-eth0:1
        DEVICE=eth0:1                  //此处应修改设备名称为eth0:1
        BOOTPROTO=static
        BROADCAST=192.168.1.255
        HWADDR=00:0C:29:FA:AD:85
        IPADDR=192.168.1.3              //此处设置为指定的IP地址
        NETMASK=255.255.255.0
        GATEWAY=192.168.1.254
        ONBOOT=yes
        TYPE=Ethernet

7.1.3 子任务3 详解/etc/hosts

/etc/hosts文件是早期实现静态域名解析的一种方法,该文件中存储IP地址和主机名的静态映射关系。用于本地名称解析,是DNS的前身。利用该文件进行名称解析时,系统会直接读取该文件中的IP地址和主机名的对应记录。文件中以“#”开始的行是注释行,其余各行,每行一条记录,IP地址在左,主机名在右,主机名部分可以设置主机名和主机全域名。该文件的默认内容如下所示:

        [root@RHEL6 etc]# cat /etc/hosts
        127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

例如,要实现主机名称Server1和IP地址192.168.1.2的映射关系,则只需在该文件中添加如下一行即可。

        192.168.1.2      Server1

7.1.4 子任务4 详解/etc/resolv.conf

/etc/resolv.conf文件是DNS客户端用于指定系统所用的DNS服务器的IP地址。在该文件中除了可以指定DNS服务器外,还可以设置当前主机所在的域以及DNS搜寻路径等。

        [root@RHEL6 etc]# cat /etc/resolv.conf
        nameserver 192.168.0.5
        nameserver 192.168.0.9
        nameserver 192.168.0.1
        search jw.com
        domain jw.com

(1)nameserver:设置DNS服务器的IP地址。可以设置多个名称服务器,客户端在进行域名解析时会按顺序使用。

(2)search:设置DNS搜寻路径,即在进行不完全域名解析时,设置默认的附加域名后缀。

(3)domain:设置计算机的本地域名。

7.1.5 子任务5 详解/etc/host.conf

/etc/host.conf文件用来指定如何进行域名解析,该文件的内容通常包含以下几行。

(1)order:设置主机名解析的可用方法及顺序。可用方法包括hosts(利用/etc/hosts文件进行解析)、bind(利用DNS服务器解析)、NIS(利用网络信息服务器解析)。

(2)multi:设置是否从/etc/hosts文件中返回主机的多个IP地址,取值为on或者off。

(3)nospoof:取值为on或者off。当设置为on时系统会启用对主机名的欺骗保护以提高rlogin、rsh等程序的安全性。

下面是一个/etc/host.conf文件的实例:

        [root@RHEL6 etc]# cat /etc/host.conf
        order hosts, bind

上述文件内容设置主机名称解析的顺序为先利用/etc/hosts进行静态名称解析,再利用DNS服务器进行动态域名解析。

7.1.6 子任务6 详解/etc/services

/etc/services文件用于保存各种网络服务名称与该网络服务所使用的协议及默认端口号的映射关系。该文件内容较多,以下是该文件的部分内容:

        ssh              22/tcp                 # SSH Remote Login Protocol
        ssh              22/udp                 # SSH Remote Login Protocol
        telnet           23/tcp
        telnet           23/udp