iptables實現端口轉發、端口映射及雙向通路
iptables實現端口轉發、端口映射及雙向通路其實不難配置,只要你跟好我的腳步,看下文:
項目上線,有兩臺服務器,A在公網。linux rhel5.4,運行php開發的一個打折購物網:尚品折扣,數據庫部署到內網中,每次導入數據都要ssh到公網,然后再轉到內網。一次采集了一些服裝品牌的數據,比如,艾格的服裝資訊,優衣庫的打折,朵以的產品介紹
下面是實現過程:
允許數據包轉發:
- #echo 1 > /proc/sys/net/ipv4/ip_forward
轉發TCP 8081到xx.xx.xx.xx:
- #iptables -t nat -I PREROUTING -p tcp –dport 80 -j DNAT –to xx.xx.xx.xx
使轉發數據包實現“雙向通路”,給數據包設置一個正確的返回通道:
- #iptables -t nat -I POSTROUTING -p tcp –dport 8080 -j MASQUERADE
表示將規則保存到/etc/sysconfig/iptables文件
- #service iptables save
重啟iptables使剛才添加的規則生效
- #service iptables restart
#p#
如果執行上述命令,依然不能轉發,可能由于iptables服務沒有停止,命令無法寫入iptables文件,應先執行service iptables stop,再執行上述命令,***service iptables start再啟動服務
由于Linux防火墻默認是關閉3306端口。因此,若要能夠訪問3306端口,可以用兩種方式,一個是關閉防火墻,另一個就是讓防火墻開放3306端口。
開放3306端口的解決步驟如下:
1、修改/etc/sysconfig/iptables文件,增加如下一行:
-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT
2、重啟防火墻,這里有兩種方式重啟防火墻
a) 重啟后生效
開啟: chkconfig iptables on
關閉: chkconfig iptables off
b) 即時生效,重啟后失效
開啟: service iptables start
關閉: service iptables stop
數據庫映射成功。
通過文章的描述,相信各位都能學會了iptables實現端口轉發、端口映射及雙向通路的方法。希望對大家有幫助!
【編輯推薦】
- CentOS下配置iptables防火墻
- Centos5下安裝iptables以及layer7協議
- Centos 5.3 環境下編譯iptables
- CentOS+iptables+squid透明代理+防火墻設置
- centos IPTables 配置方法
- 創建iptables NAT 規則
- Ubuntu iptables 初始化的實現
- Ubuntu iptables 內網端口映射