歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux網絡

Linux網絡服務器配置詳解

 要建立一個安全Linux服務器就首先要了解Linux環境下和網絡服務相關的配置文件的含義及如何進行安全的配置。在Linux系統中,TCP/IP網絡是通過若干個文本文件進行配置的,也許你需要編輯這些文件來完成聯網工作,但是這些配置文件大都可以通過配置命令linuxconf(其中網絡部分的配置可以通過netconf命令來實現)命令來實現。下面介紹基本的 TCP/IP網絡配置文件。

* /etc/conf.modules 文件

該配置文件定義了各種需要在啟動時加載的模塊的參數信息。這裡主要著重討論關於網卡的配置。在使用Linux做網關的情況下,Linux服務器至少需要配置兩塊網卡。為了減少啟動時可能出現的問題,Linux內核不會自動檢測多個網卡。

對於沒有將網卡的驅動編譯到內核而是作為模塊動態載入的系統若需要安裝多塊網卡,應該在“conf.modules”文件中進行相應的配置。


若設備驅動被編譯為模塊(內核的模塊):對於PCI設備,模塊將自動檢測到所有已經安裝到系統上的設備;對於ISA卡,則需要向模塊提供IO地址,以使模塊知道在何處尋找該卡,這些信息在“/etc/conf.modules”中提供。

例如,我們有兩塊ISA總線的3c509卡,一個IO地址是0x300,另一個是0x320。編輯“conf.modules”文件如下:

 

alias eth0 3c509   alias eth1 3c509   options 3c509 io=0x300,0x320


這是說明3c509的驅動程序應當分別以eth0或eth1的名稱被加載(alias eth0,eth1),並且它們應該以參數io=0x300,0x320被裝載,來通知驅動程序到哪裡去尋找網卡,其中0x是不可缺少的。

對於PCI卡,僅僅需要alias命令來使ethN和適當的驅動模塊名關聯,PCI卡的IO地址將會被自動的檢測到。對於PCI卡,編輯“conf.modules”文件如下:


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"


注:先不要在“lilo.conf”中加入啟動參數,測試一下你的ISA卡,若失敗再使用啟動參數。

如果用傳遞啟動參數的方法,eth0和eth1將按照啟動時被發現的順序來設置。

* /etc/HOSTNAME 文件

該文件包含了系統的主機名稱,包括完全的域名,如:deep.openarch.com。

*/etc/sysconfig/network-scripts/ifcfg-ethN 文件


--------------------------------------------------------------------------------

 

 在RedHat中,系統網絡設備的配置文件保存在“/etc/sysconfig/network-scripts”目錄下,ifcfg-eth0包含第一塊網卡的配置信息,ifcfg-eth1包含第二塊網卡的配置信息。

下面是“/etc/sysconfig/network-scripts/ifcfg-eth0”文件的示例:
 

DEVICE=eth0  IPADDR=208.164.186.1  NETMASK=255.255.255.0  NETWORK=208.164.186.0  BROADCAST=208.164.186.255  ONBOOT=yes  BOOTPROTO=none  USERCTL=no

  若希望手工修改網絡地址或在新的接口上增加新的網絡界面,可以通過修改對應的文件(ifcfg-ethN)或創建新的文件來實現。

DEVICE=name

name表示物理設備的名字

IPADDR=addr

addr表示賦給該卡的IP地址

NETMASK=mask

mask表示網絡掩碼

NETWORK=addr

addr表示網絡地址

BROADCAST=addr

addr表示廣播地址

ONBOOT=yes/no

啟動時是否激活該卡

none:

無須啟動協議

bootp:

使用bootp協議

dhcp:

使用dhcp協議

USERCTL=yes/no

是否允許非root用戶控制該設備

*/etc/resolv.conf 文件

該文件是由域名解析器(resolver,一個根據主機名解析IP地址的庫)使用的配置文件,示例如下:

search openarch.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地址的主機一般稱為多穴主機。

--------------------------------------------------------------------------------
注意:改變了“inetd.conf”文件之後,別忘了給inetd進程發一個SIGHUP信號(killall –HUP inetd)。
 

[root@deep /root]# killall -HUP inetd

  第四步:

為了保證“inetd.conf”文件的安全,可以用chattr命令把它設成不可改變。把文件設成不可改變的只要用下面的命令:

[root@deep]# chattr +i /etc/inetd.conf

  這樣可以避免“inetd.conf”文件的任何改變(意外或是別的原因)。一個有“i”屬性的文件是不能被改動的:不能刪除或重命名,不能創建這個文件的鏈接,不能往這個文件裡寫數據。只有系統管理員才能設置和清除這個屬性。如果要改變inetd.conf文件,你必須先清除這個不允許改變的標志:

[root@deep]# chattr -i /etc/inetd.conf 中華考試網

  但是對於諸如sendmail,named,www等服務,由於它們不象finger,telnet等服務,在請求到來時由inet守護進程啟動相應的進程提供服務,而是在系統啟動時,作為守護進程運行的。

而對於redhat linux,提供了一個linuxconfig命令,可以通過它在圖形界面下交互式地設置是否在啟動時運行相關服務。也可以通過命令來設置是否啟動時啟動某個服務,如:[root@deep]# chkconfig –level 35 named off。

Copyright © Linux教程網 All Rights Reserved