作者best6553 (@.@)
看板Network
標題[問答] iptable 可否port(hostname) forwarding
時間Sun Feb 12 12:04:42 2012
我網路架構如下:
NAT
WAN IP <-------> web server 01 10.0.0.1
web server 02 10.0.0.2
我有兩個網域名 web01.xx.com 跟 web02.xx.com 對應到 WAN IP
有沒有可能在 NAT 上透過 Iptable 判斷 封包目的網址為
web01.xx.com:80 Forward 到 10.0.0.1:80
web02.xx.com:80 Forward 到 10.0.0.2:80
類似 port forwarding 但由於我希望 port 都是 80 ,所以希望可以
透過 hostname forwarding,所以試著 IPTABLE 這樣編寫
----------------------------------------------------------------------
-A PREROUTING -p tcp -m tcp -d web01.xx.com -i eth0 --dport 80 -j DNAT
--to 10.0.0.1:80
-A PREROUTING -p tcp -m tcp -d web02.xx.com -i eth0 --dport 80 -j
DNAT --to 10.0.0.2:80
----------------------------------------------------------------------
但這樣似乎不 work ,不知道各位大大有沒有其他技術可以實現?
感謝。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.42.96
※ 編輯: best6553 來自: 140.112.42.96 (02/12 13:35)
2F:→ sssxyz:previous 02/12 13:38
3F:→ sssxyz:也許對你可以有幫助?? 02/12 13:38
4F:→ best6553:看來 iptable 是以 ip 為基礎,認不出封包的 hostname 02/12 14:35
7F:推 luke72:可以 去google找建漢寫的webstr模組 不過你要想辦法改 02/16 00:40
8F:→ luke72:他那個是早期版本的 較新版的kernel會compile error 02/16 00:43
9F:→ luke72:kernel跟iptables兩個都要加 編譯完就可以用-m呼叫了 02/16 00:47
10F:推 sssxyz:底層封包並不帶有hostname這樣的資訊 只看底層想知道 02/17 19:37
11F:→ sssxyz:得配合反查 hostname會帶在上層封包裡 02/17 19:39