iptables映射端口具體操作
通過iptables映射80端口的具體方法有兩種,我們來仔細分析下。
我在虛擬機上配置了LINUX系統。想通過iptables映射80端口。讓外網WEB可訪問到。具體操作怎么做。
一、一個簡單的應用:我的機器IP是192.168.1.240,期望訪問另一個局域網的web服務器其IP為192.168.0.109,中間有臺雙網卡的服務器用來做透明代理,該服務器eth0為192.168.1.2,eth1為192.168.0.2。
首先需要將到達192.168.1.2:80的包順利轉給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
乍一看這應該沒什么問題了,可是接下來問題是發現我的包是到0.109了,可是我的機器與0.109仍然無法正常通信,原來是到達0.109的源地址仍然是1.240,0.109回包的時候當然無法直接給1.240了,接下來就是SNAT的事了:
iptables -t nat -A POSTROUTING -d 192.168.0.109 --dport 80 -o eth1 -j SNAT --to 192.168.0.2
當然別忘了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以上每一個命令都有它確切的含義。一般設置你的iptables之前,首先要清除所有以前設置的規則,我們就把它叫做初始化好了。雖然很多情況下它什么也不做,但是保險起見,不妨小心一點吧! 如果你用的是redhat 或fedora,那么你有更簡單的辦法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換成你外網IP
通過文章的分析,想必大家都知道了iptables映射端口的具體操作,希望大家都能熟練掌握!
【編輯推薦】
- 用iptables做地址映射
- linux下清空所有iptables規則
- 關掉Iptables防火墻的相關的命令
- 教你如何關閉iptables網絡端口
- UBUNTU 關閉iptables的方法
- 怎么關閉和卸載iptables