web-firewall
基于golang+vue3 开发的Web Linux防火墙,前端使用SoybeanAdmin
框架,后端使用goframe2
,数据库支持 sqlite3(默认)
/postgresql
,它可以在Linux系统中基于nfatables
用于替代firewalld
工具。
该防火墙可以提供以下功能
- 本地策略
- 出站策略 output链
- 出站流控 output链
- 入站策略 input链
- 入站流控 input链
- 路由策略
- DNAT prerouting链
- SNAT postrouting
- 转发策略forward 链
- 流量控制 forward 链
- 审计
- 登录日志
- 配置日志
- webSSH日志
- WebShell
- webshell 支持rzsz
- 文件上传下载
- 文本在线编辑
- 首页
- 系统设置
- ip黑名单 prerouting链
- 本地密码
- 会话配置
- 邮件配置
- 短信配置
- 登录设置
本项目提供一个已经打包编译好的项目,用户仅需自己下载本项目解压后,执行 里面的install.sh
文件即可,如果自己编译项目请根据前后端代码自行进行打包即可
unzip v1.1.0.zip
cd v1.1.0
bash install.sh
# 查看服务是否正常运行
systemctl status web-firewalld
# 建议停用firewalld服务
systemctl disable firewalld
systemctl stop firewalld
访问地址:http://ip:8000
默认账号密码:admin/admin
构建项目镜像
# 拉取源代码
git clone https://github.com/moreKing/web-firewall.git
cd web-firewall
# 构建镜像
docker build -f ./server/manifest/docker/Dockerfile -t web-firewall:latest .
docker使用必须以特权和host模式运行才能操作主机的网络配置
docker run -itd --network host --privileged \
-v /etc/sysctl.conf:/etc/sysctl.conf \
-v /proc:/host_proc \
web-firewall
数据持久化需要映射以下几个目录
-v /path/config:/web-firewall/manifest/config # 配置文件 docker模式下 默认数据库文件也在此目录
-v /path/log:/web-firewall/log # 日志文件目录 所有日志文件均会在此目录下
-v /path/resources/template:/web-firewall/resources/template # 模板文件,用户可以自定义邮件样式
/path/config
目录内需要提供config.yaml配置文件和db.sqlite3初始化数据库文件,可先运行一个镜像从里面对应位置拷贝出里面的默认文件,然后修改配置文件即可
为了开源项目更好的发展,现在接受捐赠。如果您觉得本项目对您有所帮助,请通过下列方式进行捐赠。您的帮助将给我们动力持续更新,谢谢!