在linux系統中,TCP/IP網絡是經過若干個文本文件進行配置的,須要編輯這些文件來完成聯網工做。系統中重要的有關網絡配置文件爲:linux
◆ /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相同的主機名。dom
◆ /etc/HOSTNAME 主機名tcp
該文件包含了系統的主機名稱,包括徹底的域名,如:ide
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