安裝linux時,如果妳有網卡,安裝程序會提示妳給出tcp/ip網絡的配置參數,比如電腦的ip地址,默認網關的ip地址,DNS的ip地址等。根據這些配置參數,安裝程序會自動將網卡的驅動程序(linux系統必須先支持)編譯到內核中。但是壹定要了解加載網卡驅動的過程,所以以後要換網卡。當使用多個網卡時,我們將很容易操作。網卡的驅動以模塊的形式加載到內核中,linux支持的所有網卡驅動都存儲在/lib/modules/(linux版本號)/net/目錄中。比如inter的82559系列10/100M自適應引導網卡的驅動是eepro100.o,3COM的3C509 ISA網卡是3C509.o,DLINK的pci 10網卡是via-rhine.o,ne2000兼容網卡的驅動是ne2k-pci.o和NE。o .了解了這些基本驅動之後,我們就可以通過修改模塊配置文件來更換網卡或者添加網卡了。
1.修改/etc/conf.modules文件。
該配置文件是加載模塊的重要參數文件。讓我們先看壹個示例文件。
#/etc/conf.modules
別名eth0 eepro100
別名eth1 eepro100
這個文件是帶有兩個inter 82559系列網卡的linux系統中conf.modules的內容。alias命令指示以太網端口(如eth0)具有的驅動程序的名稱。別名eth0 eepro100表示以太網端口零上要加載的驅動程序是EEPRO 100.o .那麽在使用modprobe eth0命令時,系統會自動加載EEPRO 100.o .對於pci網卡,由於系統會自動查找網卡的io地址和中斷號,因此,不需要使用conf.modules中的選項來指定網卡的io地址和中斷號。但是對應ISA網卡,必須在conf.modules中指定硬件的io地址或中斷號,如下圖,顯示了壹個NE ISA網卡的conf.modules文件。
別名eth0 ne
選項ne io=0x300 irq=5
修改conf.modules文件後,您可以使用命令來加載模塊,例如,插入第二個感興趣的網卡:
# ins mod/lib/modules/2 . 2 . 14/net/eepro 100 . o
這樣,eepro100.o模塊就可以加載到以太網端口上,同時,也可以使用命令查看當前加載的模塊信息:
[root@ice /etc]# lsmod
使用的模塊大小
eepro100 15652 2(自動清洗)
返回結果的意思是,當前加載的模塊是eepro100,大小是15652字節,有兩個用戶。方法是自動清除。
2.修改/etc/lilo.conf文件。
在壹些較新版本的linux中,因為操作系統會自動檢測所有相關的硬件,所以此時沒有必要修改/etc/lilo.conf文件。但是,對於ISA網卡和舊版本,為了在系統初始化期間初始化新添加的網卡,可以修改lilo.conf文件。將以下命令添加到/etc/lilo.conf文件中:
append="ether=5,0x240,eth0 ether=7,0x300,eth1 "
這個命令的意思是eth0的io地址是0x240,中斷是5,eth1的io地址是0x300,中斷是7。
其實這個語句來自於系統引導鏡像文件時傳遞的參數。
LILO: linux ether=5,0x240,eth0 ether=7,0x300,eth1
這種方法也可以使linux系統配置兩塊網卡。同樣,使用三個以上網卡時,也可以遵循同樣的方法。
配置網卡後,您應該配置TCP/IP的參數。正常情況下,安裝linux系統時會提示您配置網絡參數。但是,如果我們希望以後修改網絡設置,我們可以使用以下命令:
#ifconfig eth0 A.B.C.D網絡掩碼E.F.G.H
A.B.C.D是eth0的IP地址,E.F.G.H是網絡掩碼。
事實上,在linux系統中,我們可以為壹個網卡設置多個ip地址,比如下面的命令:
# ifconfig eth 0:1 202.112.11.218網絡掩碼255.255.255.192
然後,使用命令#ifconfig -a查看所有網絡接口的接口:
eth0鏈路封裝:以太網HWaddr 00:90:27:58:AF:1A
inet地址:202.112.13.204 Bcast:202.112.13.255掩碼:255.255.255.192
上行廣播運行多播MTU:1500度量:1
接收數據包:435510錯誤:0丟棄:0溢出:0幀:2
TX數據包:538988錯誤:0丟棄:0溢出:0載波:0
沖突:318683 txqueuelen:100
中斷:10基址:0xc000
eth0:1鏈路封裝:以太網HWaddr 00:90:27:58:AF:1A
inet地址:202.112.11.218 Bcast:202.112.11.255掩碼:255.255.192
上行廣播運行多播MTU:1500度量:1
中斷:10基址:0xc000
lo鏈路封裝:本地環回
inet地址:127.0.0.1掩碼:255.0.0.0
上行環回運行MTU:3924度量:1
RX數據包:2055錯誤:0丟棄:0溢出:0幀:0
TX數據包:2055錯誤:0丟棄:0溢出:0載波:0
沖突:0 txqueuelen:0
我們看到有三個網絡接口,eth0,eth0:1,lo,eth0是真正的以太網接口,eth0:1和eth0是同壹塊網卡,但是綁定了另壹個地址,lo會發送地址。Eth0和eth0: 1可以使用不同網段的ip地址,這在同壹個物理網段使用不同網絡地址時非常有用。
另外,網卡有壹個混雜模式的模式。在這種模式下,網卡將接收網絡中的所有數據包。linux下的壹些網絡監控工具,如tcpdump、snort等,將網卡設置為混雜模式。
Ifconfig命令可以在這段運行時間內改變網卡的ip地址,但是如果系統重啟,linux仍然會按照原來的默認設置啟動網絡接口。此時,您可以使用netconfig或netconf命令來重置默認網絡參數。netconfig命令用於重新配置基本的tcp/ip參數,包括是否配置為動態獲取ip地址(dhcpd和bootp)、網卡的ip地址、網絡掩碼、默認網關和首選域名服務器地址。Netconf命令可以詳細配置所有網絡參數,分為客戶端任務、服務器任務和其他配置三個部分。在客戶端配置中,主要包括主機基本配置(主機名、有效域名、網絡別名、對應網卡的ip地址、網絡掩碼、網絡設備名稱、網絡設備內核驅動)、DNS地址配置、默認網關地址配置、NIS地址配置、ipx接口配置、PPP/。在服務器端配置中,主要包括NFS配置、DNS配置、ApacheWebServer配置、Samba配置和Wu-ftpd配置。在其他配置選項中,壹個是關於/etc/hosts文件中的主機配置,另壹個是關於/etc/networks文件中的網絡配置信息,最後是關於使用linuxconf配置的信息。
網絡信息也可以在linuxconf命令下配置,但是正如您所看到的,linuxconf程序調用netconf來配置網絡。
此外,關於網絡的系統配置文件存儲在/etc/sysconfig/network-scripts目錄中。例子如下:
:& ltbr & gt& ltbr & gt
if CFG-eth 0 * if down-post * ifup-aliases * ifup-PPP *
if CFG-eth 1 * if down-PPP * ifup-IPX * ifup-routes *
if CFG-lo * if down-sl * ifup-plip * ifup-sl *
ifdown@ ifup@ ifup-post*網絡-功能
Ifcfg-eth0是以太端口eth0的配置信息,其內容如下:
DEVICE="eth0" /*表示網絡設備的名稱*/
ip addr = " 202.112.13.204 "/*表示網絡設備的IP地址*/
網絡掩碼= "255.255.255.192"/*表示網絡掩碼*/
network = 202.112.13.192/*指定網絡地址*/
廣播= 202.112.13.255/*註明廣播地址*/
ONBOOT="yes" /*表示網卡是否在系統啟動時激活*/
BootpROTO="none" /*表示是否使用BOOTP協議*/
所以我們也可以修改這個文件來改變linux下的網絡參數。[/SIZE]
-
2.網絡服務的配置
這部分不詳細介紹具體網絡服務器(DNS、FTP、WWW、SENDMAIL)的配置(那會是壹個巨大的篇幅),而是介紹linux網絡服務配置相關的文件。
1的配置文件。氣墊
在linux系統中,有壹個系統引導程序,即lilo(linux loadin),用它可以選擇性地啟動多個操作系統。它的配置文件是/etc/lilo.conf,在這個配置文件中,lilo的配置參數主要分為兩部分,壹是全局配置參數,包括設置啟動設備,二是本地配置參數。包括每個引導鏡像文件的配置參數。這裏不詳細介紹每個參數,尤其只介紹兩個重要參數:密碼和受限選項。密碼選項為每個引導映像文件添加密碼保護。
眾所周知,linux系統中存在單用戶模式。在這種模式下,用戶以超級用戶的身份登錄linux系統。人們可以在引導lilo時通過添加參數(linux single或者linux init 0)直接進入單用戶模式超級用戶環境,不需要密碼,這樣會很危險。因此,lilo.conf中添加了密碼配置選項,以增強對每個圖像文件的密碼保護。
您可以在全局模式下使用密碼選項(為所有圖像文件添加相同的密碼),或者為每個單獨的圖像文件添加密碼。這樣,每次系統啟動時都會要求用戶輸入密碼。可能妳覺得每次輸入密碼都很麻煩,可以用限制選項。它使lilo只在linux啟動時輸入參數(比如linux single)時才檢查密碼。這兩個選項可以大大增加系統的安全性,所以建議在lilo.conf文件中設置。
因為密碼以明文形式存儲在/etc/lilo.conf文件中,所以/etc/lilo.conf文件的屬性必須更改為root只讀(0400)。
此外,在lilo的早期版本中,有壹個引導扇區必須存儲在第壹個1024柱面的限制,這個限制在lilo的2.51版本中被打破,同時引導界面變得更加直觀。下載並解壓最新版本後,使用make "命令後,使用make install命令完成安裝。註意:物理安全是最基本的安全。即使在lilo.conf中加入了密碼保護,如果沒有物理安全,惡意入侵者也可以利用啟動軟盤啟動linux系統。
2.域名服務配置文件
(1)/etc/HOSTNAME在這個文件中保存linux系統的主機名和域名。示例文件。
ice.xanet.edu.cn
這個文件指明了主機名ice和域名xanet.edu.cn。
(2)/etc/hosts和/etc/networks文件在域名服務系統中有主機表機制,/etc/hosts和/etc/networks是從主機表發展而來的。在/etc/hosts中,可以存儲不需要DNS系統查詢的主機對應的ip地址和主機名。以下是壹個示例文件:
# ip地址主機名別名
127.0.0.1本地主機環回
www.xjtu.edu.cn www
202.117.1.24 ftp.xjtu.edu.cn FTP
在/etc/networks中,網絡ip地址和網絡名稱是壹壹對應的。它的文件格式類似於/etc/hosts。
(3)文件/etc/resolv.conf是DNS域名解析器的主要配置文件。它的格式非常簡單,每行由壹個主關鍵字組成。/etc/resolv.conf的關鍵字主要包括:
Domain表示默認的本地域名,
Search表示查找主機名時要搜索的域名列表。
Nameserver表示執行域名解析時域名服務器的ip地址。下面給出了壹個文件示例:
#/etc/resolv.conf
域xjtu.edu.cn
搜索xjtu.edu.cn·edu.cn
名稱服務器202.117.0.20
名稱服務器202.117.1.9
(4)/etc/host.conf當系統中同時存在/etc/hosts的DNS域名解析和主機表機制時,文件/etc/host.conf說明了解析器的查詢順序。示例文件如下:
#/etc/host.conf
對主機排序,在文件/etc/hosts中綁定# parser查詢,後面是DNS。
Multi on #允許主機擁有多個ip地址。
禁止ip地址欺騙。
3.DHCP的配置文件
/etc/DHCPD.conf是DHCPD的配置文件,我們可以通過/etc/dhcpd.conf文件中的配置來動態分配局域網中的ip地址。linux主機設置為dhcpd服務器,通過識別網卡的MAC地址來動態分配ip地址。示例文件如下:
選項域名“China pub . com”;
請關閉use-host-decl-names;
子網210.27.48.0網絡掩碼255.255.255.192
{
文件名“/tmp/image”;
主機撥號服務器
{
硬件以太網00:02:B3:11:F2:30;
固定地址210 . 27 . 48 . 8;
文件名“/tmp/image”;
}
}
在這個文件中,最重要的是通過設置硬件地址來識別局域網中的主機,並為其分配指定的ip地址。硬件以太網00: 02: B3: 11: F2: 30指定要動態分配ip的主機網卡的MAC地址,固定地址210.27.48。文件名“/tmp/image”是主機通過tftp服務獲取的鏡像文件,可以用來引導主機。
4.超級等待進程inetd的配置
在linux系統中,有壹個超級等待進程inetd,它監聽文件/etc/services指定的服務的端口。inetd根據網絡連接請求,調用相應的服務進程響應請求。這裏有兩個非常重要的文件,/etc/inetd.conf和/etc/services。文件/etc/services定義了linu系統中所有服務的名稱、協議類型、服務端口等信息。/etc/inetd.conf是inetd的配置文件,指定了inetd可以監控哪些服務,以及相應服務進程的調用命令。首先,介紹了文件/etc/services。文件/etc/services是與服務名和服務端口對應的數據庫文件,如下所示:/。
(其實以上只是/etc/services的壹部分,由於篇幅所限沒有全部寫出來。)
在這個文件中,為了安全起見,我們可以修改壹些常用服務的端口地址,比如可以將telnet服務的端口地址改為52323,將WWW的端口地址改為8080,將FTP的端口地址改為2121等。,所以我們只需要在應用程序中修改相應的端口,就可以提高系統的安全性。
文件/etc/inetd.conf是inetd的配置文件。首先,我們需要知道linux服務器將提供什麽服務。壹個好的原則是“禁止所有不必要的服務”,這樣黑客攻擊系統的機會就少了。/etc/inetd.conf示例文件
正如妳所看到的,這個文件已經被修改,除了telnet和ftp服務,其他所有服務都被禁止。修改/etc/inetd.conf後,使用kill-hup命令(inetd的進程號)讓inetd重新讀取配置文件並重啟。
5.IP路由的配置
使用linux,壹臺普通的微機也可以實現壹臺高性價比的路由器。首先,讓我們了解壹下linux查看路由信息的命令:
[root@ice /etc]# route -n
內核IP路由表
目的網關Genmask標誌度量參考使用I接口
202.112.13.204
202.117.48 . 43 0.0 . 0.0 255.255.255.255 UH 0 0 eth 1
202.112.13.192 202.12.13.204 255 . 255 . 255 . 192 UG 0 0 eth 0
202.112.13.192 0.0 . 0.0 255.255.255.192 U 0 0 0 eth 0
202.117.48 . 0 202.117.48 . 43 255.255.255 . 0 UG 0 0 0 eth 1
202.117.48 . 0 0.0 . 0.0 255.255.255.0 U 0 0 0 eth 1
127 . 0 . 0 . 0 . 0 0 . 0 255 . 0 . 0 . 0 . 0 U 0 0 lo
0 . 0 . 0 . 0 202.117.48 . 1
命令netstat -r n得到和route -n n壹樣的輸出,都是操作linux內核的路由表。
命令cat /proc/net/route的輸出是十六進制的路由表。
[root @ ice/etc]# cat/proc/net/route
Iface目標網關標誌RefCnt使用度量掩碼
eth 0 cc 0d 70 ca 000000000005 0 0 0 FFFFFFF
eth 1 2b 3075 ca 00000000005 0 0 0 0 FFFFFFF
eth 0 c 00d 70 ca cc 0d 70 ca 0003 0 0 0 c 0 fffff
eth 0 c 00d 70 ca 00000000 0001 0 0 0 0 c 0 fffff
eth 1 003075 ca 2b 3075 ca 0003 0 0 0 00 fffff
eth 1 003075 ca 00000000 0001 0 0 0 0 00 fffff
lo 0000007 f 00000000 0001 0 0 0 0 0000000 f
eth 1 00000000 013075 ca 0003 0 0 0 0000000
通過計算,我們可以知道下面的路由表(十六進制)與前面的路由表(十進制)是壹致的。
我們還可以使用命令route add (del)來操作路由表,添加和刪除路由信息。
除了以上靜態路由,linux還可以通過routed實現rip協議的動態路由。我們只需要打開linux的路由轉發功能,在文件/proc/sys/net/ipv4/ip_forward中添加壹個字符1。
三。網絡安全設置
這壹部分再次強調,必須修改/etc/inetd.conf,安全策略是禁止所有不必要的服務。此外,還有以下與網絡安全相關的文件。
(1)./etc/ftpusers ftp服務是壹個不安全的服務,所以/etc/ftpusers定義了不允許通過ftp訪問linux主機的用戶列表。當ftp請求發送到ftpd時,ftpd首先檢查用戶名。如果用戶名在/etc/ftpusers中,ftpd將不允許用戶繼續連接。示例文件如下:
# /etc/ftpusers -不允許用戶通過ftp登錄
根
箱子
守護進程
輔助決策(Aid in Decision Making的縮寫)
線性規劃(Linear Programming)
同步
關機
停止
郵件
新聞
復制程序
操作員
比賽
沒有人
納德明
(2)/etc/securetty在linux系統中,總有* * *六個終端控制臺。我們可以在/etc/securetty中設置哪個終端允許root登錄,其他所有沒有寫入文件的終端都不允許登錄。示例文件如下所示:
# /etc/securetty - tty允許root登錄的目錄
tty1
tty2
tty3
tty4
(3)控制3)tcpd /etc/hosts.allow和/etc/hosts.deny的登錄文件。
在tcpd服務過程中,外部對linux主機的訪問由/etc/hosts.allow和/etc/hosts.deny中的訪問控制規則控制,它們的格式都是
服務列表:主機列表[:命令]
服務進程的名稱:可選的主機列表,以及滿足規則時的操作。
主機表中可以使用域名或ip地址,ALL表示匹配所有項,部分項除外,PARANOID表示當ip地址和域名不匹配時匹配該項(域名偽裝)。
示例文件如下:
#
# hosts.allow該文件描述了以下主機的名稱
#根據決定,允許使用本地INET服務
#通過“/usr/sbin/tcpd”服務器。
#
全部:202.112.13.0/255.255 . 255 . 0
ftpd:202.117.13.196
遠程登錄:202.117.48.33
全部:127.0.0.1
在這個文件中,網段202.112.13.0/24可以訪問linux系統中的所有網絡服務,而主機202.117.438+03.196只能訪問ftpd服務,主機202.656565436
在/etc/hosts.deny文件中禁止所有其他情況:
#/etc/hosts.deny
ALL:DENY:spawn(/usr/bin/finger-LP @ % h |/bin/mail-s "端口拒絕記錄在%d-%h "根目錄中)
在/etc/hosts.allow中,定義了linux在所有其他情況下應該執行的操作。spawn選項允許linux系統執行匹配規則中指定的shell命令。在我們的例子中,當linux系統發現未經授權的訪問時,它將拒絕給超級用戶發送主題為“端口拒絕記錄在%d-%h”的電子郵件。這裏先介紹壹下allow和allow。
(4)/etc/issue和/etc/issue.net
當我們登錄linux系統時,經常可以看到我們的linux系統的版本號等敏感信息。在當今的網絡攻擊中,很多黑客首先收集目標系統的信息,而版本號是非常重要的信息,所以他們通常會將這些信息隱藏在linux系統中。/etc/issue和/etc/issue.net是存儲這些信息的文件。我們可以修改這些文件來隱藏版本信息。
另外,linux每次重啟時,腳本/etc/rc.d/rc.local中的上述兩個文件都會被覆蓋,文件/etc/rc.d/rc.local的例子如下:
#該腳本將在*所有其他init腳本之後*執行。
#如果沒有,妳可以把妳自己的初始化資料放在這裏
#想做完整的Sys V風格的初始化工作。
if[-f/etc/red hat-release];然後
R=$(卡特彼勒/etc/redhat-release)
arch=$(uname -m)
a="a "
中的大小寫“_$arch”
_ a *)a = " an ";;
_ I *)a = " an ";;
environmental systems applications center 環境系統應用程序中心
num proc = ' egrep-c " ^cpu[0-9]+ "/proc/stat '
if[" $ NUMPROC "-gt " 1 "];然後
SMP = " $ num proc-處理器"
if[" $ num proc " = " 8 "-o " $ num proc " = " 11 "];然後
a= "安"
其他
a="a "
船方不負擔裝貨費用
船方不負擔裝貨費用
#這將在每次啟動時覆蓋/etc/issue。所以,做任何改變吧
#希望在此處生成/etc/issue,否則在重新啟動時會丟失它們。
# echo " " & gt/etc/issue
# echo " $ R " & gt& gt/etc/issue
# echo " Kernel $(uname-r)on $ a $ SMP $(uname-m)" >& gt/etc/issue
cp -f /etc/issue /etc/issue.net
echo & gt& gt/etc/issue
文件中的粗體部分是獲取系統版本信息的地方。壹定要把它們註釋掉。
(5)其他配置
在普通的微機中,可以通過ctl+alt+del的組合來重啟linux。這是非常不安全的,所以您應該在/etc/inittab文件中記錄這個函數:
#陷阱CTRL-ALT-DELETE
# ca::ctrl altdel:/sbin/shut down-T3-r now