在《調諧LINUX網絡性能之調試工具篇》中,我們介紹了route、netstat、tcpdump三種網絡調諧測試工具的使用方法及其可實現的功能。本文我們將著重介紹網絡配置文件的內容,幫您讀懂這些文件。
/etc/modules.conf 文件
該配置文件定義了各種需要在啟動時加載的模塊的參數信息,這裡主要著重討論關於網卡的配置。為了減少啟動時可能出現的問題,Linux內核不會自動檢測多個網卡。對於沒有將網卡的驅動編譯到內核而是作為模塊動態載入的系統若需要安裝多塊網卡,應該在“modules.conf”文件中進行相應的配置。若設備驅動被編譯為模塊(內核的模塊):對於PCI設備,模塊將自動檢測到所有已經安裝到系統上的設備;對於ISA卡,則需要向模塊提供IO地址,以使模塊知道在何處尋找該卡,這些信息在“/etc/conf.modules”中提供。
例如,我們有兩塊ISA總線的3c509卡,一個IO地址是0x300,另一個是0x320。編輯“modules.conf”文件如下:
alias eth0 3c509
alias eth1 3c509
options 3c509 io=0x300,0x320
對於PCI卡,僅僅需要alias命令來使ethN和適當的驅動模塊名關聯,PCI卡的IO地址將會被自動的檢測到。對於PCI卡,編輯"modules.conf"文件如下:
alias eth0 3c905
alias eth1 3c905
若驅動已經被編譯進了內核:系統啟動時的PCI檢測程序將會自動找到所有相關的網卡。ISA卡一般也能夠被自動檢測到,但是在某些情況下,ISA卡仍然需要做下面的配置工作:在"/etc/lilo.conf"中增加配置信息,其方法是通過LILO程序將啟動參數信息傳遞給內核。對於ISA卡,編輯"lilo.conf"文件,增加如下內容:
append=" ether="0,0,eth0 ether="0,0,eth1"
/etc/sysconfig/network-scripts/ifcfg-ethN 文件
在RedHat中,系統網絡設備的配置文件保存在"/etc/sysconfig/network-scripts"目錄下,ifcfg-eth0包含第一塊網卡的配置信息,ifcfg-eth1包含第二塊網卡的配置信息等,若希望手工修改網絡地址或在新的接口上增加新的網絡界面,可以通過修改對應的文件(ifcfg-ethN)或創建新的文件來實現。
DEVICE=name name表示物理設備的名字
IPADDR=addr addr表示賦給該卡的IP地址
NETMASK=maskmask表示網絡掩碼
NETWORK=addraddr表示網絡地址
BROADCAST=addr addr表示廣播地址
ONBOOT=yes/no 啟動時是否激活該卡
none:無須啟動協議
bootp:使用bootp協議
dhcp:使用dhcp協議
USERCTL=yes/no 是否允許非root用戶控制該設備
/etc/resolv.conf 文件
該文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件,示例如下:
search domainname.com
nameserver 208.164.186.1
nameserver 208.164.186.2
“search domainname.com”表示當提供了一個不包括完全域名的主機名時,在該主機名後添加domainname.com的後綴;“nameserver”表示解析域名時使用該地址指定的主機為域名服務器。其中域名服務器是按照文件中出現的順序來查詢的。
/etc/host.conf 文件
該文件指定如何解析主機名。Linux通過解析器庫來獲得主機名對應的IP地址。下面是一個“/etc/host.conf”的示例:
order bind,hosts
multi on
ospoof on
“order bind,hosts”指定主機名查詢順序,這裡規定先使用DNS來解析域名,然後再查詢“/etc/hosts”文件(也可以相反)。
“multi on”指定是否“/etc/hosts”文件中指定的主機可以有多個地址,擁有多個IP地址的主機一般稱為多穴主機。
“nospoof on”指不允許對該服務器進行IP地址欺騙。IP欺騙是一種攻擊系統安全的手段,通過把IP地址偽裝成別的計算機,來取得其它計算機的信任。
/etc/hosts 文件
當機器啟動時,在可以查詢DNS以前,機器需要查詢一些主機名到IP地址的匹配。這些匹配信息存放在/etc/hosts文件中。在沒有域名服務器情況下,系統上的所有網絡程序都通過查詢該文件來解析對應於某個主機名的IP地址。
下面是一個“/etc/hosts”文件的示例:
IP Address Hostname Alias
127.0.0.1 Localhost Gate.openarch.com
208.164.186.1 gate.openarch.com Gate
………… …………………
最左邊一列是主機IP信息,中間一列是主機名。任何後面的列都是該主機的別名。一旦配置完機器的網絡配置文件,應該重新啟動網絡以使修改生效。使用下面的命令來重新啟動網絡:/etc/rc.d/init.d/network restart。
/etc/inetd.conf 文件
眾所周知,作為服務器來說,服務端口開放越多,系統安全穩定性越難以保證。所以提供特定服務的服務器應該盡可能開放提供服務必不可少的端口,而將與服務器服務無關的服務關閉,比如:一台作為www和ftp服務器的機器,應該只開放80 和25端口,而將其他無關的服務如:finger auth等服務關掉,以減少系統漏洞