IPTABLES 映射问题

时间:2021-12-11 15:42:33

今天要做一个新的映射:将内网的一个8090口映射到外网的8087口。

在 /ETC/RC.LOCAL中最后插入:

iptables -t nat  -A PREROUTING -d outIP -p tcp --dport 8087 -j DNAT --to innerIP:8090
保存:qw
service iptables restart

没有效果,最后问QQ群,建议:

1、查看内网服务器的端口8090有没有开放

2、查看外网路由的端口8087有没有开放

------------------------------------------------

1、内网服务器的防火墙关闭状态

  后来给打开,仅开放了80和8090两个端口

2、路由服务器的端口怎么telnet也登录不上去。

  又在/etc/rc.local中加入如下:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT

结果如下:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -t NAT -A PREROUTING -d outIP -p tcp --dport 8087 -j DNAT --to innerIP:8090

再保存,再重启服务没有用。真想哭 了。

度娘告诉我要这样:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT   写入修改

/etc/init.d/iptables save   保存修改

service iptables restart    重启防火墙,修改生效

还是没有用。

后来我发现,这个路由规则都在/etc/sysconfig/iptables下面。

那好,我直接编辑这个文件,在最上面加上

-A REROUTIN -d outIP -p tcp --dport 8087 -j DNAT --to innerIP:8090 
:wq
service iptables restart

再外网访问:一切OK了。

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

这件事终于搞定,也告一段落。

可是我的心里还有不少的疑问:

1、为什么放在/etc/rc.local里没有效果,或是仅仅是插入到最后不行而放在/etc/sysconfig/iptables

  里面就可以呢?

  我在想:是不是这个执行的顺序有先后,因我看了下 /etc/sysconfig/iptables里面有IPTABLES -F

  那这样,如果rc.local先执行,那就没有什么用了??

2、同时也学到了服务器的端口可以用防火墙开控制的,平时只是完成任务把服务挂上就好了。

---------------------------

那么疑问1还需要我去验证学习,如果哪位朋友告之,这里不胜感激。