第十一章 LINUX 網絡基礎

一. LINUX支持的網絡服務

1. 支持的協議

TCP/IP

IPX/SPX

APPLETALK

2. 網絡服務

WWWapache

   SMTP (sendmail,postfix,qmail)

   POP3imap,vpop

   FTPvsftpd,wu-ftpd,proftpd

DNSbind

DBmysql,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

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章