侧边栏壁纸
  • 累计撰写 218 篇文章
  • 累计创建 59 个标签
  • 累计收到 5 条评论

centos服务器应用端口防火墙管理

barwe
2024-05-31 / 0 评论 / 0 点赞 / 770 阅读 / 1,152 字
温馨提示:
本文最后更新于 2024-05-31,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

firewall 管理端口有两种常见方式:

  • 直接添加单个端口,缺点是端口多了分不清哪个是干嘛的
  • 通过服务将端口分组后管理,缺点是步骤稍显繁琐,需要先创建服务

因此写了一个 fws 脚本用来管理服务器多个应用程序的端口开闭。

首先找个地方(不限位置,建议应用数据目录下)建一个配置文件(名称不限,建议 fwservice.json),例如

{
  "name": "registry",
  "ports": [ 20150 ]
}

ports 项允许的形式及其解析结果:

  • 20150 or "20150" => {"port":"20150/tcp"}
  • "20150/tcp" => {"port": "20150/tcp"}
  • "20150/udp" => {"port": "20150/udp"}
  • {"port": 20150, "desc": "xxx"} => {"port": "20150/tcp", "desc": "xxx"}

然后找个地方建一个文件用来收集各个应用的 fwservice.json 路径(默认 ~/.config/fwservice/list),形如

/path/to/my/app/1/fwservice.json
/path/to/my/app/2/fwservice.json
/path/to/my/app/2/fwservice.json

下载 fws.py 脚本到 ~/scripts/(或者其他位置),用 python3 执行即可。

也可以在 .bashrc 中加一个快捷方式:

alias fws="python3 ~/scripts/fws.py"

fws 常用命令:

  • 指定服务列表文件路径(默认~/.config/fwservice/list): -f <fwservice_list_file>
  • 查看
    • 查看激活的自定义服务:fws ls
    • 查看所有自定义服务:fws ls -a
    • 查看 public 域下的所有服务(包含自定义服务和系统服务):fws ls -a --public
    • 查看指定的自定义服务(名称只要保证能且仅能模糊匹配到一个服务名即可):fws ls -s <service_like>
  • 添加自定义服务到 public 域中:fws add <service_like>
  • 从 public 域中删除自定义服务:fws rm <service_like>
0

评论区