【文章內(nèi)容簡介】
: iptables [t table] mand [match] [target/jump] 1.限制內(nèi)網(wǎng)用戶訪問外網(wǎng) 使用的參數(shù): Filter表的 FORWARD鏈 匹配條件參數(shù): s、 –d 、 p 、 –sport和 –port。 目標(biāo): ACCEPT 或 DROP 需要提前準(zhǔn)備好如下參數(shù): ? 服務(wù)協(xié)議 (TCP/UDP) ? 對外服務(wù)的端口 ? 內(nèi)部服務(wù)的私網(wǎng) IP ? 內(nèi)部服務(wù)的服務(wù)端口 【例 29】從 ppp0接口進(jìn)來的、目標(biāo)端口是 80的數(shù)據(jù)包,將其目的地址修改為內(nèi)部服務(wù)器的私網(wǎng) IP iptables –t nat –A PREROUTING I ppp0 –p tcp –dport 80 –j DNAT –to 【例 30】從 ppp0接口進(jìn)來的、目標(biāo)端口是 90的數(shù)據(jù)包,將其目的地址修改為內(nèi)部 FTP服務(wù)器的私網(wǎng) IP :21 iptables –t nat –A PREROUTING I ppp0 –p tcp –dport 90 –j DNAT –to :21 【例 31】有若干臺計(jì)算機(jī)共享一個(gè) Inter 連接時(shí),就能用到nat,而且這也是絕大多數(shù)企業(yè)用戶所采用的 Inter互聯(lián)方案。先在內(nèi)核里打開 ip轉(zhuǎn)發(fā)功能,然后再寫一個(gè) SNAT規(guī)則,就可以把所有從本地網(wǎng)絡(luò)出去的包的源地址改為 Inter連接的地址了。 SNAT target的作用就是讓所有從本地網(wǎng)出發(fā)的包看起來都是從一臺機(jī)子發(fā)出的。 SNAT只能用在 nat表的POSTROUTING鏈里,只要連接的第一個(gè)符合條件的包被SNAT了,那么這個(gè)連接的其他所有的包都會自動(dòng)地被 SNAT,而且這個(gè)規(guī)則還會應(yīng)用于這個(gè)連接流的所有數(shù)據(jù)包。 Linux核心默認(rèn)情況是不轉(zhuǎn)發(fā)包的,即轉(zhuǎn)發(fā)標(biāo)志默認(rèn)是“ 0”,要打開核心包轉(zhuǎn)發(fā)功能,就需要把該標(biāo)志置為“ 1”,有以下幾種方法: ( 1)修改 /etc/: Controls IP Packets Forwarding = 1 // 取值為 0表示不轉(zhuǎn)發(fā) ( 2) echo “ 1” /proc/sys//ipv4/ip_forward ( 3) sysctl p /etc/ 第( 2)種方式修改后,只要重新啟動(dòng),修改的狀態(tài)就丟失了,可以把這句化加入 /etc/,每次隨系統(tǒng)自動(dòng)設(shè)置。 本例所用的網(wǎng)絡(luò)環(huán)境如圖 113所示。 R e d h a t L i n u x N a t S e r v e rI n t e r n e tP r i v a t e N e t w o r ke t h 0e t h 12 1 1 . 8 4 . 1 5 0 . 1 4 21 9 2 . 1 6 8 . 1 . 1圖 113 私有網(wǎng)絡(luò) Nat地址轉(zhuǎn)換 【例 32】在上例中進(jìn)行 SNAT的配置時(shí)需要指明一個(gè)固定的映射地址,但如果用戶的網(wǎng)絡(luò)使用的是 ADSL這種動(dòng)態(tài)獲取 IP地址的方式, SNAT就不適用了,這時(shí)只能使用 MASQUERADE(地址偽裝),在具體的處理過程中,系統(tǒng)需要讀取當(dāng)前的動(dòng)態(tài)地址,然后用當(dāng)前的地址對數(shù)據(jù)包進(jìn)行重新封裝: # iptables –A POSTROUTING –o eth0 –s –j MASQUERADE 或者 # iptables –A POSTROUTING –o eth0–s –j MASQUERADE toports 202365535 參數(shù) toports指定了映射后的源端口范圍。連接關(guān)系如圖 114所示。 R e d h a t L i n u x N a t S e r v e rI n t e r n e tP r i v a t e N e t w o r k1 9 2 . 1 6 8 . 1 . 0 / 2 4e t h 0e t h 1A D S L p p p 01 9 2 . 1 6 8 . 1 . 1圖 114 撥號上網(wǎng)動(dòng)態(tài) Nat轉(zhuǎn)換 IP6tables Netfilter支持 IPv6協(xié)議,在做各項(xiàng)設(shè)置時(shí),只要把 IPv4下的 IPtables命令替換成為 IP6tables即可。 例如:允許源 IPv6地址為 2023::1的數(shù)據(jù)包通過。 ip6tables –A INPUT – i etho –p tcp –s 2023::1 –dport 22 –j ACCEPT IP6tables并不支持 nat表,無法進(jìn)行 IPv6的網(wǎng)絡(luò)地址翻譯,比如偽裝和端口轉(zhuǎn)發(fā)等。 IP6tables的規(guī)則存放在 /etc/sysconfig/ip6tables文件中。 可以使用腳本 /etc/sysconfig/ip6tableconfig來初始化IP6table。 對 Ip6tables的操作需要安裝 iptablesipv6。如果系統(tǒng)沒有安裝,則用戶可自行下載安裝。 VPN VPN概述 虛擬專用網(wǎng)( Vitrual Private Network, VPN)是一種廣泛應(yīng)用的安全解決方案。是依靠 ISP( Inter服務(wù)提供商)和其它NSP(網(wǎng)絡(luò)服務(wù)提供商),在公用網(wǎng)絡(luò)中建立專用的數(shù)據(jù)通信網(wǎng)絡(luò)的技術(shù)。在虛擬專用網(wǎng)中,任意兩個(gè)節(jié)點(diǎn)之間的連接并沒有傳統(tǒng)專網(wǎng)所需的端到端的物理鏈路,而是利用某種公眾網(wǎng)的資源動(dòng)態(tài)組成的。 目前電信部門租用的幀中繼( Frame Relay)與 ATM等數(shù)據(jù)網(wǎng)絡(luò)提供固定虛擬線路( PVCPermanent Virtual Circuit)來連接需要通訊的單位,所有的權(quán)限掌握在通訊公司的手中。而在Inter上, VPN使用者可以控制自己與其他使用者的