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