Skip to content

moreKing/web-firewall

Repository files navigation

简介

web-firewall基于golang+vue3 开发的Web Linux防火墙,前端使用SoybeanAdmin框架,后端使用goframe2,数据库支持 sqlite3(默认)/postgresql ,它可以在Linux系统中基于nfatables用于替代firewalld工具。

Gitee Star:gitee star

Github Star:github star

Github Forks:github forks

该防火墙可以提供以下功能

功能设计

  • 本地策略
    • 出站策略 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

docker部署

构建项目镜像

# 拉取源代码
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初始化数据库文件,可先运行一个镜像从里面对应位置拷贝出里面的默认文件,然后修改配置文件即可

项目截图

登录

主题

国际化

添加策略

添加流控

暗模式

自适应

捐赠支持

为了开源项目更好的发展,现在接受捐赠。如果您觉得本项目对您有所帮助,请通过下列方式进行捐赠。您的帮助将给我们动力持续更新,谢谢!

收款码