封禁IP访问特定端口
标签: 配置管理
链接直达 >一个用于屏蔽中国大陆IP访问指定端口的简易工具。此脚本使用ipset和iptables,通过高效的哈希表方式管理大量IP地址段,实现对特定端口的访问控制。
快速开始
执行|通用运行
wget -O cnblock.sh https://raw.githubusercontent.com/x-socks/CNipblocker/refs/heads/main/cnblock.sh && chmod +x cnblock.sh && sudo ./cnblock.sh
使用事例
LinuxMirrors是一键换源脚本,它是完全开源的非盈利项目,旨在为从事计算机相关行业的朋友们提供便利,使换源更简单!
这是一个利用iptables和开源程序fail2ban来进行服务器简单防爆破的脚本。默认自带SSH防御规则。
这是一个服务器安全事件通知系统,可以监控并通过多种渠道推送服务器的登录尝试、封禁等安全事件。
一键配置密钥登录并禁用密码登录
脚本介绍
CN IP Blocker (中国大陆IP封禁工具)
一个用于屏蔽中国大陆IP访问指定端口的简易工具。此脚本使用ipset和iptables,通过高效的哈希表方式管理大量IP地址段,实现对特定端口的访问控制。
功能特点
- 自动下载并应用最新的中国大陆IP段列表
- 支持针对特定端口进行封禁/解封
- 提供交互式菜单界面,操作简便
- 自动配置系统启动服务,确保重启后规则依然有效
- 提供详细的守护进程状态检查
一键安装
github
wget -O cnblock.sh https://raw.githubusercontent.com/x-socks/CNipblocker/refs/heads/main/cnblock.sh && chmod +x cnblock.sh && sudo ./cnblock.sh
gitlab
wget -O cnblock.sh https://gitlab.com/gitlabvps1/cnipblocker/-/raw/main/cnblock.sh && chmod +x cnblock.sh && sudo ./cnblock.sh
使用方法
菜单模式
直接运行脚本会显示交互式菜单:
sudo ./cnblock.sh
菜单选项:
- 查看当前已封禁端口
- 封禁端口
- 解封端口
- 检查服务状态(简易版)
- 检查守护进程详细状态
- 重新下载IP列表并更新
- 退出
直接封禁端口
可以通过命令行参数直接封禁指定端口:
sudo ./cnblock.sh 80 # 封禁80端口
sudo ./cnblock.sh 443 # 封禁443端口
系统要求
- 支持iptables和ipset的Linux系统
- root权限
- 适用于大多数基于Debian的系统(如Ubuntu)和CentOS/RHEL系统
工作原理
脚本使用ipset创建一个包含所有中国大陆IP段的哈希表,然后通过iptables规则将特定端口的来源IP与此表进行匹配,实现高效的屏蔽操作。相比传统的直接在iptables中添加大量规则的方式,此方法大大提高了性能和可维护性。
注意事项
- 脚本需要root权限才能运行
- 初次运行时会自动安装所需依赖(ipset, iptables, wget)
- IP段列表基于公开数据,可能存在轻微偏差
- 系统重启后,规则会自动加载(通过systemd服务或网络启动脚本)
故障排除
如果遇到问题,可以使用脚本中的”检查守护进程详细状态”功能,它会提供服务状态的详细诊断信息。常见问题包括:
- IP集合未加载:检查ipset是否正确安装
- 规则未应用:检查iptables服务是否正常运行
- 守护进程未启动:检查systemd服务状态
使用界面
特别声明
本站导航提供的shell脚本都来源于网络,不保证外部链接的准确性安全性和完整性。外部脚本内容可能会有违法违规内容,请用户自行判断。如有侵权或者恶意行为,请联系我们删除。