文档章节

ubuntu下使用ufw保护docker容器

Feng_Yu
 Feng_Yu
发布于 2015/12/04 19:42
字数 317
阅读 765
收藏 3

docker会默认开启iptables NAT规则,如果使用-p port:port这种形式暴露端口是得不到ufw的防护的。

因为ufw操作的实际上是filter规则链,并没有提供简单的操作nat链的方案。

经过一番google之后,终于解决这个问题,现总结如下。

两步走

第一步,禁用docker操作iptables的功能

编辑/etc/default/docker文件,修改DOCKER_OPTS="--iptables=false",等同于给docker启动参数添加--iptables=false选项,此选项会禁用docker添加iptables规则。

相关参考文档:

http://blog.viktorpetersson.com/post/101707677489/the-dangers-of-ufw-docker

第二步,编辑ufw默认规则链

编辑/etc/ufw/before.rules这个文件,在文件末尾追加以下内容:

*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING ! -o docker0 -s 172.17.0.0/16 -j MASQUERADE
COMMIT

之后重启一下ufw规则即可:

sudo ufw disable
sudo ufw enable

相关参考文档:

https://svenv.nl/unixandlinux/dockerufw

之后就可以通过ufw allow这种形式添加对docker容器的访问权限了。

如:

docker run -p 27017:27017 mongo  # 启动mongodb服务,并映射到本机的*:27017这个端口上
sudo ufw allow from 114.114.0.0/16 to any port 27017

只允许114.114.0.0/16这个网段的主机访问本机27017端口(mongodb默认监听端口)

© 著作权归作者所有

共有 人打赏支持
Feng_Yu
粉丝 157
博文 38
码字总数 45571
作品 0
西安
运维
私信 提问
Docker的安装,配置,更新和卸载

版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/51226700 在Linux中开启Docker引擎 我们可以在Linux中安装Docker并运行Hello world...

陈洪波
2016/04/23
0
0
Ubuntu 安装 Docker(译)

Ubuntu Docker 支持这些 Ubuntu 操作系统: Ubuntu Wily 15.10 Ubuntu Vivid 15.04 Ubuntu Trusty 14.04 (LTS) Ubuntu Precise 12.04 (LTS) 本页指导您使用 Docker-managed 管理发行包和安装......

Ryan-瑞恩
2015/12/18
1K
0
ubuntu环境下docker安装步骤

本问是根据docker官方文档翻译,原文:https://docs.docker.com/engine/installation/linux/ubuntulinux/ Docker 支持以下 Ubuntu 系统: Ubuntu Xenial 16.04 (LTS) Ubuntu Wily 15.10 Ubunt......

豆花饭烧土豆
2016/12/03
16
0
宿主机访问docker中的Ubuntu镜像内的Mysql报2013错误,已配置user的host为'%',已开放docker -p 端口映射

在17.03.1的Docker上pull了一个ubuntu 16.04镜像然后在ubuntu上用apt install安装了mysql-server-5.7 并且配置了mysql库的user表的root 的host为'%',并且在启动容器的时候(docker run的时候...

饭桶小崽蛋
2017/04/05
576
0
在Centos和Docker上安装STF 遇到的若干问题总结

1. 概述 刚开始接触 STF 是看了testhome上思寒讲的关于Appium的一些教程,知道了远程管理设备这回事,自己也在使用Appium框架做App自动化测试,已经通过集成到了jenkins服务器上,由于服务器...

xuecancan
2018/04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

element-ui之el-collapse-transition(折叠展开动画)源码解析学习

项目中发现同事使用了element-ui的el-collapse-transition来做折叠展开效果,打开源码看了下发现挺有意思,来解析学习一番。 el-collapse-transition的引入方式 // fade/zoom 等import 'e...

学霸猫
9分钟前
0
0
解释器模式_实战

前言 解释器模式是什么?这个设计模式其实比较冷门,不太会解释,用例子说明把。解释器模式一般用在sql,xml,json解析等场景。比如说你有一个json对象,你要获取这个对象中任意一个节点的值。...

grace_233
31分钟前
1
0
告别2018

今天中午从喵喵家回来之后,倒头就睡到下午4点了。可能是之前透支的身体,在我放松下来后,开始觉得疲惫了,所以最近估计会进入嗜睡期。醒来之后,拿了包花生,开了瓶低糖菊花茶,听着网易云...

七木网络科技
38分钟前
4
0
MySql数据库分表分区实践

1. 背景 —— 公司物联网项目 海量设备通过物联网服务接入云端,设备每30s上报一次自身数据(以下称为动态数据)。 物联网服务将设备上报的数据转发给数据处理网关,由数据入库网关执行批量入...

吴伟祥
50分钟前
2
0
大表关联走hash优化

大表关联走hash? 案例: ---- 反正我执行过1个多小时,没有跑完 SELECT a.id AS order_id ,b.s_id AS bill_id, d.id AS sub_order_id, d.deal_oper_id FROM EM_ORDER PARTITION(EM_ORDER_20......

hnairdb
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部