Linux
網絡基礎
常見的協議有
FTP
(文件傳輸協議,用於實現互聯網中交互式文件傳輸功能)、
Telnet(
遠程登錄協議,用於實現互聯網中的遠程登錄功能
)
、
SMTP
(簡單郵件傳輸協議,用來實現互聯網中電子郵件傳送功能)、
HTTP
(超文本傳輸協議,用於實現互聯網中的
WWW
服務)、
DNS
(域名解析,用於實現主機名與
IP
地址之間的映射)、
NFS
(網絡文件系統,用於網絡中不一樣主機間的文件共享)、
SMB
(服務信息塊,用於
Windows
主機與
Linux
間的文件共享)
2.
網絡接口:爲了使用外圍設備的響應接口,在
Linux
核心文件
(kernel)
中都有相應的名字
Lo
:本地回送接口用於網絡軟件測試以及本地機進程間的通信
Ethn
:以太網接口
Pppn:
第
n
個
PPP
接口,
PPP
接口按照與它們有關的
PPP
配置順序鏈接在串口上
3.IP
地址和域名、子網掩碼、路由選擇、地址轉換與反轉換
1、配置
TCP/IP
網絡
橫塊配置文件用於在
Linux
系統啓動時加載系統所需的硬件驅動模塊,
RH9
模塊配置文件的全路徑名爲
"/etc/modules.conf"
例:
grep eth /etc/modules.conf
alias eth0 pcnet32
當前系統的網卡
eth0
所使用的驅動模塊名稱爲
"pcnet32"
TCP/IP
參數:全部的網絡參數都是經過配置文件生成的。
1.
配置網卡:
/etc/syscnfig/network-scripts/ifcfg-eth0
文件
DEVICE=eth0
物理設備名字
BOOTPROTO=static|dhcp|bootp
靜態的
|
使用
DHCP
協議
|
使用
BOOTP
協議
BROADCAST=192.168.1.255
廣播地址
IPADD=192.168.1.67
表示
IP
地址
NETMASK=255.255.255.0
子網掩碼
NETWORK=192.168.1.0
網絡號
ONBOOT=yes|no
表示系統啓動時是否激活該網卡
/etc/rc.d/init.d/network restart
從新啓動網卡
2./etc/sysconfig/network
指定服務器上網絡配置信息
NETWORKING=yes|no
網絡是否被配置
HOSTNAME=linux9
服務器主機名
GATEWAY=192.168.1.1
網絡網關的
IP
地址。
3.DNS
客戶配置文件
/etc/resolv.conf
設置
DNS
服務器
nameserver 192.168.1.2
表示解析域名時使用該地址指定的主機爲域名服務器,最多指定於個
DNS
服務器
domain abc.com
指定當前主機所在域的域名
4.
名稱解析順序
/etc/host.conf
指定主機名的解析順序
order hosts,bind
表示先查詢
/etc/hosts/
文件,再使用
DNS
來解析主機名
multi on
指定是否
/etc/hosts
文件中指定的主機能夠有多個地址
nospoof on
指不容許對該服務器進行
IP
地址欺騙
5.HOST
文件配置
/etc/hosts
主機名與
IP
地址的映射
例
Linux8 localhost.localdomain localhost
166.111.219.157 wnt-hp
166.111.219.181 wnt-sun
二
.
網絡相關命令
1."ipconfig"
顯示當前活動的網卡設置
#ifconfig
#ifconfig -a
顯示系統中全部網卡的信息
#ifconfig
網卡設備名稱
例
#ifconfig lo|eth0
#ifconfig
網卡設備名稱
up|down
用於啓動
|
中止系統中指定的非活動網卡
設置網卡的的
IP
地址
ifconfig
網卡設備名稱
IP
地址
例
#ifconfig eth0 192.168.2.57
2.ifup
啓動指定的非活動網卡設備
ifup|ifdown
網卡設備名
例
ifup|ifdown eth0
3.route:
顯示和動態修改系統當前的路由表信息
#route
顯示路由信息
#route add -net
網絡地址
netmask
子網掩碼
dev
網卡設備名
例
#route add -net
10.0.0
.0 netmask 255.0.0.0 dev eth0
#route del -net
網絡地址
netmask
子網掩碼
例
route del -net
10.0.0
.0 netmask 255.0.0.0
#route add default gw
網關
IP
地址
dev
網卡設備名
例
#route add default gw 192.168.2.1 dev eth0
#route del default gw
網關
IP
地址
例
route del default gw 192.168.2.1
4.ping
ping [-c
發出報文數
]
目的主機地址
該命令經過向被測試的目的主機地址發送
ICMP
報文並收取回應報文,來測試當前主機到目的主機的網絡鏈接狀態
例
ping 192.168.2.57 Ctrl+C
組合鍵中止當前命令
4.nslookup
用於使用系統設定的
DNS
服務器解析域名
,
該命令有交互式查詢方式和命令行查詢方式
5.netstat
交互式查詢方式
nslookup
>[url]www.abc.com[/url]
>192.168.2.57
>exit
命令行查詢方式
:nslookup
主機域名
|IP
地址
例
#nslookup [url]www.abc.com[/url] #nslookup 192.168.2.57
7.netstat
#netstat -i
快速檢查接口狀態信息
#netstat -t
顯示全部活動的
TCP
鏈接
#netstat -vat
顯示全部活動和被監聽的
TCP
鏈接
三
.
守護進程和
xinetd
1.
守護進程:
Linux
系統上提供服務的程序是由運行在後臺的守護程序
daemon
來執行的,它在後臺守護程序在系統開機後就運行了,而且在時刻地監聽前臺客戶的服務請求,一旦客戶發出了服務請求,守護進程便爲它們提供服務
2.Red Hat Linux9
的守護進程
named DNS
服務器,
mysqld
一種數據庫服務器
,network
激活已配置網絡接口的腳本程序,
nfs
打開
NFS
服務
,random
提供高質量的隨機數生成
,routed
路由守候進程,使用動態
RIP
路由選擇協議
,smbd Samba
文件共享打印服務
,snmd
本地簡單網絡管理服務進程
,xinetd
支持多種網絡服務的核心守護程序
3.
守護進程的工做原理
網絡程序之間的鏈接是經過端口之間的鏈接而實現的
,
在
C/S
模型中,服務器守護進程的工做首先打開一個端口,而且等待
(Listen)
進入的鏈接,若是客戶提請了一個鏈接,守護進程就建立
(fork)
子進程來響應此鏈接,鏈接成功以後客戶機與服務器經過端口進行數據通訊
.
而父進程繼續監聽更多的服務請求
.
對於系統所要提供的每一種服務,都必須運行一個監聽某個端口鏈接發生的守護程序,形成了系統資源的浪費
,
爲此
UNIX
類系統都運行了一個
"
網絡守護進程服務程序
(
超級服務器
)"
的概念,它爲許多服務建立套接字
(Socket),
而且使用
Socket
系統調用同時監聽全部這些端口
,
當遠程系統請求一個服務時,網絡守護進程服務程序監聽到這個請求而且會產生該端口的服務器程序爲客戶提供服務
,Red Hat 9
使用的守護進程服務程序
xinetd(extended internet daemon).
4.
守護進程的運行方式
獨立運行的守護進程
:
獨立運行的守護進程由
init
腳本負責管理,其腳本存放在
/etc/rc.d/init.d/
目錄下
,
全部的系統服務都是獨立運行的如
syslogd
、
xinetd
等
由網絡守護進程服務程序運行的守護進程
:
要運行的守護進程由
xinetd
啓動
,
由
xinetd
管理的守護進程的配置文件存入放在
/etc/xinetd.d/
目錄下
,
默認的
xinetd
的主配置文件是
/etc/xinetd.conf,xinetd
自己是獨立運行的守護進程,由
xinetd
監控的網絡服務如
telnet
、
talk
等。但對於服務質量很大的守護進程如
HTTP
服務、
FTP
服務將影響到其餘服務的運行,同時也影響所提供服務的響應,爲此,經常使用的知名網絡服務的守護進程須要單獨啓動
,pstree
5.xinetd:
與早期的
intetd+tcp_wrapper
的功能相比更增強大和安全,其功能是:
支持對
tcp
、
udp
、
RPC
服務
基於時間段的訪問控制
功能遠備的
log
功能
能有效的防止
DoS(Denial of Service)
***
能限制啓動的全部服務器數目
能限制
log
文件大小
將某個服務綁定在特定的系統接口上從而能實現只容許私有網絡訪問某項服務
能實現其做爲其它系統的代理
6.xinetd
提供的服務程序由
/etc/services
文件指出,它說明了
xinetd
可提供服務的端口號和名字,實際啓動相應的守護進程去處理則須要另外的配置文件
/etc/xinetd.conf
和
/etc/xinetd.d/*
7./etc/xinetd.conf
該文件使用
defaults{......}
項爲全部服務指定缺省值
例
defaults{instances =60
表示
xineted
能夠同時運行的最大進程數
log_type
的設置中指定使用
syslogd
進行服務登記
log_on_success
指定成功時,登記客戶機
IP
地址和進程的
PID log_on_failure} includedir /etc/xinetd.d
指定每種服務的配置文件存放在
/etc/xinetd.d
目錄下,並將其加載
例
telnet
服務
service telnet{disable=yes|no
表示當前不容許這項服務
flags=REUSE
表示當中斷或重啓
xinetd
時
,TCP/IP Socket
可重用
socket_type=stream
表示使用
TCP
的
Socket
類型
wait=no
表示爲該服務提供多線程的功能
user=root
表示設置進程的
UID server=/usr/sbin/in.telnetd
該項服務程序的完整路徑
log_on_failure ==USERID
表示將失敗的
UID
添加到系統登記表中
}