RedHat Linux網絡配置詳解


1.以太網接口
        以太網最常見的接口文件是ifcfg-eth0,它控制系統裏的第一個以太網卡.如果系統裏有多個網卡,就有多個配置文件ifcfg-eth<X> (<X>是特定接口的唯一標識).因爲每個設備都有自己的配置文件,管理員就能分別對每個接口功能進行控制.
        以下是使用固定IP地址的一個ifcfg-eth0文件實例:
                DEVICE=eth0
                BOOTPROTO=none
                ONBOOT=yes
                NETWORK=10.0.1.0
                NETMASK=255.255.255.0
                IPADDR=10.0.1.27
                USERCTL=no
        接口配置文件裏的值會根據其他的值而改變.舉例來說,應用DHCP的接口文件ifcfg-eth0會有點不一樣,因爲IP信息是由DHCP服務器提供的.
                DEVICE=eth0
                BOOTPROTO=dhcp
                ONBOOT=yes
        然而,對於給定的網絡接口,手工編輯配置文件也是有可能的.
        下面是一個以太接口配置文件的配置參數清單:
                BONDING_OPTS=<parameters>,這個可爲多個綁定設備分別進行配置.如果在ifcfg-<name>中使用了BONDING_OPTS,請不要爲該綁定設備指定選項.
                DEVICE=<name>,<name>是物理設備的名稱(當它是動態分配的PPP設備時,它是邏輯名).
                BOOTPROTO=<protocol>,在這裏,<protocol>是以下值中的一個:
                        none,在啓動時不使用任何協議.
                        bootp,使用BOOTP協議.
                        dhcp,使用DHCP協議.
                DHCP_HOSTNAME,當DHCP服務器需要客戶機在接收IP地址前指定主機名時才使用該選項.
                ETHTOOL_OPTS=<options>,<options>是被ethtool支持的特定設備的選項.
                        例如,您需要設置100Mb,雙項網絡:ETHTOOL_OPTS="autoneg off speed 100 duplex full"
                        和使用定製初始化腳本相反,請使用ETHTOOL_OPTS設定接口速率和雙工設定.在網絡初始化腳本之外運行定製初始化腳本可導致在重啓後引導網絡設備時出現無法預計的結果.
                        注:如果要改變速度和雙工設置,需要禁止自動協商選項autoneg off.這個必須先於其他選項啓動,因爲選項都是按順序排列的.
                MASTER=<bond-interface>,<bond-interface>是以太網接口所連接的接口的頻道綁定接口.這個項和SLAVE項一起使用.
                SLAVE=<bond-interface>,<bond-interface>是以下值中的一個:
                        yes,這個設備由MASTER項中指定的頻道綁定接口控制.
                        no,這個設備不被MASTER項中指定的頻道綁定接口控制.
                        這個項與MASTER項一起使用.
                HWADDR=<MAC-address>,<MAC-address>是以太網設備的硬件地址(格式爲AA:BB:CC:DD:EE:FF).這個項對有多個網卡的系統非常有用,無論每個網卡的模塊是以什麼順序被加載的,它們都可以獲得正確的設備名.這個項不能和MACADDR一起使用.
                MACADDR=<MAC-address>,<MAC-address>是以太網設備的硬件地址(格式爲AA:BB:CC:DD:EE:FF).這個項被用來爲一個接口分配一個MAC地址,這個地址會覆蓋分配給物理網卡的地址.這個不能和HWADDR一起使用.
                IPADDR=<address>,<address>是IP地址.
                NETMASK=<mask>,<mask>是網絡掩碼的值.
                GATEWAY=<address>,<address>是路由器或網關設備的IP地址.
                NETWORK=<address>,<address>是網絡地址.這個項已經不再被使用,它現在被ifcalc自動計算.
                BROADCAST=<address>,<address>是廣播的地址.這個項已經不再被使用,因爲這個值可以被ifcalc自動計算.
                ONBOOT=<answer>,<answer>是以下值中的一個:
                        yes,這個設備在啓動時被激活.
                        no,這個設備在啓動時不被激活.
                DNS{1,2}=<address>,<address>是/etc/resolv.conf(PEERDNS項被設爲yes)文件中的名稱服務器的地址.
                PEERDNS=<answer>,<answer>是以下值中的一個:
                        yes,如果DNS項被設定,修改/etc/resolv.conf;如果使用DHCP,yes就是默認設置.
                        no,不修改/etc/resolv.conf文件.
                SRCADDR=<address>,<address>是爲輸出的包指定的源IP地址.
                USERCTL=<answer>,<answer>是以下值之一:
                        yes,允許非根用戶控制該設備.
                        no,不允許非根用戶控制該設備.

2.別名和克隆文件
        alias和clone文件是兩個用的比較少的接口配置文件.
        用來在同一接口上綁定多個地址的別名接口配置文件,使用ifcfg-<if-name>:<alias-value>命名規則.
        例如:ifcfg-eth0:0可以指定DEVICE=eth0:0和靜態地址10.0.0.2.假設以太網接口已經配置成通過DHCP裏獲取IP信息.在這種情況下,eth0被綁定在一個動態地址上,但同一網卡又可以設置成靜態地址10.0.0.2.
        注:別名接口不支持DHCP.
        克隆接口配置文件應該使用這樣的命名規則:ifcfg-<if-name>-<clone-name>.別名文件允許同一接口擁有多個地址,克隆文件用來指定某一接口的額外選項.
        例如:一個叫eth0的標準DHCP以太接口,可能象下面這樣:
                DEVICE=eth0
                ONBOOT=yes
                BOOTPROTO=dhcp
        如果USERCTL=yes的值沒有被指定,非根用戶就不能啓動或停止這個接口.如果拷貝ifcfg-eth0到克隆文件ifcfg-eth0-user,並且把下面的語句加進去,就可以讓非根用戶控制這個接口.
                USERCTL=yes
        因爲ifcfg-eth0和ifcfg-eth0-user裏的配置選項被合併了,用戶可以用/sbin/ifup eth0-user命令來啓動接口eth0. 儘管這只是個非常簡單的例子, 這個方法也可以用於其他的選項和接口.

3.通道聯合
        紅帽企業Linux允許管理員使用bonding核心模塊和一個特殊的網絡接口(channel bonding interface)把多個網絡接口綁定成一個單一接口,這個接口就叫通道聯合.通道聯合使兩個或更多的網絡接口象單一接口一樣地工作, 既增加了帶寬,也提供了冗餘功能.
        搞清楚什麼是通道聯合(bonding)需要從網卡的混雜(promisc)模式說起.我們知道,在正常情況下,網卡只接收目的硬件地址(MAC Address)是自身Mac的以太網幀,對於別的數據幀都濾掉,以減輕驅動程序的負擔.但是網卡也支持另外一種被稱爲混雜promisc的模式,可以接收網絡上所有的幀,比如說tcpdump,就是運行在這個模式下.bonding也運行在這個模式下,而且修改了驅動程序中的mac地址,將兩塊網卡的Mac地址改成相同,可以接收特定mac的數據幀.然後把相應的數據幀傳送給bonding驅動程序處理.
        爲了創建一個通道聯合接口,需要在/etc/sysconfig/network-scripts/目錄下創建一個叫ifcfg-bond<N>的文件(<N>是接口的序號, 如0).
        這個文件的內容可以和任意一個綁定的接口相同,如以太接口.區別在於,DEVICE=必須是bond<N>(<N>是接口的序號, 如0).
        下面是個通道綁定配置文件的樣本:
                DEVICE=bond0
                BONDING_OPTS="mode=1 miimon=500"
                BOOTPROTO=none
                ONBOOT=yes
                NETWORK=10.0.1.0
                IPADDR=10.0.1.27
                NETMASK=255.255.255.0
                USERCTL=no
        通道綁定接口創建以後,被綁定接口的配置文件裏必需加入MASTER=和SLAVE=.各綁定接口的配置文件可以近似相同.
        舉例來說,如果兩個以太接口被綁定,eth0和eth1可能是下面的樣子:
                DEVICE=eth<N>
                BOOTPROTO=none
                ONBOOT=yes
                MASTER=bond0
                SLAVE=yes

4.IPsec接口
        紅帽企業Linux通過像因特網一樣的常用網絡載體使用一個安全隧道支持IPsec對遠程主機和各網絡之間的互相連接.IPsec可以通過應用主機到主機(即一個到另一個電腦工作站)或網絡到網絡(一個到另一個LAN/WAN)的配置來實現.
        在紅帽企業Linux中IPsec的實現使用Internet Key Exchange(IKE),即一個由網絡工程任務強制(Internet Engineering Task Force,IETF)實現的協議,用來實現相連接系統之間的相互驗證和安全關聯.
        一個IPsec連接分成兩個邏輯階段.在第一階段,一個IPsec節點發起與遠程節點或網絡的連接.該遠程節點或網絡檢查請求連接的節點的資格,預連接的雙方協商連接的驗證方法.
        在紅帽企業Linux系統上,一種IPsec連接使用pre-shared key(事先選好的共享密碼)方法進行IPsec節點驗證.在pre-shared key IPsec連接中,兩個主機雙方必須使用同一個密碼才能過渡到IPsec連接的第二階段.
        IPsec連接的第二階段也就是Security Association(安全關聯)(SA)在IPsec節點之間被建立的階段.這個階段建立一個含有像加密方法,密鑰交換參數等更多配置信息的SA數據庫.同時這個階段也在各遠程節點和網絡間建立起實際的IPsec連接.
        紅帽企業Linux在網絡上的主機之間就共享密鑰而言使用IKE來實現IPsec.設定密鑰守護進程racoon用來處理IKE密鑰分配和交換.
        4.1.IPsec的安裝
        使用IPsec需要在所有IPsec主機上(如果使用主機到主機配置)或路由器上(如果使用網絡到網絡配置)安裝ipsec-tools RPM軟件包.該RPM軟件包含有主要程序庫,守護進程和建立IPsec連接的各種配置文件,包括:
                /sbin/setkey,操縱內核中IPsec的密鑰管理和安全屬性.這項可執行程序由racoon密鑰管理守護進程控制.
                /sbin/racoon,IKE密鑰管理守護進程,用來管理和控制由IPsec相連繫統間的安全關聯和密鑰共享.
                /etc/racoon/racoon.conf,即racoon守護進程配置文件,用來配置IPsec連接的各個方面,包括連接時使用的驗證方法和加密算法.
        要在紅帽企業Linux中配置IPsec,可以使用手工編輯網絡和IPsec配置文件.
        4.2.IPsec主機到主機連接配置
        IPsec通過配置可以使用主機到主機方式將一個臺式機或工作站(主機)連接到另一個.這種類型的連接利用連接至每一臺主機的網絡在主機之間建立一個安全隧道.建立主機到主機連接的IPsec配置是極少的.主機雙方只需要連接到一個可靠的連接載體(比如因特網)和紅帽企業 Linux上,從而建立IPsec連接.
        主機到主機的IPsec連接是一種兩個系統之間的加密連接,雙方都運行帶有同樣驗證密碼的IPsec.IPsec連接激活後,兩個主機之間的任何網絡業務都以加密形式進行.
        建立連接的第一步是從各工作站收集系統和網絡的信息.要建立主機到主機連接,你需要下列信息:
                a.每個主機的 IP 地址
                b.一個獨一無二的名稱,如ipsec1.在進行IPsec連接時這個名稱用來進行身份驗證並與其它服務和連接區別開來.
                c.一個事先選好的密鑰或由racoon自動生成的密鑰.
                d.一個事先選好的共享驗證密碼,該密碼在連接建立的最初階段會用到,用來進行密鑰交換.
                例如,假設工作站A和工作站B想通過IPsec隧道建立相互的連接.這兩個工作站要用一個事先選好的共享密碼即Key_Value01進行連接,而且用戶們同意讓racoon自動生成一個主機之間共享的驗證密碼.連接雙方決定以ipsec1來命名這一連接.
        下面是IPsec爲工作站A與工作站B進行主機到主機IPsec連接的配置文件.這個例子中識別該連接的獨一無二的名稱是ipsec1,因此該連接合成的文件名是/etc/sysconfig/network-scripts/ifcfg-ipsec1.
                DST=X.X.X.X
                TYPE=IPsec
                ONBOOT=no
                IKE_METHOD=PSK
        對工作站A來說,X.X.X.X 是工作站B的IP地址.對工作站B來說,X.X.X.X 是工作站A的IP地址.這一連接的設定不是在啓動(ONBOOT=no)時就啓動該連接,而是要使用事先選好的共享驗證密碼方式(IKE_METHOD=PSK)進行連接.
        下面是關於事先選好的共享驗證密碼的文件內容(叫 /etc/sysconfig/network-scripts/keys-ipsec1),兩個工作站都需要驗證相互的身份.這個文件的內容在兩個工作站處應該是完全一致的,而且應該只有根用戶纔有讀取和寫入該文件的權限.
                IKE_PSK=Key_Value01
                注意:要在keys-ipsec1文件創建後修改此文件以保證只有根用戶能夠讀取和編輯該文件.
        接下來的例子顯示連接到遠程主機時第一階段的具體配置.該文件叫X.X.X.X.conf,其中X.X.X.X 是IPsec連接中遠程主機的IP地址.注意這個文件是在IPsec隧道被激活時自動生成的,而且應該無法直接對它進行編輯.
                remote X.X.X.X
                {
                        exchange_mode aggressive, main;
                        my_identifier address;
                        proposal {
                                encryption_algorithm 3des;
                                hash_algorithm sha1;
                                authentication_method pre_shared_key;
                                dh_group 2 ;
                                }
                }
        默認情況下,當IPsec連接啓動時第一階段配置文件含有紅帽企業Linux使用的和由IPsec實現的下列聲明:
                remote X.X.X.X,指定該配置文件隨後的文件段只適用於由X.X.X.X IP地址識別的遠程節點.
                exchange_mode aggressive,在紅帽企業Linux上IPsec默認的配置是使用挑釁性的驗證方式(aggressive authentication mode),這樣可以使該連接在空中降低位置,從而允許與多個主機進行多項連接的IPsec配置.
                my_identifier address,驗證節點時指定要使用的驗證身份的方式,紅帽企業Linux使用IP地址來識別節點.
                encryption_algorithm 3des,指定驗證身份時使用的密碼暗號.默認情況下,給定使用Triple Data Encryption Standard(3DES).
                hash_algorithm sha1,指定節點之間在第一階段的協商中所使用的散列算法.默認情況下,給定使用Secure Hash Algorithm version 1(安全散列算法第一版).
                authentication_method pre_shared_key,指定節點之間協商中所使用的驗證方法.默認情況下,紅帽企業Linux使用事先選好的共享密碼驗證方法.
                dh_group 2,指定Diffie-Hellman的組號碼以便建立動態生成的會話密鑰.其默認號碼是modp1024 (group 2).
        最後是racoon配置文件,/etc/racoon/racoon.conf文件在所有IPsec節點上應該是完全一樣的,只有一個例外,那就是include "/etc/racoon/X.X.X.X.conf" 聲明.這個聲明(以及它相關的文件)是在IPsec隧道被激活時生成的.對工作站A來說,include聲明中的X.X.X.X是工作站B的IP地址.反過來則是工作站A的IP地址.下面顯示的是當IPsec連接被激活時生成的racoon.conf的典型文件.
                path include "/etc/racoon";
                path pre_shared_key "/etc/racoon/psk.txt";
                path certificate "/etc/racoon/certs";
               
                sainfo anonymous
                {
                        pfs_group 2;
                        lifetime time 1 hour;
                        encryption_algorithm 3des, blowfish 448, rijndael;
                        authentication_algorithm hmac_sha1, hmac_md5;
                        compression_algorithm deflate;
                }
                include "/etc/racoon/X.X.X.X.conf";
        這個默認的racoon.conf文件包括IPsec配置定義好的路徑,事先選好的共享密鑰文件和證書.sainfo anonymous中的字段描述IPsec節點之間的第二階段SA.下面的列表定義第二階段的各項字段:
                sainfo anonymous,表明SA可以在匿名狀態下啓動任何同級設備,只要其IPsec資格相匹配.
                pfs_group 2,定義Diffie-Hellman密鑰交換協議,該協議決定使用什麼方法使IPsec節點之間建立相互的臨時會話密碼,以便進行IPsec第二階段的連接.默認情況下,紅帽企業Linux實施IPsec使用Diffie-Hellman密碼密鑰交換組中的組2(group 2)(或modp1024).組2使用1024比特模運算方式,這種方式可以防止襲擊者們試圖破解在此之前傳輸的IPsec信息,即使他們找到一個有效密碼而進入也無濟於事.
                lifetime time 1 hour,這個參數指定一個以時間或以字節數來量化的SA壽命.默認紅帽企業Linux規定其壽命是一個小時.
                encryption_algorithm 3des, blowfish 448, rijndael,指定所支持的進行第二階段的加密暗號.紅帽企業Linux支持3DES,448-bit Blowfish,和Rijndael(在 Advanced Encryption Standard或AES中使用的密碼).
                authentication_algorithm hmac_sha1, hmac_md5,列出所支持的爲身份驗證而進行的散列算法.所支持的方式是sha1和md5散列訊息驗證碼(HMAC).
                compression_algorithm deflate,爲IP Payload Compression (IPCOMP)支持設備定義Deflate壓縮算法,這樣能在傳輸比較慢的連接上潛在地加速IP數據報的傳輸.
        接下來,便可以啓用IPsec連接了.要測試IPsec連接,執行tcpdump命令來查看傳輸在主機之間的網絡數據包,並驗證該連接是通過IPsec進行加密的.這個數據包應該包括一個AH標題,並且顯示是ESP數據包,ESP意味着是加密的.
        例如:[root@myServer ~]# tcpdump -n -i eth0 host <targetSystem>
                IP 172.16.45.107
                > 172.16.44.192: AH(spi=0x0954ccb6,seq=0xbb): ESP(spi=0x0c9f2164,seq=0xbb)
        4.3.IPsec網絡到網絡連接配置
        IPsec也可以用來配置整個一個網絡(像LAN或WAN)通過網絡到網絡連接方式連接到另一個遠程網絡上.網絡到網絡連接要求在連接的兩端設定IPsec路由器來用透明的方式處理路徑信息,其路徑從LAN上的一個節點到遠程LAN上的另一個節點.
        建立網絡到網絡連接所需信息包括:
                專用IPsec路由器上可以公開訪問的IP地址
                由IPsec路由器服務的LAN/WAN的網絡地址區間(比如192.168.1.0/24或10.0.1.0/24).
                將數據由網絡傳輸到因特網的網關設備IP地址
                一個獨一無二的名稱,例如ipsec1.在進行IPsec連接時這個名稱用來進行身份驗證並與其它服務和連接區別開來.
                一個選定的密鑰或由racoon自動生成的密鑰
                一個事先選好的共享驗證密碼,該密碼在連接建立的最初階段會用到,用來進行密鑰交換.
        一個網絡到網絡IPsec連接要用兩個IPsec路由器,一個網絡一個,專用分支網絡之間的傳輸就通過這兩個路由器建立.
        IPsec路由器要求有可以公開訪問的IP地址和第二個以太網(Ethernet)設備連接到相應的專用網上.網絡業務只能通過一個IPsec路由器到另一個IPsec路由器,而且兩個路由器之間的傳輸連接是加密的.
        其它網絡配置選項包括在各個IP路由器和因特網之間設立防火牆,也在每個IPsec路由器和分支網絡網關之間設立內聯網防火牆.IPsec路由器和分支網絡網關可以是同一個系統下的兩個以太網(Ethernet)設備:一個有可以公開訪問的IP地址,用作IPsec路由器;而另一個有專用IP地址,用作專用分支網絡的網關.每個IPsec路由器可以在其專用分支網內使用網關,也可以通過公用網關將數據包傳送到另一個IPsec路由器.
        假設LAN A(lana.example.com)和LAN B (lanb.example.com)要通過IPsec隧道進行相互的連接.LAN A的網絡地址是192.168.1.0/24區間,而LAN B使用192.168.2.0/24區間.LAN A的網關IP地址爲192.168.1.254,LAN B的網關IP地址爲192.168.2.254.IPsec各個路由器由LAN網關使用兩個網絡設備(eth0 和 eth1)隔開:eth0被指派給一個可以公開訪問的靜態IP地址,可以連接因特網;而eth1則被用作一個選路點(routing point)來處理和傳輸從一個網絡節點到各遠程網絡節點的LAN數據包.
        各網絡之間的IPsec連接使用事先選好的共享密鑰r3dh4tl1nux,而且系統管理員A和B同意讓racoon自動生成並共享每個IPsec路由器之間的驗證密碼.LAN A管理員決定命名該IPsec連接爲 ipsec0,而LAN B管理員命名該IPsec連接爲ipsec1.
        下面的例子顯示LAN A的網絡到網絡IPsec連接的ifcfg文件的內容.本例中識別該連接的獨特名稱爲ipsec0,所以合成的文件叫作/etc/sysconfig/network-scripts/ifcfg-ipsec0.
                TYPE=IPSEC
                ONBOOT=yes
                IKE_METHOD=PSK
                SRCGW=192.168.1.254
                DSTGW=192.168.2.254
                SRCNET=192.168.1.0/24
                DSTNET=192.168.2.0/24
                DST=X.X.X.X
        下面的列表描述該文件的內容:
                TYPE=IPSEC,指定連接類型.
                ONBOOT=yes,指定電腦啓動時便激活這個連接.
                IKE_METHOD=PSK,指定該連接使用事先選好的共享密鑰來進行身份驗證.
                SRCGW=192.168.1.254,源網關的IP地址.對LAN A來說是LAN A網關,對LAN B來說是LAN B網關.
                DSTGW=192.168.2.254,目的地網關的IP地址.對LAN A來說是LAN B網關,對LAN B來說是LAN A網關.
                SRCNET=192.168.1.0/24,爲IPsec連接指定源網絡,在這個例子中則是LAN A的網絡區間.
                DSTNET=192.168.2.0/24,爲IPsec連接指定目的地網絡,在這個例子中則是LAN B的網絡區間.
                DST=X.X.X.X,LAN B的可以公開訪問的IP地址.
        下面的例子是事先選好的共享密鑰文件的內容,該文件叫/etc/sysconfig/network-scripts/keys-ipsecX(其中X對LAN A來說是0, 對LAN B來說是1).A和B兩個網絡都用這個密鑰來相互驗證,而且這個文件的內容在A和B處應該完全一致,只有根用戶纔有讀取和寫入的權限.
                IKE_PSK=r3dh4tl1nux
        下面的例子顯示IPsec連接的/etc/racoon/racoon.conf配置文件內容.注意該文件的最下面一行即include是自動生成的,而且只有在IPsec隧道運行時才顯示.
                path include "/etc/racoon";
                path pre_shared_key "/etc/racoon/psk.txt";
                path certificate "/etc/racoon/certs";
 
                sainfo anonymous
                {
                        pfs_group 2;
                        lifetime time 1 hour ;
                        encryption_algorithm 3des, blowfish 448, rijndael ;
                        authentication_algorithm hmac_sha1, hmac_md5 ;
                        compression_algorithm deflate ;
                }
                include "/etc/racoon/X.X.X.X.conf"
        下面是連接到遠程網絡的具體配置,該文件叫作X.X.X.X.conf(其中X.X.X.X是遠程IPsec路由器的IP地址).注意該文件是IPsec隧道被激活時自動生成的,而且無法直接對其進行編輯.
                remote X.X.X.X
                {
                        exchange_mode aggressive, main;
                        my_identifier address;
                        proposal {
                                encryption_algorithm 3des;
                                hash_algorithm sha1;
                                authentication_method pre_shared_key;
                                dh_group 2 ;
                        }
                }
        在啓動IPsec連接之前,內核中IP轉發功能應該被啓動.要啓動IP轉發功能,可以編輯/etc/sysctl.conf並設定net.ipv4.ip_forward爲1,並用sysctl -p /etc/sysctl.conf使這一改變生效.
        要啓動IPsec連接,請在各個路由器上使用下面的命令:
                /sbin/ifup ipsec0
        連接被激活,LAN A和LAN B便可以相互交流了,因爲在IPsec連接上運行ifup時路徑就通過初始化腳本被自動生成.要想顯示該網絡的路徑列表,請用下面的命令:
                /sbin/ip route list
        要測試IPsec連接,在外選路(externally-routable)設備(這個例子裏即eth0)上運行tcpdump程序來查看網絡數據包在主機(網絡)之間的傳輸,以及驗證其傳輸是通過IPsec加密的.
        例如,要檢查LAN A的IPsec連通性,使用下面的命令:
                tcpdump -n -i eth0 host lana.example.com
        這個數據包應該包括一個AH主題,並顯示爲ESP數據包,其中,ESP意味着是加密的.
        4.4.啓動和中止IPsec連接
        如果IPsec連接的配置不是在電腦啓動就激活,你可以從命令行中啓動.
        要啓動連接,如果是主機到主機IPsec連接,就在各個主機上運行下面的命令,如果是網絡到網絡IPsec連接,就在各個IPsec路由器上運行下面的命令:
                /sbin/ifup <nickname>,<nickname>是先前配置的名稱,比如像ipsec0.
        要中止連接,運行下面的命令:
                /sbin/ifdown <nickname>

5.撥號接口
        如果你通過撥號來連接互聯網,這個接口必需有一個配置文件.
        PPP接口文件採用下列格式來命名:
                ifcfg-ppp<X>
        當使用wvdial,網絡管理工具或者Kppp來創建撥號帳號,PPP接口配置文件會自動創建.您也可以手工創建和編輯這個文件.
        下面是一個典型的ppp文件實例:
                DEVICE=ppp0
                NAME=test
                WVDIALSECT=test
                MODEMPORT=/dev/modem
                LINESPEED=115200
                PAPNAME=test
                USERCTL=true
                ONBOOT=no
                PERSIST=no
                DEFROUTE=yes
                PEERDNS=yes
                DEMAND=no
                IDLETIMEOUT=600
        Serial Line Internet Protocol(SLIP)是另一個撥號接口,儘管用的比較少.它的配置文件名類似於ifcfg-sl0.
        可以在這些文件裏使用的其他選項包括:
                DEFROUTE=<answer>,<answer>是以下值中的一個:
                        yes,設置這個接口作爲默認路由.
                        no,不讓這個接口作爲默認路由.
  DEMAND=<answer>,<answer>是如下值中的一個:
                        yes,允許pppd發起連接.
                        no,必須手動連接.
                IDLETIMEOUT=<value>,<value>是允許空閒的秒數,超過這個時間會自動斷開連接.
                INITSTRING=<string>,<string>是modem所需的初始字符串,這通常用在與SLIP結合的端口上.
                LINESPEED=<value>,<value>是設備的波特率,可選值包括57600,38400,19200,9600.
                MODEMPORT=<device>,<device>是用來建立連接的串口設備的名字.
                MTU=<value>,<value>用來設置接口的最大傳輸單元(Maximum Transfer Unit)(MTU).
                NAME=<name>,<name>指拔號連接的名字.
                PAPNAME=<name>,<name>是指與遠程系統發生PAP(Password Authentication Protocol)交換時的用戶名.
                PERSIST=<answer>,<answer>是如下值中的一個:
                        yes,始終保持連接.
                        no,不用始終保持連接.
                REMIP=<address>,<address>指遠程系統的IP地址,這通常不用指定.
                WVDIALSECT=<name>,<name>指與/etc/wvdial.conf關聯的名字.

6.其它接口
        其它常用的配置文件如下:
                ifcfg-lo,本地loopback interface通常用來測試, 有時候也被一些需要指向自身地址的應用程序裏所使用. 所有發送到迴路設備的數據都會馬上被回送到主機的網絡層.
                ifcfg-irlan0,infrared interface允許設備之間的信息,如筆記本和打印機,通過紅外連接進行交換.這和以太設備很相似,只不過紅外連接通常是點對點的連接.
                ifcfg-plip0,Parallel Line Interface Protocol(PLIP)連接和以太設備幾乎一樣,只不過它是使用並行接口罷了.
                ifcfg-tr0,Token Ring拓撲結構不像Local Area Networks(LANs)那麼常見,它已經逐漸被以太網替代了.

7.配置控制腳本
        接口控制腳本激活和終止系統接口.在/etc/sysconfig/network-scripts/目錄下有兩個主要的調用控制腳本的接口控制腳本:/sbin/ifdown和/sbin/ifup.
        接口腳本ifup和ifdown都是/sbin/目錄下腳本的鏈接. 其中一個被調用的時候, 都需要指定的接口的值, 如:
                ifup eth0
        /etc/rc.d/init.d/functions和/etc/sysconfig/network-scripts/network-functions用作在啓動網絡接口時的初始化.當確認接口已經被指定而且用戶被允許控制這個接口, 適當的腳本就會啓動或停止接口.下面是一些在/etc/sysconfig/network-scripts/目錄下的常見接口控制腳本.
                ifup-aliases,當有多個IP接口聯接到同一接口時,可以在接口配置文件裏配置IP別名.
                ifup-ippp和ifdown-ippp,啓動和停止ISDN接口.
                ifup-ipsec和ifdown-ipsec,啓動和停止IPsec接口.
                ifup-ipv6和ifdown-ipv6,啓動和停止IPv6接口.
                ifup-ipx,啓動IPX接口.
                ifup-plip,啓動PLIP接口.
                ifup-plusb,啓動用於網絡連接的USB接口.
                ifup-post和ifdown-post,包含在接口已經啓動或停止後執行的命令.
                ifup-ppp和ifdown-ppp,啓動或停止PPP接口.
                ifup-routes,當設備接口被啓動後加入靜態路由.
                ifup-sit和ifdown-site,包括在IPv4連接裏啓動和停止IPv6管道的功能調用.
                ifup-sl和ifdown-sl,啓動和停止SLIP接口.
                ifup-wireless,啓動一個無線接口.
        注:刪除和修改/etc/sysconfig/network-scripts/目錄下的腳本會導致接口連接不正常工作.只有高級用戶纔可以修改網絡接口腳本.
        同時操作所有網絡腳本最簡單的方法就是使用/sbin/service在網絡服務(/etc/rc.d/init.d/network)裏的命令,如下所示:
                /sbin/service network <action>
        在這裏,<action>可以是start, stop或restart.
        可以使用下列命令來查看已經配置好的設備和激活的網絡接口:
                /sbin/service network status

8.配置靜態路由
        因爲將在路由設備中配置路由,所以無需在紅帽企業版Linux服務器或者客戶端中配置靜態路由.但如果需要靜態路由,可以爲每個接口單獨配置.這在不同的子網有多個接口時很有用.可使用route命令顯示IP路由表.
        靜態路由配置保存在/etc/sysconfig/network-scripts/route-interface文件中.例如:eth0接口的靜態路由是保存在/etc/sysconfig/network-scripts/route-eth0文件中.route-interface 文件有兩種格式:IP命令參數和網絡/子網掩碼指令.
        IP命令參數格式如下:
                default X.X.X.X dev interface,X.X.X.X是默認網關IP地址.interface是已連接到默認網關或者可連接到默認網關的接口.
                X.X.X.X/X via X.X.X.X dev interface,X.X.X.X/X是網絡號和靜態路由的子網掩碼.X.X.X.X和interface分別是默認網關的IP地址和接口.X.X.X.X地址不一定是默認網關的IP地址.在大多數情況下,X.X.X.X會是不同子網下的IP地址,而interface將是已經連接到或者可以連接到那個子網的接口.可根據要求任意添加靜態路由.
        以下是使用IP命令參數格式的route-eth0文件示例.默認網關爲192.168.0.1,接口eth0.兩個靜態路由分別針對10.10.10.0/24和172.16.1.0/24網絡:
                default 192.168.0.1 dev eth0
                10.10.10.0/24 via 192.168.0.1 dev eth0
                172.16.1.0/24 via 192.168.0.1 dev eth0
        應該只能爲其它子網配置靜態路由.以上示例並不是必須的配置文件,因爲流向網絡10.10.10.0/24和172.16.1.0/24的數據包會使用默認網關.下面是在位於192.168.0.0/24子網的機器中將靜態路由設定到不同子網的配置示例.示例機器在192.168.0.0/24子網中有eth0接口,在10.10.10.0/24子網中有eth1接口:
                10.10.10.0/24 via 10.10.10.1 dev eth1
        如果已經從DHCP分配了默認網關,IP命令參數格式會在啓動或者使用ifup命令將接口開啓時造成一個或者兩個錯誤:"RTNETLINK answers: File exists" 或者 'Error: either "to" is a duplicate, or "X.X.X.X" is a garbage.',其中 X.X.X.X 是網關或者不同的IP地址.這些錯誤還會在您使用默認網關路由到另一個網絡時發生.這兩個錯誤都無傷大雅,可被忽略.
        網絡/子網掩碼指令格式如下:
                ADDRESS0=X.X.X.X
                NETMASK0=X.X.X.X
                GATEWAY0=X.X.X.X
        ADDRESS0=X.X.X.X是靜態路由的網絡號.
        NETMASK0=X.X.X.X是ADDRESS0=X.X.X.X定義的網絡號的子網掩碼.
        GATEWAY0=X.X.X.X是默認網關或者可用來連接到ADDRESS0=X.X.X.X的IP地址.
        以下是使用網絡/子網掩碼指令格式的route-eth0文件示例.默認網關爲192.168.0.1,接口eth0.兩個靜態路由分別針對10.10.10.0/24和172.16.1.0/24網絡.但如前所述,這個示例並不是必要的,因爲10.10.10.0/24和172.16.1.0/24網絡還是會使用默認網關:
                ADDRESS0=10.10.10.0
                NETMASK0=255.255.255.0
                GATEWAY0=192.168.0.1
                ADDRESS1=172.16.1.0
                NETMASK1=255.255.255.0
                GATEWAY1=192.168.0.1
        之後的靜態路由必須按順序編號,且不可跳過任何數值.例如:ADDRESS0,ADDRESS1,ADDRESS2等等.
        以下是在位於192.168.0.0/24子網的機器中將靜態路由設定到不同子網的示例.示例機器在192.168.0.0/24子網中有eth0接口,而在10.10.10.0/24子網中有eth1接口.
                ADDRESS0=10.10.10.0
                NETMASK0=255.255.255.0
                GATEWAY0=10.10.10.1
        DHCP應該會自動分配這些設定,因此不需要在紅帽企業版Linux服務器或者客戶端中配置靜態路由.

9.網絡功能文件
        紅帽企業Linux使用了幾個包含啓動和停止接口的重要常用功能的文件.這些功能分列在多個文件裏,而不只是單一的接口控制文件.
        文件/etc/sysconfig/network-scripts/network-functions包含了最常用的IPv4功能,這些功能被許多接口控制腳本所採用.這些功能包括獲取接口狀態變化的信息,設置主機名,尋找網關設備,探測指定設備是否運行,增加缺省路由等等.
        因爲IPv6接口需要的功能和IPv4不一樣,文件/etc/sysconfig/network-scripts/network-functions-ipv6被用來記錄這些不同的信息.這個文件裏的功能配置和刪除IPv6的靜態路由,建立和刪除管道,增加和刪除接口的IPv6地址,以及測試接口上的IPv6地址是否存在.

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