
我有一台ubuntu 13.10伺服器和一個註冊網域。我的 192.168.24.1 機器上有一個 Web 伺服器,192.168.24.2 上有一個 ftp 伺服器。
使用 iptables 我想要:
1)寫的人:http://mydomainname.com將被重定向到 192.168.24.1
2)想要使用我的ftp(filezilla或輸入mydomainname的東西)的人被重定向到192.168.24.2
預先感謝您的回答!
答案1
我無法給出確切的答案,因為我不知道你的拓撲
情況1。
__________________
| |
| PC |-------|
| 192.168.24.1 | | _____________
------------------ |_____| | __________
| | ip_tables | | |
| | PC |--| router |--- internet
__________________ | | | | |
| | | ------------- ----------
| PC |-------|
| 192.168.24.2 |
------------------
在此拓撲中,您需要 iptables
案例2.
__________________
| |
| PC |-------|
| 192.168.24.1 | |
------------------ | __________
| | |
|--| router |
__________________ | | |
| | | ----------
| PC |-------|
| 192.168.24.2 |
------------------
你不需要 iptables。您需要在路由器上進行連接埠轉送。
- 連接埠 80 用於 http -> 24.1
- 連接埠 443 用於 https -> 24.1
- 連接埠20是FTP資料傳輸->24.2
- 連接埠 21 FTP 控制 -> 24.2
另外,您的路由器的 wan 介面上必須有固定的公用 IP 位址。然後你必須做dns記錄。 DNS 將邏輯名稱(又稱 mydomainname.com)解析為 IP 位址,並將 IP 位址解析為邏輯名稱。
192.168.xx範圍是IP位址的私有範圍我不能透過網路成為路由器。
交通流量為:
- 我在電腦上的瀏覽器中輸入 mydomainname.com
- PC 要求 DNS 將 mydomainname.com 解析為 ip
- 當電腦有ip時,向給定ip發送http/https請求
- Web 伺服器應答並向請求者傳送流量
IP位址規劃:
PC [private ip}
-> router with private address on LAN and public ip on WAN. Router do NAT
->internet [only public ip address
編輯2
如果您的伺服器透過 24.1 對 24.2 進行 nat,則 Fallowing 將起作用
首先要做的是啟用 IP 轉送。這可以透過使用來完成
echo "1" > /proc/sys/net/ipv4/ip_forward
或者
sysctl net.ipv4.ip_forward=1
然後,我們將新增一條規則,告訴將連接埠 21 上的流量轉送至連接埠 21 上的 ip 192.168.24.2
iptables -t nat -A PREROUTING -p tcp --dport 21 -j DNAT --to-destination 192.168.24.2:21
然後,我們將新增一條規則,告訴將連接埠 20 上的流量轉送至連接埠 20 上的 ip 192.168.24.2
iptables -t nat -A PREROUTING -p tcp --dport 20 -j DNAT --to-destination 192.168.24.2:20
最後,我們要求 IPtables 偽裝
iptables -t nat -A POSTROUTING -j MASQUERADE