小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

NAT HowTo 簡體中文

 農(nóng)夫子oice 2007-04-28

Linux 2.4 NAT HOWTO 簡體中文版

Rusty Russell, mailing list netfilter@lists.
$Revision: 1.3 $ $Date: 2002/06/05 13:21:56 $
簡體中文:洋鬼鬼·NetSnake
感謝 網(wǎng)中人netmanforever@yahoo.com 提供的繁體參照

此文檔說明如何進行偽裝、透明代理、端口轉(zhuǎn)發(fā),和基于Linux 2.4內(nèi)核其他類型的 網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translations)。
1. 簡介
2. 官方站點及列表
2.1 什么是NAT?
2.2 我為什么需要NAT?
3. NAT的兩種類型
4. 從2.0和2.2內(nèi)核的快速轉(zhuǎn)換
4.1 我只想偽裝!救命!
4.2 關(guān)于ipmasqadm
5. NAT可以控制什么
5.1 用iptables做簡單的選擇
5.2 關(guān)于應(yīng)當挑選哪些包來拆分(mangle)的要點
6. 說說如何拆分包吧
6.1 源地址NAT
6.1.1 偽裝
6.2 目的地址NAT
6.2.1 重定向
6.3 深層次的映射
6.3.1 一個范圍內(nèi)多地址的選擇
6.3.2 建立空的NAT映射
6.3.3 標準NAT行為
6.3.4 內(nèi)部源端口映射
6.3.5 如果NAT失敗會怎樣?
6.3.6 多重映射,重疊和沖突
6.3.7 修改本地生成的連接的目標地址
7. 特定的協(xié)議
8. 關(guān)于NAT的警告
9. 源地址NAT和選路
10. 同一網(wǎng)絡(luò)內(nèi)的目標地址NAT
11. 感謝
1. 簡介
歡迎,親愛的讀者。
你將要深入迷人的(有時是令人厭煩的)NAT世界:網(wǎng)絡(luò)地址轉(zhuǎn)換,這篇HOWTO可以成為你的Linux2.4內(nèi)核及其以后的準確指南。
在Linux2.4(內(nèi)核版本),引入了一個叫“netfilter”的部分,專門用于拆分(mangling) (IP)包的。他上一層提供NAT,是完全依靠以前的內(nèi)核制作的。
(譯者注:mangle實在找不出什么合適的翻譯,抱歉)
(C) 2000 Paul `Rusty‘ Russell. Licensed under the GNU GPL.

2、 官方站點及列表位置
這里有三個官方站點:
o Thanks to Filewatcher http://netfilter./.
o Thanks to The Samba Team and SGI http://netfilter./.
o Thanks to Harald Welte http://netfilter./.
你可以通過以下站點訪問全部相關(guān)站點。
http://www./ and http://www./
以下是netfilter官方郵件列表
http://www./contact.html#list.

2、1 什么是網(wǎng)絡(luò)地址轉(zhuǎn)換(Network Address Translation)?
通常,,網(wǎng)絡(luò)中的(IP)包從他們的源(地址)出發(fā)(比如你家的電腦),到他們的目的地(比如www.),會經(jīng)過很多不同的連接(links):例如我所在澳大利亞就有19個。這些連接不會真去修改你的包:他們只是照原樣傳出去。
(譯者注:這里的links應(yīng)當認為是所有網(wǎng)絡(luò)節(jié)點,包括主機、路由器等。通常,路由器并不是原樣傳送包,它至少會修改其中一點:TTL)
如果這些連接有一個做NAT,那么它(們)就會修改通過它們的包的源或者目標(地址)。正如你猜象的那樣,這并非系統(tǒng)設(shè)計成那樣的,而是NAT做了一些事情。通常進行NAT的連接(主機、服務(wù)器、路由器)會記住它是如何拆分包的,而當另一頭響應(yīng)的包通過時,它會對響應(yīng)的包做相反的拆分,所以世界仍在運轉(zhuǎn)。
(譯者注:這一段的mangle應(yīng)該想象為修改更合適)

2、2 我為什么要NAT?
在完美的世界里,你不需要。同時,主要的理由是:
用調(diào)制解調(diào)器連接Internet
在你撥號上網(wǎng)時,大部分ISP只會給你一個IP地址,你可以發(fā)送你想發(fā)送的任何源地址包,但是只有響應(yīng)這個(ISP給你的)地址的包才會返回。如果這種情況下你想有多臺不同的機器上網(wǎng)(比如一個家庭網(wǎng)絡(luò)),你就需要NAT。
這是現(xiàn)在NAT用得最多的功能,Linux世界的"masquerading"(偽裝)非常出名,我稱之為SNAT(SNAT即Source NAT,源地址轉(zhuǎn)換),因為你改變了第一個包的源地址。
(譯者:關(guān)于IP數(shù)據(jù)報的第一個包等內(nèi)容,請參見各TCP/IP書籍)
多(重)服務(wù)器
有時你想改變進入網(wǎng)絡(luò)中的包的目標地址(路由)。經(jīng)常的,這是因為(就像上面的例子),你只有一個IP地址,但是你希望大家可以通過到那個“真實”的IP地址進入內(nèi)部。如果你重寫了進入包的目標地址,這樣就沒問題了。這種NAT在以前的Linux版本中被稱為端口轉(zhuǎn)發(fā)。
一個常見的變種是負載均衡,在一組機器上做映射。如果你要進行嚴格的比例限制, 可能需要參考Linux Virtual Server。http:///
透明代理
有時你可能想要經(jīng)過你的Linux的包被送往本機的一個程序。這就需要用到透明代理了:代理是位于你的網(wǎng)絡(luò)和外部世界之間的一個程序,幫助二者進行通信。之所以稱為透明,是你的網(wǎng)絡(luò)根本不知道他在和代理交談,當然直到代理沒有正常工作。
Squid可以配置為干這項工作,在以前Linux版本中它被稱作重定向或者透明代理。

3、 NAT的兩種類型
我把NAT分為兩種不同的類型:源NAT(SNAT)和目標NAT(DNAT)。(譯者注:以下不再翻譯SNAT和DNAT,直接用Source NAT和Destination NAT)
Source NAT是指修改第一個包的源地址:也就是說,改變連接的來源地。Source NAT會在包送出之前的最后一刻做好post-routing(動作),偽裝是SNAT的一種特殊形式。
Destination NAT 是指修改第一個包的目標地址:也就是說,改變連接的目的地。Destination NAT 總是在包進入以后(馬上)進行before routing(動作)。端口轉(zhuǎn)發(fā)、負載均衡和透明代理都屬于DNAT。

4、 從2.0和2.2內(nèi)核的快速轉(zhuǎn)換
如果你還在為從2.0(ipfwadm)到2.2(ipchains)的轉(zhuǎn)換手忙腳亂的話,很抱歉。不過這也算是個喜憂半?yún)⒌南ⅰ?/td>
首先,你可以輕松的使用ipchains和ipfwadm,就像從前一樣。不過你需要安裝最新發(fā)布的netfilter中的“ipchains.o”或者“ipfwadm.o”內(nèi)核模塊。它們是互斥的(你會被警告),而且不能和任何其他netfilter模塊結(jié)合。
一旦這其中某個模塊被載入,你可以像以前一樣使用ipchains和ipfwadm,不過仍有以下區(qū)別:
用ipchains -M -S,或者用ipfwadm -M -s設(shè)置偽裝超時不再有效。因為超時已經(jīng)轉(zhuǎn)移到新的NAT構(gòu)架中,所以這不能做任何事。
在詳細的偽裝列表中,init_seq、delta和previous_delat字段始終為零。
歸零和列表計數(shù)器的 -Z -L不再有效:計數(shù)器不能被歸零。
這類向后兼容的部分可能和大部分連接都不能有效配合:不要在你的公司網(wǎng)關(guān)中使用
開發(fā)者們還要注意:
無論是否使用偽裝,現(xiàn)在可以綁定61000 - 65095之間的端口。以前的偽裝代碼占用了這部分端口,因此不能使用。
尚未成文的“getsockname”,透明代理程序可以用來發(fā)現(xiàn)那些已不再工作的連接的真實目的地址。
尚未成文的“bind-to-foreign-address”同樣還未啟用:這個用于完整透明代理的設(shè)想。

4、1 我只想偽裝!救命!
這是絕大部分人想要的。如果你用PPP撥號上網(wǎng)來動態(tài)得到IP (如果你不知道,那應(yīng)該就是的)你可能只想告訴你的機器,所有來自內(nèi)部網(wǎng)絡(luò)的包,要看上去同PPP連接服務(wù)器上的包一樣。
# 裝載NAT模塊(這取代了其他的)
modprobe iptable_nat
# 在NAT表中(-t nat),路由后 POSTROUTING 加入一條規(guī)則(-A)
# 所有由ppp0送出的包(-o ppp0) 會被偽裝( -j MASQUERADE)。
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE
# 開啟IP轉(zhuǎn)發(fā)
echo 1 > /proc/sys/net/ipv4/ip_forward
注意這時你沒有做任何的包過濾:如果需要,參見 the Packet Filtering HOWTO。

4、2 那么ipmasqadm呢?
這個完全取決于用戶,所以我不擔(dān)心向后兼容的問題。你可以簡單的使用“iptables -t nat”做端口轉(zhuǎn)發(fā)。例如,在Linux2.2你要做:
# 在2.2內(nèi)核,把指向1.2.3.4 8080端口的TCP包轉(zhuǎn)到192.168.1.1的80端口
ipmasqadm portfw -a -P tcp -L 1.2.3.4 8080 -R 192.168.1.1 80
現(xiàn)在你可以這樣:
# 2.4內(nèi)核,在NAT(-t nat)表中加入一條規(guī)則,在路由之前(-A PREROUTING)指向
# 1.2.3.4(-d 1.2.3.4)8080端口(--dport 8080)的TCP包(-p tcp)目標地址(-j DNAT)
# 被重定向到 192.168.1.1的80端口(--to 192.168.1.1:80)。
iptables -A PREROUTING -t nat -p tcp -d 1.2.3.4 --dport 8080 -j DNAT --to 192.168.1.1:80

5、NAT可以控制什么
你需要創(chuàng)建NAT規(guī)則,以告訴內(nèi)核哪些連接將被改變和如何改變。要做到這一點,我們要用到一個用處很多的iptables工具,并告訴它用指定的“-t nat”選項修改NAT表。
NAT規(guī)則表包含三個稱為“鏈”的列表:每個規(guī)則都按順序檢查包,直到有一個匹配。其中兩個被稱為PREROUTING(用于Destination NAT,當包進入時檢查),POSTROUTING(用于Source NAT,包離開時檢查),第三個叫OUTPUT,這里可以忽略。
如果我有足夠的藝術(shù)天分的話,下面的見圖會準確的說明上述概念:
          _____                                     _____
            /     \                                   /                 PREROUTING -->[Routing ]----------------->POSTROUTING----->
            \D-NAT/     [Decision]                    \S-NAT/
            |                            ^
            |                            |
            |                            |
            |                            |
            |                            |
            |                            |
            |                            |
            --------> Local Process ------
上述每一點,當我們查看連接(中)的包時,如果是一個新的連接,我們查看 NAT表中相對應(yīng)的鏈,看看需要做些什么。其結(jié)果就會作為對這個連接后面所有包 的反應(yīng)。
(譯者注:此處的連接是指一個HTTP會話之類的連接,而非物理上的線路、節(jié)點)

5、1 用iptables做簡單的選擇
下面列出了iptables的一些標準選項。所有雙橫杠(--)的選項都是可以縮寫的。只要iptables可以將它們與其他選項區(qū)分開來就夠了。如果你的內(nèi)核是以模塊方式支持iptables的,你需要先用命令:insmod ip_tables來加載ip_tables.o
這是最重要的選項表格選擇,“-t”。對所有NAT操作,你都需要使用‘-t nat‘以指定NAT表。其次重要的是‘-A‘,添加一個新的規(guī)則到鏈的末尾(例如‘-A POSTROUTING‘到POSTROUTING鏈),或者‘-I‘從最開始插入一個規(guī)則(例如‘-I PREROUTING‘)。
你可以指定你想要進行NAT的包的源(地址)(‘-s‘ 或者‘--source‘)和目的(地址)(‘-d‘ 或 ‘--destination‘)。這兩個選項可以跟單個IP地址(例如192.168.1.1),一個名字(例如www.),或者一個網(wǎng)絡(luò)地址(例如192.168.1.0/24或192.168.1.0/255.255.255.0[譯者:這二者是等價的,只是表示方法不同])。
你可以指定進入或送出的匹配接口。不過能否指定取決于你想要寫入規(guī)則的那個鏈:PREROUTING鏈你只能選擇進入接口,POSTROUTING你只能選擇送出接口。如果用錯了,iptables會給出一個錯誤。

5、2 關(guān)于應(yīng)當挑選哪些包來拆分(mangle)的要點
我上面說了你可以指定源地址和目標地址。如果忽略源地址選項,那么所有源地址都會被匹配,同樣,如果忽略目標地址,所有目標地址都將被匹配。
你還可以標出一個指定的協(xié)議(‘-p‘或‘--protocol‘),諸如TCP或者UDP;那么只有這類協(xié)議的包會被匹配。這么做的主要原因是指定了協(xié)議,就可以增加額外的選項:指定‘--source-port‘源端口和‘--destination-port‘目的端口選項(可縮寫為‘-sport‘和‘-dport‘)。
這些選項讓你可以只匹配那些特定源端口及目標端口的包。這些對于重定向Web請求(TCP 80或8080端口)而不影響其他包非常有用。
這些選項必須跟在‘-p‘選項后面(這可能會對加載該協(xié)議的連接庫有一定影響)。你可以使用端口號,或者來自/etc/serverices文件的(端口)名。
所有這些你可以對一個包作出的不同選擇都詳細的列在那詳細得可怕的使用手冊中了(man iptables)。(譯者注:參見iptables man page中文版

6、說說如何拆分包吧
現(xiàn)在我們知道如何選擇我們想要拆分的包了。為完成我們的規(guī)則,我們需要準確的告訴內(nèi)核我們想要它如何做。

6、1 Source NAT
你想要進行Source NAT,改變連接的源地址。這在POSTROUIING鏈中完成,就在它將送出去的最后一刻。這是一個重要的細節(jié),所有Linux本機上的其他任何東西(路由、包過濾)都會看見那個尚未改變的包。也意味著‘-o‘(送出接口)選項可用了。
用指定‘-j SNAT‘來進行Source NAT,‘--to-source‘選項指定一個或一段IP地址,(加上)一個或一段可選的端口號(只能用于UDP和TCP協(xié)議)。
# 改變源地址為1.2.3.4
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4
# 改變源地址為1.2.3.4、1.2.3.5或者1.2.3.6
# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 1.2.3.4-1.2.3.6
# 改變源地址為1.2.3.4,端口1-1023
# iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to 1.2.3.4:1-1023

6、1、1 偽裝
Source NAT的一個特例被稱作偽裝。它只能被用于動態(tài)分配IP地址的情況。例如標準撥號服務(wù)(靜態(tài)IP地址請用SNAT)。
你無需為IP偽裝明確指定源地址。它會使用包送出的那個接口(地址)作為源地址。不過更重要的是,如果那個線路關(guān)閉了的話,連接(無論如何都會丟失了)會被忘掉,意味著啟用新的IP后返回的包就會有點問題了(指那些響應(yīng)掉線前發(fā)出的包的包)。
# 偽裝所有由ppp0送出的東西
# iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

6、2 Destination NAT
用于PREROUTING鏈,包剛剛進入的時候。意味著本機上的任何東西看見的都是“真正”的目的地(譯者注:即已修改過的目的地址)。也意味著‘-i‘(進入接口)可用了。
用指定‘-j DNAT‘來進行Destination NAT,‘--to-destination‘選項指定定一個或一段IP地址,(加上)一個或一段可選的端口號(只能用于UDP和TCP協(xié)議)。
# 改變目標地址為5.6.7.8
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8
# 改變目標地址為5.6.7.8、5.6.7.9或5.6.7.10
# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to 5.6.7.8-5.6.7.10
# 改變Web傳送的目標地址為5.6.7.8,8080端口
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 5.6.7.8:8080

6、2、1 重定向
Destination NAT的一個特例被稱為重定向。它相當于對進入接口進行DNAT的簡單方便的一種形式。
# 發(fā)送進入的80端口的Web傳輸?shù)轿覀兊腟quid(透明)代理
# iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
注意Squid需要被配置為透明代理。

6、3 深層次的映射
還有一些可能大部分人不會用到的NAT的細節(jié)。

6、3、1 一個范圍內(nèi)多地址的選擇
如果指定了IP地址的范圍,那么機器會選擇當前使用最少的那個IP地址。這就實現(xiàn)了最儉樸的負載均衡。

6、3、2 建立空的NAT映射。
你可以使用 ‘-j ACCEPT‘ 目標讓連接通過,不需要NAT參與。

6、3、3 標準NAT行為
默認行為是根據(jù)用戶給定的內(nèi)在約束規(guī)則,對連接作最小的改動。也就是除非必要 不要進行端口重映射。

6、3、4 內(nèi)部源端口映射
如果其他的連接覆蓋了一個連接,即使這個連接不需要使用NAT,源地址轉(zhuǎn)換仍會發(fā)生。考慮IP偽裝,這種情況就非常普遍。
1、一個從192.168.1.1 1024端口到www.netscape.com 80端口的Web連接已建立
2、它被偽裝成IP偽裝服務(wù)器的IP地址(1.2.3.4)
3、IP偽裝服務(wù)器試圖建立一個從www.netscape.com 80端口到1.2.3.4 1024端口的Web連接(它自己的外部接口IP地址)
4、NAT代碼會修改第二個連接的源地址到1025,這樣兩個(連接)就不會沖突了。
當這種內(nèi)部源地址映射發(fā)生時,端口分為三級:
512以下的端口
512至1023之間的端口
1024以上的端口
內(nèi)部端口映射決不會被映射到(除此之外的)其他種類。

6、3、5 如果NAT失敗會怎樣?
如果無法按照用戶請求的那樣,為連接建一個單獨的映射,(包)會被刪除。這也適用于那些無法被歸為任何連接的包,因為它們是畸形的,或者是主機內(nèi)存溢出了。

6、3、6 多重映射,重疊和沖突
你的NAT規(guī)則可以把包映射到相同的范圍。NAT代碼聰明到可以避免它們的沖突。因此,兩條規(guī)則把192.168.1.1和192.168.1.2的源地址映射都映射到1.2.3.4是沒有問題的。
而且,你可以映射到真實的、已在使用的IP地址,只要那些地址也通過這個服務(wù)器。所以如果你分配到一個網(wǎng)絡(luò)(1.2.3.0/24),但有一個內(nèi)部網(wǎng)絡(luò)使用了這些地址,另一個使用的是私有地址192.168.1.0/24,你可以簡單的NAT 192.168.1.0/24的源地址 到1.2.3.0網(wǎng)絡(luò),不必擔(dān)心沖突。
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0/24
相同的邏輯也適用于NAT服務(wù)器本身的地址。這就是得以偽裝工作的原因(由偽裝后的包和來自本身的“真實”的包共享一個接口地址)。
甚至,你可以映射相同的包到許多不同的目標,它們會被共享。例如,如果你不希望映射任何東西到1.2.3.5,你可以這樣做:
# iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o eth1 -j SNAT --to 1.2.3.0-1.2.3.4 --to 1.2.3.6-1.2.3.254

6、3、7 修改本地生成的連接的目標地址
NAT代碼允許你插入DNAT規(guī)則到OUTPUT鏈,不過這在2.4中尚未完全支持(可以使用,但必須用新的配置選項,某些測試中的代碼。所以除非有人在瘋狂的寫這部分代碼,我不相信它會很快實現(xiàn))。
當前的限制是你只能修改目標地址到本機(例如‘-j DNAT --to 127.0.0.1‘), 不能到任何其他機器,否則相應(yīng)可能不能夠被正確轉(zhuǎn)換。

7、 特定的協(xié)議
有些協(xié)議不希望被NAT。這些協(xié)議,兩種延伸必須指明:一個是協(xié)議的連接跟蹤,一個是真實NAT。
在發(fā)布的netfilter中,有可用的FTP模塊:ip_conntrack_ftp.o和ip_nat_ftp.o。如果你加載了任一種模塊到你的內(nèi)核(或者編譯進去),那么任何關(guān)于FTP連接的NAT都是可行的。如果沒有,那么只能使用被動FTP(passive ftp),而且如果做了一些Source NAT,它(指FTP)也許不能可靠的工作。

8、 關(guān)于NAT的警告
如果你對連接做NAT,所有雙向傳送的包(進入和送出網(wǎng)絡(luò)的)必須通過NAT服務(wù)器,否則NAT服務(wù)器的工作可能不可靠。特別是,連接跟蹤代碼重組了分片,也就意味著不光是連接跟蹤不能可靠工作,甚至所有包都無法通過,因為分片被丟棄。

9、 Source NAT 和路由
如果你要做SNAT,你必須注意所有機器被SNAT的包的回應(yīng)都將發(fā)送到NAT服務(wù)器。例如,如果你映射了一些送出的包的源地址為1.2.3.4,那么外部的路由器必須知道發(fā)送回應(yīng)包的地址到NAT服務(wù)器??梢赃@樣做:
1、如果你對本機地址做SNAT(路由等所有事情都正常),你不需要做任何事。
2、如果你在本地LAN上做SNAT到未用地址(例如,你映射為1.2.3.99,你的1.2.3.0/24網(wǎng)絡(luò)中未用的IP),你的NAT服務(wù)器需要像那個地址(99)一樣正確響應(yīng)ARP請求。最簡單的辦法是建立一個IP別名,例如:
# ip address add 1.2.3.99 dev eth0
3、如果你對完全不同的地址做SNAT,你必須保證被SNAT的包到達的機器會返回NAT服務(wù)器。如果NAT服務(wù)器是它們的默認網(wǎng)關(guān),那么就已經(jīng)行了,否則你需要發(fā)布一個路由(如果運行了路由協(xié)議)或者對每個機器手工添加路由。

10、 同一個網(wǎng)絡(luò)內(nèi)的Destination NAT。
如果你要對同一個網(wǎng)絡(luò)做端口轉(zhuǎn)發(fā),你需要確認所有以后的包和回應(yīng)包都通過NAT服務(wù)器(這樣它們才能被修改)。NAT代碼現(xiàn)在(自2.4.0-test6),會屏蔽掉同組的被NAT的包送出的ICMP重定向,不過收到的服務(wù)器會繼續(xù)嘗試直接響應(yīng)客戶。(不會理解這個回應(yīng))
經(jīng)典的情況是,內(nèi)部人員試圖訪問你的“公用”Web服務(wù)器,而它實際上從公用地址(1.2.3.4)被DNAT到內(nèi)部機器(192.168.1.1),例如:
# iptables -t nat -A PREROUTING -d 1.2.3.4 -p tcp --dport 80 -j DNAT --to 192.168.1.1
一種辦法是運行一臺內(nèi)部DNS服務(wù)器,它知道你的公用(外部)Web服務(wù)器的真實的(內(nèi)部)IP地址,并轉(zhuǎn)發(fā)所有其他請求到外部DNS服務(wù)器。也就是說你的Web服務(wù)器能夠記錄真實的內(nèi)部IP地址。
另一種辦法是讓NAT服務(wù)器映射那些連接的源地址到它自己,讓服務(wù)器通過它發(fā)出響應(yīng)。例如,我們可以這樣做(假設(shè)NAT服務(wù)器內(nèi)部IP地址是192.168.1.250):
# iptables -t nat -A POSTROUTING -d 192.168.1.1 -s 192.168.1.0/24 -p tcp --dport 80 -j SNAT --to 192.168.1.250
因為PREROUTING規(guī)則會首先運行,對內(nèi)部Web服務(wù)器來說,包的去向早已確定。我們可以確定好源IP地址。

11. Thanks
Thanks first to WatchGuard, and David Bonn, who believed in the netfilter idea enough to support me while I worked on it. And to everyone else who put up with my ranting as I learnt about the ugliness of NAT, especially those who read my diary.
首先感謝在我工作期間相信netfilter設(shè)想并支持我的WatchGuard和David Bonn。以及所有對NAT提出指正的朋友,尤其是讀過了我的日記的。
Rusty.

All pages ended here.
來源: http://www./NetSnake/nathtcn.html

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多