iptables映射端口具體操作
通過(guò)iptables映射80端口的具體方法有兩種,我們來(lái)仔細(xì)分析下。
我在虛擬機(jī)上配置了LINUX系統(tǒng)。想通過(guò)iptables映射80端口。讓外網(wǎng)WEB可訪問(wèn)到。具體操作怎么做。
一、一個(gè)簡(jiǎn)單的應(yīng)用:我的機(jī)器IP是192.168.1.240,期望訪問(wèn)另一個(gè)局域網(wǎng)的web服務(wù)器其IP為192.168.0.109,中間有臺(tái)雙網(wǎng)卡的服務(wù)器用來(lái)做透明代理,該服務(wù)器eth0為192.168.1.2,eth1為192.168.0.2。
首先需要將到達(dá)192.168.1.2:80的包順利轉(zhuǎn)給192.168.0.109,因此有了下面的DNAT:
iptables -t nat -A PREROUTING -s 192.168.1.0/24 -d 192.168.1.2 -p tcp --dport 80 -j DNAT --to 192.168.0.109:80
乍一看這應(yīng)該沒(méi)什么問(wèn)題了,可是接下來(lái)問(wèn)題是發(fā)現(xiàn)我的包是到0.109了,可是我的機(jī)器與0.109仍然無(wú)法正常通信,原來(lái)是到達(dá)0.109的源地址仍然是1.240,0.109回包的時(shí)候當(dāng)然無(wú)法直接給1.240了,接下來(lái)就是SNAT的事了:
iptables -t nat -A POSTROUTING -d 192.168.0.109 --dport 80 -o eth1 -j SNAT --to 192.168.0.2
當(dāng)然別忘了echo 1 > /proc/sys/net/ipv4/ip_forward,***連/etc/sysctl.conf里的net.ipv4.ip_forward=1一并加上。。。
在shell提示符 # 下打入iptables -Fiptables -Xiptables -t nat -F iptables -t nat -X以上每一個(gè)命令都有它確切的含義。一般設(shè)置你的iptables之前,首先要清除所有以前設(shè)置的規(guī)則,我們就把它叫做初始化好了。雖然很多情況下它什么也不做,但是保險(xiǎn)起見(jiàn),不妨小心一點(diǎn)吧! 如果你用的是redhat 或fedora,那么你有更簡(jiǎn)單的辦法service iptables stop
二、/sbin/iptables -t nat -A PREROUTING -d xxx.xxx.xxx.xxx -p tcp --dport 80 -j DNAT --to-destination 192.168.0.62:80 /sbin/iptables -A FORWARD -p tcp -d 192.168.0.62 --dport 80 -j ACCEPT其中XXX.XXX.XXX.XXX換成你外網(wǎng)IP
通過(guò)文章的分析,想必大家都知道了iptables映射端口的具體操作,希望大家都能熟練掌握!
【編輯推薦】
- 用iptables做地址映射
- linux下清空所有iptables規(guī)則
- 關(guān)掉Iptables防火墻的相關(guān)的命令
- 教你如何關(guān)閉iptables網(wǎng)絡(luò)端口
- UBUNTU 關(guān)閉iptables的方法
- 怎么關(guān)閉和卸載iptables