1. 程式人生 > >基於Ubuntu閘道器配置(1)-- NAT

基於Ubuntu閘道器配置(1)-- NAT

NAT,全稱為Network Address Translation,意思是網路地址轉換,如果想讓所有的人都能夠在共有IP不足的情況下上網,就可以使用NAT功能。

一臺NAT主機一定要有兩個IP: 其中一個是和網際網路通訊的共有IP;另一個是與內部區域網通訊的私有IP。我們知道,網路上的所有資訊封包的包頭部分都含有源IP地址和目的IP地址,通過NAT主機,可以將從內部區域網發往網際網路的封包的來源IP進行更改,將其更改NAT主機的共有IP,然後NAT主機將此更改的對應關係記錄下來,這樣內部主機就可以使用共有IP上網,反過來也是一樣,從外部來的封包經過NAT主機時,NAT主機將封包的目的IP進行更改,從而使外網的主機能夠訪問內網的機器。通過使用NAT,不但節省了共有IP,而且能夠有效地解決企業共有IP不足的問題。

想要實現NAT主機功能,需要一個包含Netfilter架構的核心。Netfilter是Linux系統的一個過濾機制,具體實現的功能室iptables軟體來實現的。

Iptalbes是Linux中架設防火牆的工具,防火牆最大的功能就是能夠限制某些進入主機的資訊。對於Linux系統,防火牆主要有包過濾型和代理伺服器,本文主要包過濾型防火牆。包過濾牆主要是能夠對進出本機的網路資訊封包進行分析,如果符合某個條件就讓其通過,不符合條件就將封包丟棄,這樣能夠有效地保護主機的安全。但是包過濾型防火牆只是使用條件進行匹配,這樣可能會阻止部分有效的資訊。

iptables主要可以通過以下方式來對通過或進入的封包進行限定:

1)根據封包的協議來限定,主要有TCP,IP和ICMP協議。

2)根據封包的來源埠或目的埠來進行限定。

3)根據封包的來源IP或者是目的IP來進行限定。

4)根據封包的MAC地址進行限定。

iptables主要是由幾張表組成常用的有filter表和nat表,filter表主要是用來進行封包過濾的,而nat表主要就是用來搭建NAT主機的。每個表都分別由幾條鏈組成,而每條鏈裡就是對封包進行判斷的規則。filter表是由三條鏈組成的:INPUT鏈、OUPUT鏈、FORWARD鏈,每條鏈都有特定的功能。INPUT鏈就是對所有進入本機的封包進行控制的鏈;OUPUT鏈就是對所有由本機出去的封包進行控制的鏈;FROWARD鏈就是進行轉發封包控制鏈。每條鏈都是由很多條規則組成的,這些規則就是對封包進行判斷的條件,每個規則都會設定符合條件的行為,或者接受,或者丟棄,或者符合規則所指定的條件則很據行為進行操作。nat表包含三條鏈:PREPOSTING鏈、POSTROUTING鏈、和OUTPUT鏈,其中PREPOSTING鏈主要用於修改目的IP地址,用來配置DNAT,而POSTROUTING鏈主要可以用來修改源IP地址,用來配置SNAT。

接下來我們來看看NAT閘道器的具體配置方法:

初始狀態時,我們利用NAT主機(膝上型電腦)上的無線網絡卡作為外網出口,初始IP是通過DHCP獲得的,為192.168.1.108。

我們將內網的網路地址設定為192.168.2.0,以我們NAT主機上的有線網絡卡作為內網的閘道器,我們通過以下圖1指令將其IP地址設為192.168.2.1:


圖1

設定之後我們可見內外網網絡卡情況如下圖2:


圖2

繼而我們利用iptables指令進行NAT網路的配置,首先清除一下已設定的iptables命令,具體指令如下圖3:


 圖3

接著開啟NAT閘道器,讓資料封包能夠進入,指令如下圖4(將該條規則直接加到INPUT鏈的最後):


圖4

然後設定iptables的轉發使能,指令如下圖5:


圖5

繼而我們通過iptables設定內網對外網的通訊,使得當內網資料往外發送時,將資料包的源地址改為外網絡卡的IP地址,具體指令如下圖6:


圖6

然後,檢視一下iptables的設定情況,指令和顯示情況如下圖7:


圖7

    當看到如上最後一行的顯示錶示配置成功。最後,我們開啟ubuntu系統的IP轉發功能,具體指令如下圖8.1


圖8.1

接下來,我們設定外網對內網特定主機(192.168.2.99)的通訊設定,實驗中我們在192.168.2.99內網主機上放置了一個網頁,然後通過外網訪問該主頁成功。我們需要設定如下iptables指令:


圖8.2

至此NAT閘道器的配置完成。

接著,我們使用一臺Windows7主機接到我們的內網網絡卡(有線網絡卡)上,並將其IP地址設定為192.168.2.100如下圖9


9

然後我們在該內網主機上分別ping內網閘道器,ping外網(192.168.1.0網段)某臺主機,以及上百度主頁都能成功。具體情況如下圖10


圖10