前言
由于自己有些服务需要服务器支撑,原来的过渡方案便是云应用
而如今,终于有时间来捣鼓服务器,却苦于对Linux系统的不熟悉,处处碰壁
最近,在使用1Panel部署docker容器的时候,经常因为对 iptables 的不熟悉,又想有一个安全系数稍高的服务器,导致碰到各式各样的问题
不得已,寻求ChatGPT的帮助,经过多次,得以编写出一个对我来说接近完美的 iptables 脚本
功能简介
- 交互式菜单操作,减少手输命令出错
- 支持 IPv4 / IPv6 切换
- 支持 backend 选择:auto / nft / legacy
- 支持选择 table / chain(新手模式下会锁定到安全范围)
- 常用规则快速添加(例如:放行已建立连接、放行指定端口等)
- 支持导出 / 恢复规则,并可生成 systemd 开机恢复服务(可选)
三种模式(简单说明)
Beginner(新手模式)
- 仍然可以选择:IPv4/IPv6、backend
- 固定锁定:TABLE=filter、CHAIN=INPUT
- 每次操作后会自动回到 filter/INPUT,防止误切到更危险的区域(比如 nat/forward)
Standard(普通模式)
- 完整菜单操作
- 可以自由选择 IPv4/IPv6、backend、table、chain
- 适合日常维护使用
Expert(专家模式)
- 接近 REPL:输入参数直通执行
- 护栏最少,适合熟练用户快速操作
使用方法
方式 1:克隆仓库运行
git clone https://github.com/OFLordRtx/IPtctl.gitcd IPtctlchmod +x iptctl.sh./iptctl.sh方式 2:只下载脚本再运行(推荐)
curl -L -o iptctl.sh https://raw.githubusercontent.com/OFLordRtx/IPtctl/HEAD/iptctl.shchmod +x iptctl.sh./iptctl.sh方式 3:一行命令直接跑(可选,不太推荐)
bash <(curl -Ls https://raw.githubusercontent.com/OFLordRtx/IPtctl/HEAD/iptctl.sh)友情提醒
- 远程服务器上操作防火墙,建议至少开两路 SSH,别把自己作死
- 动手前先导出规则备份一下,心里踏实
- 如果你还有云厂商安全组/面板防火墙之类的东西,注意它们会不会跟 iptables 打架
项目地址 & 反馈
GitHub:https://github.com/OFLordRtx/IPtctl
有 bug / 想加功能欢迎提 issue 或 PR(Pull Request)。我代码不算熟,会尽量测试后合并;也可以直接在帖子里留言反馈。
评论 (0)