一. LINUX支持的網絡服務
1. 支持的協議
TCP/IP
IPX/SPX
APPLETALK
2. 網絡服務
WWW(apache)
SMTP (sendmail,postfix,qmail)
POP3(imap,vpop)
FTP(vsftpd,wu-ftpd,proftpd)
DNS(bind)
DB(mysql,postgresql,Sybase,oracle,db2)
二. 以太網的TCP/IP設置
1. 以太網卡驅動程序的安裝。
(1) 下載驅動,編譯驅動程序生成目標程序。
(2) 複製目標程序到/lib/modules/2.4.20-8/kernel/drivers/net目標中。
(3) 裝載模塊。
(4) 重新啓動系統。
實例:
安裝D-link DFE-530TX網卡驅動
(1) 從http://www.legend-networks.com.cn/downfile/linux530_321.tar處下載驅動到/usr/src目錄中
(2) #cd /usr/src;tar –xvf linux530_321.tar
(3) #cd linux530_321;make
(4) #cp via-rhine.o /lib/modules/2.4.20-8/kernel/drivers/net/
(5) #vi /etc/rc.d/rc.local
添加以下內容:
/sbin/modprobe via-rhine
注:modprobe用於裝載驅動程序模塊,也可以用以下方法實現:
#vi /etc/modules.conf
添加以下內容:
alias eth0 via-rhine
(6) # init 6
2. /etc/sysconfig/network 文件
功能:設置主機最基本的網絡信息,包括主機名、默認網關等信息
內容:
① NETWORK= yes/no 設定啓動系統時是否啓用網絡服
務。
② HOSTNAME= www.sina.cm 設定主機名(不是NETBIOS名)。
③ GATEWAY= 192.168.0.1 設定默認網關。
④ GATEWAYDEV= ethp 設定網關接口。
⑤ FORWARD_IPV4= yes/no 設定LINUX是否支持IP轉發。
3. /etc/sysconfig/network-scripts/ifcfg-ethX(X取值0,1,2,…….n)
功能:用於配置以太網接口卡的初始信息,。
內容:
① ONBOOT= yes 在設定啓動時,是否激活網卡。
② DEVICE= eth0 設定物理設備名稱。
③ BOOTPROTO= none|static|dhcp|bootp 設定網卡啓動協議。
④ NETMASK= 255.255.255.0 設定子網掩碼。
⑤ BROADCAST= 192.168.3.255 設定廣播碼。
⑥ NETWORK= 192.168.3.0 設定網絡號。
⑦ IPADDR= 192.168.3.2 設定主機IP。
注意:一個以太網卡如何綁定多個IP地址?
實例:設定主機中存在的eth0設備,它的ip地址是:192.168.3.1/24,要求給eth0再綁定ip:192.168.5.1
① # cp /etc/sysconfig/network-scripts/ifcfg-eth0 至
/etc/sysconfig/network-scrppts/ifcfg-eth0:0(x的取值從0開始)
② # vi /etc/sysconfigt/network-scrpts/ifcfg-eht0:0
修改後:
DEVICE= eth0:0
ONBOOT= YES
BOOTPROTO=NONE
IPADDR=192.168.5.1
NETMASK=255.255.255.0
NETWORK=192.168.5.0
BROADCAST=192.168.5.255
4. /etc/resolv.conf
功能:配置域名服務客戶端的配置文件,用於指定域名服務器的位置
內容:
domainname linux.cn 設定主機域名。
serch linux.cn 設定搜索列表。
nameserver 192.168.0.254 設定DNS服務器的IP。
三. 常用的網絡服務命令.
1. ifconfig
功能:
① 顯示網絡接口的配置信息。
② 激活/禁用某個網絡接口。
③ 配置網絡接口IP址址。
格式:
① # ifconfig [<接口名>]
② # ifconfig <接口名>(up/down)
③ # ifconfig <接口名> ip地址 netmask 子網掩碼
實例:
⑴ # ifconfig
⑵ # ifconfig eth0
⑶ # ifconfig eth0 down
⑷ # ifconfig eth0 192.168.3.3 netwask 255.255.255.0
2. ifup
功能: 激活網絡接口。
格式: ifup <設備名>
實例: # ifup eth0
3. ifdown
功能: 禁用網絡接口。
格式: ifdown <設備名>
實例: # ifdown eth0
4. ping
功能:向目標主機發送icmp數據包(檢測網絡)。
5. netstat
功能:顯示網絡的連接狀態。
格式:# netstat [參數]
參數:-i 顯示接口狀態信息
-lpe 顯示所監控中的服務器的socket和正使用的socket程序信息
-nr 顯示內核路由表信息
-t/-u 顯示TCP/UDP連接狀態
實例:#netstat -nr
#netstat -lpe
#netstat -t
6. traceroute
功能:跟蹤路由
實例:#traceroute www.ahxh.cn
7. hostname
功能:顯示主機名
實例:#hostname
8. route
功能:
(1) 顯示路由表
(2) 添加路由
(3) 刪除路由
實例:
(1)#route(顯示當前系統的路由表信息)
(2)#route add –net 192.168.0.0/24 dev eth0
(3)#route add –host 192.168.3.2 dev eth1
(4)#route add –host 192.168.1.3 gw 192.168.1.1
(5)#route add –net 192.168.3.0 netmask 255.255.255.0 gw 192.168.3.1
(6)#route add default gw 192.168.0.1
(7)#route del –host 192.168.3.2. dev eth1
(8)#route del –net 192.168.0.0/24 dev eth0
(9)#route del default gw 192.168.0.1
9. arp
功能:維護arp地址表
實例:
(1)#arp (顯示arp地址表)
(2)#arp –s 192.168.3.1 00:60:08:27:ce:b2(向arp地址表中添加記錄)
(3)#arp –d 192.168.3.1(刪除arp地址表的記錄)
四. 服務的啓動方式
1. 守護進程的定義
linux系統上提供服務的程序是由運行在後臺的守護程序來執行的,這些後臺守護程序監聽特定端口上的客戶機的請求,並且爲客戶機提供相應的服務,我們這個後臺的守護程序稱爲“守護進程”,又稱“服務”。
2. 服務的運行方式
⑴ 獨立運行方式:獨立運行的服務由init腳本負責管理,並且每項服務只監聽該服務指定的端口,服務的啓動腳本存放在/etc/rc.d/init.d。
⑵ 超級服務:超級服務由xinetd管理,xinetd同時創建多個socket和監聽多個端口,由xinetd管理的服務的配置文件存放在/etc/xinetd.d目錄中。
3. 服務的啓動、關閉與重啓
⑴ 獨立服務的啓動、關閉與重啓
手工方式:
①# /etc/rc.d/init.d/腳本名 <start|restart|stop>
實例:
#/etc/rc.d/init.d/network restart
②# service 服務名 <start|restart|stop>
實例:
#service httpd start
自動方式:
①# ntsysv [--level 級別]
實例:
# ntsysv(設置當前運行級別要運行的服務)
# ntsysv –level 5(設置啓動5號運行級別要運行的服務)
②# chkconfig [--list | --level] 級別 服務名<on/off>
實例:
#chkconfig –-list(顯示各項服務在每個運行級別中的狀態)
#chkconfig –-level 3 dhcpd on
⑵ 超級服務器的啓動、關閉與重啓
手工方式:
①# /etc/rc.d/init.d/xinetd <stop|restart|start>
②# service xinetd <stop|start|restart>
自動方式:
①# ntsysv [--level] 級別
②# chkconfig [--list|--level] 級別 服務名 <on/off>
4. xinetd(超級服務器)
⑴ xinetd的功能
n 支持對rpc 、tcp、udp服務的啓動、關閉、重啓
n 實現基於時間段的訪問控制
n tcp_wrapper的主機訪問控制
n 能將服務綁定到指定的端口上
n 能限定日誌大小
n 能限制客戶機的併發連接數
⑵ xinetd的安裝
# rpm –ivh xinetd-2.3.10-6.i386.rpm
(3)xinetd的配置
n xinetd.conf的設置
功能:指定由xinetd管理的服務的默認選項
文件內容:
defaults {
instances=60 指定服務所接受客戶機併發連接的最大值
log_type=syslog authriv 指定日誌記錄方式
log_on_sucess=HOST PID 指定客戶機連接成功時登記的信息
log_on_failure=HOST RECORD 指定客戶機連接失敗時登記的信息
}
includedir /etc/xinetd.d 指定由xinetd管理的服務配置文件存放位置
n 設置由xinetd管理的服務的配置文件
文件格式:
service 服務名 {
選項 操作符 值
選項 操作符 值
…………
…………
…………
}
說明:
ü 操作符
= 表示給選項分配一個或者多個值
+= 表示給選項在原有基礎上添加一個或多個值
-= 表示給選項在原有基礎上減小一個或多個值
ü 選項
n socket_type=stream(tcp)|dgram(udp)|seqpacket(可靠的有序數據報)
定義TCP/IP SOCKET類型
n log_type=SYSLOG 文件名/文件名
設置日誌類型,SYSLOG表示用SYSLOG記錄到指定日誌文件中,也可以記錄到指定文件中
n server=路徑
設定守護進程對應程序的位置
n protocol=tcp/udp/..
設定服務的工作協議,可以參照/etc/protocols文件
n port=端口號
設定服務的工作端口,可以參照/etc/services文件
n wait=yes/no
服務在啓動時,xinetd的其他服務是否等待
n log_on_sucess=HOST|PID|USERID|EXIT|DURATION
設置登錄成功時所記入日誌中的信息
HOST表示客戶機的ip地址
USERID表示客戶機的登錄用戶的UID
PID表示進程的PID
EXIT表示登記進程終止狀態
DURATION表示記錄會話持續期
n log_on_failure=HOST|USERID|RECORD
指定失敗時登記的信息,RECORD客戶機信息如本地用戶,遠程用戶和終端類型
n user=用戶名
設置服務的管理員帳號
n group=組名
設置服務管理員所屬組
n type=rpc/internal/unlisted
設定服務類型
rpc表示RPC服務
internal表示xinetd內置服務
unlisted表示/etc/service或/etc/rpc文件中沒有列出的服務
n access_times=hh:mm-hh:mm
設置訪問時間
n flags=REUSE|INTERCEPT|NORETRY|IDONLY
設置socket標記信息
REUSE設置socket可重用
INTERCEPT獲取數據報進行訪問檢查
NORETRY表示fork失敗,不重試
IDONLY 表示只有在遠程端識別遠程用戶時才接受該連接
n only_from=主機IP/網絡號/主機名
設定允許訪問的客戶機,可以有以下幾種表示方法:
0.0.0.0 表示匹配所有主機的IP地址
x.x.x.0 x.x.0.0 x.0.0.0 其中的0具有通配符的含義,如:192.168.3.表示從192.168.3.0到192.168.3.255的所有ip地址
x.x.x{a,b,……} 指定主機表
ip地址/netmask 定義要匹配的網絡號
n no_access=主機IP/網絡號/主機名
禁止訪問的主機
n instances=數字
設定客戶機併發連接的最大值
n disable=YES/NO
設定是否禁用服務
n bind=主機IP /接口名
綁定服務至指定接口,必須先指定protocol值和port
n redirect=主機IP 端口號
服務器的重定向, 必須先指定protocol值和port
n per_source=數字
設置每個客戶機最大併發連接數
n banner=文件名
設置客戶機連接時顯示的歡迎信息文件
n banner_success=文件名
設置客戶機連接成功時顯示存入指定文件中內容
n banner_fail=文件名
設置客戶機連接失敗時顯示存入指定文件中內
n cps=數字 數字
限制客戶連接速度,第一個數字代表每秒鐘連接的句柄數,如果客戶機超個這個數字,服務器就會臨時中斷此次連接,第二個數字代表客戶機的連接被臨時中斷後,等待多長時間會自動恢復,默認這兩個數字爲50,10
實例:設置telnet的服務配置文件,使其達到以下要求:
n 啓動系統時啓動telnet服務
n 只接受192.168.0.3客戶機在6:00-18:00時間內連接
n 綁定服務在192.168.0.2網絡接口
# vi /etc/xinetd.d/telnet
Service telnet{
Disable=no
Flags=rescue
Socket_type=stream
Wait=no
User=root
Server=/usr/sbin/in.telnetd
Protocol=tcp
Port=23
Log_on_failure +=PID
Only_from=192.168.0.3
Access_times=6:00-18:00
Bind=192.168.0.2
}