ufw-docker-automated安装与配置指南

ufw-docker-automated安装与配置指南

ufw-docker-automated Manage docker containers firewall with UFW! ufw-docker-automated 项目地址: https://gitcode.com/gh_mirrors/uf/ufw-docker-automated

1. 项目基础介绍

ufw-docker-automated 是一个开源项目,旨在帮助用户在使用 Docker 的同时,自动化管理 Ubuntu 或 Debian 系统上的 ufw(Uncomplicated Firewall)防火墙规则。这个项目可以解决 Docker 直接操作 iptables 而绕过 ufw 规则的问题。项目主要使用 Go 语言编写。

2. 项目使用的关键技术和框架

  • Go 语言:项目的主体语言,用于实现监听 Docker API 事件,并根据容器标签自动更新 ufw 规则的逻辑。
  • Docker API:用于实时监听容器状态变化,从而动态更新防火墙规则。
  • UFW(Uncomplicated Firewall):是 Ubuntu 系统上的一个前端工具,用于管理 iptables 防火墙。

3. 项目安装和配置的准备工作及详细步骤

准备工作

  • 确保系统运行的是 Ubuntu 或 Debian。
  • 安装 Docker,并确保其可以正常工作。
  • 安装 UFW 并启用它。

安装步骤

步骤 1:安装依赖

首先,安装编译项目所需的依赖:

sudo apt-get update
sudo apt-get install -y git build-essential
步骤 2:克隆项目

使用 Git 将项目克隆到本地:

git clone https://github.com/shinebayar-g/ufw-docker-automated.git
cd ufw-docker-automated
步骤 3:构建项目

在项目目录中,构建项目:

go build -o ufw-docker-automated main.go
步骤 4:配置 UFW

编辑 /etc/ufw/after.rules 文件,在文件的末尾添加以下内容:

# BEGIN UFW AND DOCKER
*filter
:ufw-user-forward - [0:0]
:ufw-docker-logging-deny - [0:0]
:DOCKER-USER - [0:0]
-A DOCKER-USER -j ufw-user-forward
-A DOCKER-USER -j RETURN -s 10.0.0.0/8
-A DOCKER-USER -j RETURN -s 172.16.0.0/12
-A DOCKER-USER -j RETURN -s 192.168.0.0/16
-A DOCKER-USER -p udp -m udp --sport 53 --dport 1024:65535 -j RETURN
-A DOCKER-USER -j ufw-docker-logging-deny -p tcp -m tcp --tcp-flags SYN,RST,ACK,FIN SYN -j DROP
-A DOCKER-USER -j ufw-docker-logging-deny -p udp -j DROP
-A DOCKER-USER -j RETURN
COMMIT
# END UFW AND DOCKER
步骤 5:运行项目

启动 ufw-docker-automated

sudo ./ufw-docker-automated
步骤 6:配置 Docker 容器

在启动 Docker 容器时,添加相应的标签以指定 ufw 规则。例如:

docker run -d -p 8080:80 -l UFW_MANAGED=TRUE -l UFW_ALLOW_FROM=192.168.1.0/24 nginx:alpine

这样就完成了 ufw-docker-automated 的安装和配置。现在,当 Docker 容器启动或停止时,相应的 ufw 规则将会自动更新。

ufw-docker-automated Manage docker containers firewall with UFW! ufw-docker-automated 项目地址: https://gitcode.com/gh_mirrors/uf/ufw-docker-automated

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄年皓Medwin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值