在vps中搭建应用后有时会因为vps本身线路的问题会需要在外面套一个反向代理来改善访问速度,此时如果想要做一些安全性设置只想让源应用的对外端口只被反向代理服务器访问时,只需要在源应用的服务器上添加两条iptables规则即可。如果是类似aws或者阿里云这种大厂服务器提供商本身后台具有防火墙设置的,那么在后台设置会更为简单,而且它的优先级会高于服务器本身的防火墙设置,此时可以无视下面提到的配置。但是当你使用的vps并没有后台防火墙设置,而又想docker搭建的应用只被指定ip访问,可以参照下面的配置(系统环境是ubuntu 16.04):

在安装docker时,docker会默认在系统中安装几个防火墙规则,如果想要限制连接docker的主机,根据docker官网这篇文章的说明,只需要在iptables的DOCKER-USER中添加一条规则即可。

1、 查看本机外网网卡端口

进入vps,输入ifconfig,找到外网网卡端口名称,例如我的就是eth0

2、 添加规则

根据文章中的设置添加一条iptables规则

iptables -I DOCKER-USER -i eth0 ! -s xx.xx.xx.xx -j DROP

其中eth0替换为上面查询出来的网卡名称,xx.xx.xx.xx替换为反向代理服务器的ip地址。

如果想要限制指定范围IP访问,文章中也有说明,参照它的设置更改下即可。

3、 检查是否生效

可以使用类似的端口检测工具检测源应用端口是否已无法访问。


PS:博客好久没更新了,也是自己原来太懒了,虽然也只是记录下折腾服务器过程中学习到的东西,希望后面能做到定期更新吧。


版权声明:本文为原创文章,版权归 nicolaszf 所有,转载请注明出处!

本文链接:https://blog.sourismu.me/archives/66/