首页 运维 正文
iptables映射端口具体操作

 2022-10-23    362  

通过iptables映射80端口的具体方法有两种,我们来仔细分析下。

  我在虚拟机上配置了LINUX系统。想通过iptables映射80端口。让外网WEB可访问到。具体操作怎么做。

iptables映射端口具体操作

  一、一个简单的应用:我的机器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

原文链接:https://77isp.com/post/8195.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。