看板 Network 關於我們 聯絡資訊
我網路架構如下: 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)
sssxyz:previous 02/12 13:38
sssxyz:也許對你可以有幫助?? 02/12 13:38
best6553:看來 iptable 是以 ip 為基礎,認不出封包的 hostname 02/12 14:35
best6553:解決方法似乎要透過 http proxy http://is.gd/CLHVAz 02/12 14:36
luke72:可以 去google找建漢寫的webstr模組 不過你要想辦法改 02/16 00:40
luke72:他那個是早期版本的 較新版的kernel會compile error 02/16 00:43
luke72:kernel跟iptables兩個都要加 編譯完就可以用-m呼叫了 02/16 00:47
sssxyz:底層封包並不帶有hostname這樣的資訊 只看底層想知道 02/17 19:37
sssxyz:得配合反查 hostname會帶在上層封包裡 02/17 19:39