文档章节

ubuntu下使用ufw保护docker容器

Feng_Yu
 Feng_Yu
发布于 2015/12/04 19:42
字数 317
阅读 731
收藏 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
粉丝 158
博文 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安装步骤

本问是根据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
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
宿主机访问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
126
0
在Centos和Docker上安装STF 遇到的若干问题总结

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

xuecancan
04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

经典编程书籍大全·我一本都没有看过

经典编程书籍大全 100+ 经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关...

netkiller-
28分钟前
1
0
改变自己从学习linux开始

刚刚高中毕业,进如大学的时候,总以为摆脱了束缚可以无拘无束的玩耍了。当时真的就是和众多大学生一起,像撒欢的野马,每天逃课,上网,泡吧,不把学习当一会事,学校里教授讲的各种知识也没...

linuxprobe16
31分钟前
2
0
Apache Zeppelin 中 Spark解释器

概述 Apache Spark是一种快速和通用的集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持一般执行图的优化引擎。Zeppelin支持Apache Spark,Spark解释器组由5个解释器组成。 ...

hblt-j
32分钟前
2
0
十分钟带你理解Kubernetes核心概念

http://www.dockone.io/article/932

踏破铁鞋无觅处
45分钟前
2
0
浅析微信支付:开通免充值产品功能及如何进行接口升级指引

本文是【浅析微信支付】系列文章的第十五篇,主要讲解如何开通免充值产品功能流程和其中的注意事项,对于接口升级会重要讲解,避免爬坑。 浅析微信支付系列已经更新十五篇了哟~,没有看过的...

YClimb
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部