共计 1855 个字符,预计需要花费 5 分钟才能阅读完成。
在 http://www.linuxidc.com/Linux/2017-03/141814.htm 这个文章里,我们配置了 mq 而且在后面的 web 界面里验证了已经有消息队列生成。但是细心的朋友应该会发现一个 BUG,实验机器是 2 核 4G 无外网,但是是怎么登陆 web 界面的呢?
因为消息队列是一个很重要的一环啊,它就好比食道一样,食物通过食道才能到达胃进行吸收,同理 activemq 也要好好被保护起来。所以一般来说,mq 本体的服务器是不配置外网的,但是会另找一个服务器建立一个转发规则,然后我们去访问“转发规则”服务器。
于是我们选择一台服务器,这个服务器几核几 G 不重要,就要求带宽要大一点点。
首先我们要打开 linux 的 ipv4 转发规则,# vim /etc/sysctl.conf,确定里面 net.ipv4.ip_forward = 1,如图:
然后,需要#service network restar t 使其生效。
完事之后才是正式的配置 iptables 环节。
首先我们要明白我们的目的,
1)mq 的 web 界面端口是 8161,我们需要让 mq 服务器的 8161 信息可以抵达这个“转发服务器”;
2)而我们在 web 界面 8161 的一举一动也要能进入 mq 服务器;
所以我们需要在 linux 命令行里先后输入如下内容:
#iptables -A FORWARD -d 转发服务器内网 ip/32 -p tcp -m tcp –dport 8161 -j ACCEPT
#iptables -A FORWARD -s 转发服务器内网 ip/32 -p tcp -m tcp –dport 8161 -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -m tcp –dport 8161 -j DNAT –to-destination mq 服务器内网 ip:8161
#iptables -t nat -A POSTROUTING -p tcp -m tcp –dport 8161 -j SNAT –to-source 转发服务器内网 ip
输入之后,#service iptables save,#service iptables restart。
如果中途手抖了,输入错误,需要清空的话,命令是#iptables -F 和#iptables -F -t nat。
这样在启动 mq 之后,我们就可以访问这个“转发服务器”的外网 ip 地址:8161/admin 这个网页来查看 mq 的实时情况了。
这里要注意一下,如果需要抹掉整个 iptables 规则,不是简单的# iptables -F 那么简单,因为这个命令下去,如果服务器配置了防火墙,而且默认的转发规则都是 drop,那么很有可能这台服务器与网络直接断开!
正确的做法是先 #iptables -P INPUT ACCEPT,确定#iptables -L 的输出是 ACCEPT 而不是 DROP,然后再#iptables -F。
更多 iptables 相关教程见以下内容:
CentOS 7.0 关闭默认防火墙启用 iptables 防火墙 http://www.linuxidc.com/Linux/2015-05/117473.htm
Iptables 工作原理使用详解 http://www.linuxidc.com/Linux/2016-09/134945.htm
Ubuntu 14.04 配置 iptables 防火墙 http://www.linuxidc.com/Linux/2017-02/140556.htm
Linux 防火墙 iptables 详细教程 http://www.linuxidc.com/Linux/2013-07/87045.htm
iptables 的备份、恢复及防火墙脚本的基本使用 http://www.linuxidc.com/Linux/2013-08/88535.htm
Iptables 工作原理使用详解 http://www.linuxidc.com/Linux/2016-09/134945.htm
CentOS7 下 iptables 配置过程 http://www.linuxidc.com/Linux/2017-01/139622.htm
Linux 下 iptables 防火墙设置 http://www.linuxidc.com/Linux/2015-10/123843.htm
Linux 防火墙 iptables 详解 http://www.linuxidc.com/Linux/2016-12/138474.htm
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-03/141813.htm