NAT LOOPBACK DNAT - Linux

Catherine avatar
By Catherine
at 2014-02-18T14:13

Table of Contents


※ 引述《NKill (可樂戒指)》之銘言:
: 我有一台Linux ,設定 dhcp 跟 NAT
: PCA
: Linux <--->
: PCB
: Linux WAN ip 1.2.3.4
: LINUX LAN ip 192.168.1.1
: PCA ip 192.168.1.2
: PCB ip 192.168.1.3
: PCA上面裝了 http server
: AP 設定 Port Forward 到 PCA
: 我希望能從PCB 打 AP的 WAN IP 就能存取 PCA的網頁
: 1. iptables -t nat -I PREROUTING -i br0 -d 1.2.3.4 -j DNAT --to 192.168.1.2
: 2. iptables -t nat -I POSTROUTING -s 192.168.1.1/24 -o br0 -d 192.168.1.2 -j SNAT --to 192.168.1.1
: iptables -L -vn -t nat 看到 1. pkg 會增加 但是 2.pkg 不會增加
: ip_forward 1
: 請各位指點一下迷津 謝謝

我後來想一想,封包不經過 rule 2 是合理的,

因為在 PREROUTING 時,該筆連線已經記錄於 connection tracking table 裡了,

該連線之後的封包在連線追蹤機制下,都不會經過 rule 1 及 rule 2,

且,網路的區段規劃為 PCA 與 PCB 都在同一個網段中,

所以若 PCB 連線至 AP,再導向給 PCA,

封包 IP 位址的變化應為 :

PCB 送出 PCA 收到

[SRC IP: PCB/DST IP: AP] [SRC IP: PCB/DST IP: PCA]


因此,由於SRC IP: PCB 與 PCA 是同網段,

PCA 應在 ARP table 中即能得知 PCB 的 MAC/IP,

一般就不會送給 default route gateway AP,而是直接送給 PCB

但是 PCB 收到的封包位址變成這樣 [ SRC IP: PCA/DST IP: PCB ]

PCB 不會知道這個封包是原本送給 AP 的回應 [SRC IP: PCB/DST IP: AP] ,

照理說,這樣網頁應該是不會通。

應該將 PCB 與 PCA 的 IP 規劃為不同的子網路或網段。


--
Tags: Linux

All Comments

John avatar
By John
at 2014-02-23T12:47
所以是不可行?我也想知道,要不然都要依照網路環境決
定打lan ip或wan ip,覺得沒辦法一致性。
Isabella avatar
By Isabella
at 2014-02-26T08:27
所以說才有人搞出masquerade這東西啊...
Margaret avatar
By Margaret
at 2014-02-26T10:37
如果NAT是正常運作(會有port forwarding意味著正常吧?)
Barb Cronin avatar
By Barb Cronin
at 2014-02-27T12:25
那PCA收到時SRC早被GW的NAT機制替換成AP自身的內網IP了
Doris avatar
By Doris
at 2014-02-27T21:33
不過如果原原PO真的沒設masquerade就當我沒說了(默
Madame avatar
By Madame
at 2014-03-01T04:13
我認為因同網段,PCA本身Route回應封包時就會直接繞給PCB
Daniel avatar
By Daniel
at 2014-03-02T21:07
所以我覺得是不會通。
因為PCA的封包沒有先繞給AP改IP
Una avatar
By Una
at 2014-03-05T00:40
預期是會做DNAT+SNAT 然後才送出,我用比較新的 Linux測是可

ubuntu + virtualbox 調整大小

Damian avatar
By Damian
at 2014-02-17T18:13
http://www.qmo-a.com/blog/?p=2917 網誌圖文 我使用ubuntu 12.10 , 加virtual box. 一開始用預設的vdi 大小 8G。後來因為空間不足,所以resize 成50G。 也使用了gparted 將原本的 partition 拉大。但是不知道為什麼, ...

fedora 17 安裝ffmpeg的問題

Ina avatar
By Ina
at 2014-02-17T17:02
請問各位, 我在網路上查過安裝ffmpeg-devel包的方法, 大致上有兩種,第一是下載rpm檔安裝, 第二種是用yum來作。 我自己試的結果,用rpm安裝時,(ffmpeg-devel-1.2.1-59-fc17-i686.rpm) 缺少一大堆codec, 如下: 錯誤:相依性偵測失敗: ...

NAT LOOPBACK DNAT

Anthony avatar
By Anthony
at 2014-02-17T16:19
※ 引述《NKill (可樂戒指)》之銘言: : 我有一台Linux ,設定 dhcp 跟 NAT : PCA : Linux andlt;---andgt; : PCB : Linux WAN ip 1.2.3.4 : LINUX LAN ip 192.168 ...

NAT LOOPBACK DNAT

Liam avatar
By Liam
at 2014-02-17T16:04
我有一台Linux ,設定 dhcp 跟 NAT PCA Linux andlt;---andgt; PCB Linux WAN ip 1.2.3.4 LINUX LAN ip 192.168.1.1 PCA ip 192.168.1.2 PCB ip 19 ...

有類似新注音輸入法嗎(centos5.6)

Hazel avatar
By Hazel
at 2014-02-17T14:09
因為安裝系統伺服器主要為 centos5.6希望能支援到6.5, 目前主要使用gcin輸入法, 但很多客戶希望能安裝像新注音輸入法, 有上網查Hime輸入法最像, 但一直安裝失敗, 希望可以安裝簡單支援像用 .rpm可以一鍵安裝 然後用.grab覆蓋新輸入法方式 感謝啦(〒︿〒) - ...