iptables+dnsmasq+ipset联合使用配置方法
iptables+dnsmasq+ipset联合使用配置方法
1、安装dnsmasq
1.1yum install dnsmasq
查看dnsmasq对ipset的支持
Dnsmasq -v
1.2 dnsmasq配置
前两句的意思是将所有.com和.hk结尾的域名请求都发往OpenDNS的服务器,端口5353,这样可以防止ISP和GFW的一些域名污染,防止请求的页面被误导或者页面上出现莫名其妙的广告
最后一行是指将yahoo.com和google.com的域名解析IP结果存储到vpn和search的ipset结果中,准备交给iptables识别和转发。
2、ipset安装配置
Yum install ipset
Ipset list 查询所有列表
Ipset create wlist hash:net 建立列表
通过dnsmasq配置文件/etc/dnsmasq.d中的配置文件,建立与ipset列表的关联,再使用nslookup 查询域名
3、安装iptables
3.1 Yum install iptables
注意检查主机已经使用的防火墙 systemctl status firewalld 和 systemctl status ufw 如果不存在其它防火墙,则直接打开iptables防火墙,如果其它防火墙已经启动,先关闭其它防火墙
Systemctl stop firewalld
Systemctl stop ufw
Systemctl disable firewalld
Systemctl disable ufw
3.2 设置防火墙规则
iptables -A OUTPUT --proto tcp -m multiport --dport 80,443 -m set --match-set wlist dst -j DROP
这是一条阻止访问的防火墙规则 匹配TCP协议 端口号80,443 和前面wlist配置列表中的地址阻止访问。
防火墙使用方法请参考:
https://blog.csdn.net/weixin_38166318/article/details/127344897
注意:安装完dnsmasq,并启动后需要修改/etc/resolv.conf文件,使dns请求经过本机dnsmasq解析,才能正确获取ipset list
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」