网络配置文件快速解读_unix linux

在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,需要编辑这些文件来完成联网工作。系统中重要的有关网络配置文件为:

◆ /etc/sysconfig/network
◆ /etc/HOSTNAME
◆ /etc/hosts
◆ /etc/services
◆ /etc/host.conf
◆ /etc/nsswitch.conf
◆ /etc/resolv.conf
◆ /etc/rc.d/init.d/network

接下来我们将对这些文件逐一讲述,这些文件都可以在系统运行时进行修改,不用启动或者停止任何守护程序,更改会立刻生效(除了/etc/sysconfig/network)。另外,这些文件都支持由"#"开头的注释,每一个文件都有在UNIX手册页中的第5部分中有一项,可以用man命令来获取它们。

◆ /etc/sysconfig/network 网络设置
该文件用来指定服务器上的网络配置信息,包含了控制和网络有关的文件和守护程序的行为的参数。下面是一个例子文件:

NETWORKING=yes
HOSTNAME=machine1
GATEWAY=210.34.6.2
FORWARD_IPV4=yes
GATEWAYDEV=

其中,NETWORK=yes/no 表示网络是否被配置;
HOSTNAME=hostname hostname 表示服务器的主机名;
GATEWAY=gw-ip gw-ip 表示网络网关的IP地址;
FORWARD_IPV4=yes/no 是否开启IP转发功能;
GAREWAYDEV=gw-dev gw-dw 表示网关的设备名,如:eth0等;
为了和老的一些软件相兼容,"/etc/HOSTNAME"文件应该用和HOSTNAME=hostname相同的主机名。

◆ /etc/HOSTNAME 主机名

该文件包含了系统的主机名称,包括完全的域名,如:

192.168.0.1 machine1.domain machine1

这个文件是在启动时从文件/etc/sysconfig/network中的HOSTNAME行中得到的,用于在启动时设置系统的主机名。

◆ /etc/hosts IP地址和主机名的映射

/etc/hosts中包含了IP地址和主机名之间的映射,还包括主机名的别名,IP地址的设计使计算机容易识别,但对于人却很难记住它们,为了解决这个问题,创建了/etc/hosts这个文件。下面是一个例子文件:

127.0.0.1 machine1 localhost.localdomain localhost
192.168.1.100 machine7
192.168.1.101 otherpc otheralias

在这个例子中,本机名是machine1,otherpc还有别名otheralias,它可以指向otheralias。。一旦配置完机器的网络配置文件,应该重新启动网络以使修改生效,使用下面的命令来重新启动网络:

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

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

◆ /etc/services

/etc/services中包含了服务名和端口号之间的映射,不少的系统程序要使用这个文件,下面是RedHat 安装时缺省的/etc/services中的前几行:

tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
echo 7/udp
discard 9/tcp sink null
discard 9/udp sink null
systat 11/tcp users

最左边一列是主机服务名,中间一列是端口号,”/“ 后面是端口类型,可以是TCP也可以是UDP。任何后面的列都是前面服务的别名。在这个文件中也存在着别名,它们出现在端口号后面,在上述例子中sink和null 都是discard服务的别名。

◆ /etc/host.conf 配置名字解析器

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

/etc/host.conf文件指定如何解析主机名,Linux通过解析器库来获得主机名对应的IP地址。下面是RedHat安装后缺省的"/etc/host.conf"内容:

order hosts,bind
multi on

※"order " 指定主机名查询顺序,其参数为用逗号隔开的查找方法,支持的查找方法为bind、hosts和nis,分别代表DNS、/etc/hosts和NIS,这里规定先查询"/etc/hosts"文件然后再使用DNS来解析域名。
※"trim" 表明当通过DNS进行地址到主机名的转换时,域名将从主机名中被裁剪掉,trim可以被多个域包含多次,对/etc/hosts和NIS查询方法不起作用,注意在/etc/hosts和NIS表中主机名是被适当地(有或没有全域名)列出的。
※"multi" 指定是否"/etc/hosts"文件中指定的主机可以有多个地址,值为on表示允许,拥有多个IP地址的主机一般称为具有多个网络界面。
※"nospoof " 指是否允许对该服务器进行IP地址欺骗,值为on表示不允许,IP欺骗是一种攻击系统安全的手段,通过把IP地址伪装成别的计算机,来取得其它计算机的信任。
※"alert" 当nospoof指令为on时,alert控制欺骗的企图是否用syslog工具进行记录,值为on表示使用,缺省值为off。
※"rccorder" 如果被设置为on,所有的查询将被重新排序,所以在同一子网中的主机将首选被返回,缺省值为off。

◆ /etc/nsswitch.conf 配置名字解析器

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

※aliases 邮件别名;
※passwd 系统用户;
※group 用户组;
※shadow 隐蔽口令;
※hosts 主机名和I P地址;
※networks 网络名和号;
※protocols 网络协议;
※services 端口号和服务名称;
※ethers 以太网号;
※rpc 远程进程调用的名称和号
※netgroup 网内组

下面也是可以包含的关键字:

※files 除了netgroup,对其他关键字都有效。在相应的/etc文件中寻找记录
※db 除了netgroup,对其他关键字都有效。在相应的/var/db数据库中寻找记录。对长文件很有效,如passwd文件已经 超过500项。要从标准/etc文件中产生这些文件,应改变目录到/var/db并运行run命令
※compat 兼容性模式,对passwd、group和shadow文件有效。在本模式中,将先在对应的/etc文件中查找。如果想进行NIS查找,需要第一个值(用户名或组名)为加号( + ),后面跟对应数量的冒号( : ) ( /etc/passwd为6个, /etc/group为3个, /etc/shadow为8个)。如在/etc/passwd文件中,下面一行应被包含在文件尾: + : * : : : : :
※dns 只对hosts有意义。像在/etc/resolvconf配置的,在DNS中进行查找
※nis 对所有的关键字都有意义。如NIS是可以用的,在NIS服务器中查找
※[ STATUS = action ] 控制名字服务的行为。STATUS是SUCCESS(操作被成功执行)、NOTFOUND (记录没找到)、UNAVAIL (所选择的服务不可用)和TRYAGAIN (服务暂时不可用,请重试)中的一个。action是return (终止查找并返回当前状态)或continue (继续这一行的其他项)中的一个。如hosts: dns nis [NOTFOUND=return] files将会首先在DNS中,然后在NIS中查找主机名。只有当前两项都不可用时才使用文件/etc/hosts

◆ /etc/resolv.conf 配置DNS客户

文件/etc/resolv.conf配置DNS客户,它包含了主机的域名搜索顺序和DNS服务器的地址,每一行应包含一个关键字和一个或多个的由空格隔开的参数。下面是一个例子文件:

search mydom.edu.cn
nameserver 210.34.0.14
nameserver 210.34.0.2

合法的参数及其意义如下:
※nameserver 表明DNS服务器的IP地址。可以有很多行的nameserver,每一个带一个I P地址。在查询时就按nameserver在本文件中的顺序进行,且只有当第一个nameserver没有反应时才查询下面的nameserver.
※domain 声明主机的域名。很多程序用到它,如邮件系统;当为没有域名的主机进行DNS查询时,也要用到。如果没有域名,主机名将被使用,删除所有在第一个点( . )前面的内容。
※search 它的多个参数指明域名查询顺序。当要查询没有域名的主机,主机将在由search声明的域中分别查找。domain和search不能共存;如果同时存在,后面出现的将会被使用。
※sortlist 允许将得到域名结果进行特定的排序。它的参数为网络/掩码对,允许任意的排列顺序。Red Hat中没有提供缺省的/ e t c / r e s o l v. c o n f文件,它的内容是根据在安装时给出的选项动态创建的。

◆ /etc/init.d/network 主机地址、子网掩码和网关

不像很多其他的UNIX和Linux操作系统, Red Hat当前并不能自动地通过/etc/hostname和/etc/hosts文件来配置网络。为了改变主机缺省的IP地址,必须直接编辑/etc/init.d/network脚本使其反映正确的网络配置。这个文件包括了声明IP地址、掩码、网络、广播地址和缺省路由器的变量。下面是这个文件中相应的部分:

IPADDR=192.168.1.100
NETMASK=255.255.255.0
BROADCAST=192.168.1.255
GATEWAY=192.168.1.1

时间: 2024-10-31 02:48:36

网络配置文件快速解读_unix linux的相关文章

Linux网络服务器配置入门(一)_unix linux

要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置.在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf(其中网络部分的配置可以通过netconf命令来实现)命令来实现.下面介绍基本的 TCP/IP网络配置文件. * /etc/conf.modules 文件 该配置文件定义了各种需要在启动时加载的模块的参数信息.这里主要着重讨论关于

Linux网络服务器配置入门(二)_unix linux

* /etc/inetd.conf 文件 众所周知,作为服务器来说,服务端口开放越多,系统安全稳定性越难以保证.所以提供特定服务的服务器应该尽可能开放提供服务必不可少的端口,而将与服务器服务无关的服务关闭,比如:一台作为www和ftp服务器的机器,应该只开放80 和25端口,而将其他无关的服务如:finger auth等服务关掉,以减少系统漏洞. 而inetd,也叫作"超级服务器",就是监视一些网络请求的守护进程,其根据网络请求来调用相应的服务进程来处理连接请求.inetd.conf则

Redhat Linux下Bind的快速安装_unix linux

1.使用光盘自带的软件包,安装以下包: bind bind-utils bind-libs (rpm -i xxx.rpm) 2. 将named服务设置为自启动 (使用ntsysv,chkconfig等工具) 3. 假设你需要解析bcomcn.com,如下操作: cd /var/named cp localdomain.zone bcomcn.zone vi bcomcn.zone $TTL  86400 @       IN      SOA     ns.bcomcn.com. root.b

Linux的几个网络配置文件

/etc/hosts配置文件 hosts文件的作用相当于DNS,提供IP地址hostname的对应.早期的互联网计算机少,单机hosts文件里足够存放所有联网计算机.不过随着互联网的发展,这就远远不够了.于是就出现了分布式的DNS系统.Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录. 但这种映射只是本地映射,主机不会去向另一个主机请求hosts的信息. hosts文件的格式: 1 127.0.0.1     l

Linux网络服务器配置基础_unix linux

要建立一个安全Linux服务器就首先要了解Linux环境下和网络服务相关的配置文件的含义及如何进行安全的配置.在Linux系统中,TCP/IP网络是通过若干个文本文件进行配置的,也许你需要编辑这些文件来完成联网工作,但是这些配置文件大都可以通过配置命令linuxconf(其中网络部分的配置可以通过netconf命令来实现)命令来实现.下面介绍基本的 TCP/IP网络配置文件.  * /etc/conf.modules 文件 该配置文件定义了各种需要在启动时加载的模块的参数信息.这里主要着重讨论关

Linux学习基础教程_unix linux

 Linux学习基础 1.什么是Linux?  准确的说,是指Linux的kernel(系统的核心程序),其内核版权属于Linus Torvalds,在GPL(GNU General Public License)版权协议下发行, 任何人都可以自由的复制(copy), 修改(change), 套装分发(distribute),销售,但是不可以在分发时加入任何限制, 而且所有原码必须是公开的,所以任何人都可以无偿取得所有执行文件和原代码.  对于Linux用户和系统管理员来说,Linux是指包含L

Linux学习指导_unix linux

    学习指导篇 方法是多动手.动脑,学习时要经常与Windows进行对比.建议你先安装RedHat Linux,然后练习如何配置它,如何使用Linux命令,如何在X-WINDOWS下操作,如何在Linux下安装应用软件,如何在Linux下上网.编辑文档.播放多媒体文件.玩游戏等. 快速上手的方法只有一个,那就是多动手操作,看看你能否完成上面的工作.     2.Linux与Windows有哪些异同点? Windows是图形界面的,Linux类似以前的DOS,是文本界面的,如果你运行了图形界面

Linux工具快速上手,Linux很实用命令

Linux工具快速上手   前言 Linux下有很多命令行工具供我们使用,每个工具总是提供了大量参数供我们选择: 实际工作中,我们用到的工具,最常用的总是那么几个参数组合: 为此,我写了这本书相对实用的书: 这本书专注于Linux工具的最常用用法,以便读者能以最快时间掌握,并在工作中应用: 说明 全书分为三个部分: 第一部分为基础篇,介绍我们工作中常用的工具的高频用法: 第二部分为进阶篇,介绍的工具更多的适合程序员使用,分为程序构建.程序调试及程序优化: 第三部分是工具参考篇,主要介绍实用工具的

linux目录详解linux目录结构详细分析_unix linux

根文件系统一般应该比较小,因为包括严格的文件和一个小的不经常改变的文件系统不容易损坏.损坏的根文件系统一般意味着除非用特定的方法(例如从软盘)系统无法引导,所以不应该冒这个险.根目录一般不含任何文件,除了可能的标准的系统引导映象,通常叫/vmlinuz .所有其他文件在根文件系统的子目录中. /bin 引导启动所需的命令或普通用户可能用的命令(可能在引导启动后). /sbin 类似/bin ,但不给普通用户使用,虽然如果必要且允许时可以使用. /etc 特定机器的配置文件. /root root