DenyIP
概述
DenyIP 是一个用于保护大陆服务器免受非本地业务访问的防火墙工具。通过结合 libpcap、libipset、ip2region 和 Go ipquery,该工具能够高效地捕获网络数据包、提取源IP地址、进行地理位置判断,并将非大陆IP地址添加到IP黑名单中,从而严格限制非大陆来源的访问。
特点
- 数据包捕获:使用 libpcap捕获网络数据包,提取源IP地址。
- IP黑名单管理:使用 libipset管理IP黑名单,高效存储和匹配IP地址。
- 初步IP地域判定:使用 ip2region库进行初步的IP地理位置判断。
- 精确IP地理位置判断:使用 Go ipquery进一步精准识别IP地理位置。
- 灵活的命令行选项:支持守护进程模式、指定网络接口、启用/禁用Iptables规则等。
安装
依赖项
在 Debian 系统上安装所需的开发工具和库:
sudo apt update
sudo apt install build-essential golang
sudo apt install libpcap-dev libcap-dev libipset-dev libsystemd-dev
在 Centos 7 系统上安装所需的开发工具和库:
yum groupinstall "Development Tools" -y
yum install ipset-devel libattr-devel libpcap-devel libcap-devel
下载项目
克隆项目仓库:
git clone https://git.aixiao.me/DenyIP.git
cd DenyIP
构建
编译项目:
cd DenyIP
make clean
make ipquery
make
使用方法
命令行选项
root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP# ./denyip -h
DenyIP version 0.2
拒绝Linux服务器非大陆IP工具
MAIL: aixiao@aixiao.me
Date: 20241024
  Usage: denyip [-d] [-i <interface>] [-s <start|stop>] [-h|-?]
      -d --daemon         Daemon mode
      -i --interface      interface (default eth0)
      -l                  print iptables rule
      -s --signal         regular signal (default start|stop)
                              start Enable Iptables rule
                              stop  Disable Iptables rule
      -h|-?               Help Information
root@NIUYULING:/mnt/c/Users/root/Desktop/git.aixiao.me/DenyIP#
示例命令
- 
启动守护进程: ./denyip -d -i eth0
- 
启用Iptables规则: ./denyip -s start
- 
禁用Iptables规则: ./denyip -s stop
- 
查看帮助信息: ./denyip -h
- 
关闭守护进程: killall -15 denyip
贡献
欢迎贡献代码和提出改进建议!请通过 Pull Request 或 Issue 的方式提交。
联系信息
- 邮箱:aixiao@aixiao.me
- 日期:20241024
许可证
本项目遵循 GNU 许可证,详情参见 LICENSE 文件。
希望这个 README.md 文件能够帮助您更好地介绍和使用 DenyIP 项目。如果有任何其他需求或修改,请随时告知。
								稳定版本0.2
								
	Latest
							
						
					Languages
				
				
								
								
									C
								
								90.2%
							
						
							
								
								
									CMake
								
								3.4%
							
						
							
								
								
									M4
								
								3%
							
						
							
								
								
									Shell
								
								1.5%
							
						
							
								
								
									Go
								
								1.2%
							
						
							
								
								
									Other
								
								0.7%