OpenWrt 防火墙基础过滤--域名过滤
OpenWrt 防火墙基础过滤–域名过滤
域名过滤
- OpenWrt 防火墙基础过滤--域名过滤
- 域名过滤
- 直接劫持ip
- uci 自定义域
- dnsmasq+ipset+iptables
前文提到了在 openwrt 系统中,IP过滤和mac 过滤的大概实现,这里再简单介绍下域名过滤的实现。
域名过滤
域名过滤主要是建立在dns服务器基础上。前期我也考虑过通过域名劫持的方式将访问转接到其他地址
直接劫持ip
比如:在openwrt系统中,我们可以通过修改 dnsmasq.conf 文件进行实现。
# vi /etc/dnsmasq.conf
address=/testdomain.com/10.10.254.62 //在文本最后添加一行实现testdomain.com域名劫持到ip地址10.10.254.62
# /etc/init.d/dnsmasq restart
这样,我们访问网页的时候就会跳到10.10.254.62的地址上
#ping baidu.com
PING baidu.com (10.10.254.62): 56 data bytes
ping: sendto: Network is unreachable
但是,在实际应用中会出现很多问题,就比如一个很实际的问题,怎么实现黑白名单,我们不可能每次都会对后台进行修改。
uci 自定义域
这时,我又考虑到第二种方式,也就是
通过openwrt系统自带的 uci 工具实现自定义域,建立dhcp域名池 来进行拦截
#uci add dhcp domain
#uci set dhcp.@domain[-1].name="baidu.com"
#uci set dhcp.@domain[-1].ip="127.0.0.1"
uci commit dhcp
/etc/init.d/dnsmasq restart
#ping baidu.com
PING baidu.com (127.0.0.1): 56 data bytes
ping: sendto: Network is unreachable
这种方式一度让我觉得可行,我可以通过 uci 工具对要过滤的 dns 进行直接的 拦截与开放,但是在后续的测试过程中,我发现了 这种方式的不足。
在测试拦截的有效性时,我发现是能够满足我对对应域名的拦截,但是,这种方式的拦截对精确度要求太高,我不能拦截到它的别名域名。
就比如:我在我的dhcp 域名池中添加的是 baidu.com ,那么就不能拦截到 www.baidu.com 这个域名的访问链接。这种方式被我放弃了。
dnsmasq+ipset+iptables
最后,我采用了这种方式。利用ipset 创建ip集,将域名所对应的ip 储存到ip集中,对整个ip集利用iptables 进行操作,这样就完美的实现了域名的拦截和黑白名单操作。
openwrt的默认dnsmasq并不支持ipset,需要安装dnsmasq-full版本。而 ipset是为了支持对域名的转发代理
1.配置
iptables + ipset + dnsmasq-full
vi /etc/dnsmasq.conf
末尾添加:
server=/.com/127.0.0.1#53
server=/.com/127.0.0.1#53
server=/.cn/127.0.0.1#53
server=/.net/127.0.0.1#53
conf-dir=/etc/dnsmasq.d
新建文件夹
mkdir /etc/dnsmasq.d
cd /etc/dnsmasq.d
touch domain.conf
在domain.conf中添加内容,例如:
ipset=/baidu.com/domain
ipset=/qq.com/domain
...
创建一个ipset,禁用URL接触出的IP地址存储在该ipset中。鉴于ipset保存在内存中,重启后需要重新设置
ipset -N domain iphash
操作–>将规则写入到开机自启动的firewall文件路径中,在openwrt中文件一般为firewall.user.
黑名单:
iptables -t filter -I 规则链 -m set --match-set domain dst -j REJECTiptables -t filter -I 规则链 -m set --match-set domain src -j REJECT
白名单:
iptables -t filter -I 规则链 -m set --match-set domain dst -j ACCEPTiptables -t filter -I 规则链 -m set --match-set domain src -j ACCEPTiptables -t filter -A 规则链 -j REJECT
注:ipset每次重启后失效,因此需要把ipset写入开机自启动文件中,在openwrt系统中,uci支持ipset, 我们用uci 设置firewall
config ipsetoption name 'domain'option match 'ip'option storage 'hash'option enabled '1'
作用等同于:ipset -N domain iphash
在我的openwrt 系统中,iptables 没有安装 string 模块,这个也可以使用 iptables 中的 string 模块进行实现,但是精确性不高,且效率低
OpenWrt 防火墙基础过滤--域名过滤相关推荐
- 纹理基础知识和过滤模式详解
转载自 纹理基础知识和过滤模式详解 1. 为什么在纹理采样时候需要 texture filter (纹理过滤) 我们的纹理 要贴到三维图形表面,而三维图形上的pixel中心与纹理上的texel中心并不 ...
- linux 七层防火墙,iptables防火墙实现七层过滤对应用层的过滤
一)iptables防火墙实现七层过滤对应用层的过滤.(应用模块layer7) 图如下: 1)对内核先打补丁,打上layer7的模块,然后重新编译内核 tar xf netfilter-layer7- ...
- c语言实现dns数据结构算法,[转载]C++实现的DNS,包括域名过滤和缓存
1.程序体系结构 1.1 DNS体系结构 设计DNS的体系结构如图1-1所示. 图1-1 DNS体系结构逻辑图 其除了基本的域名解析功能,中包括对设定的域名的过滤以及DNS缓存等功能.具体功能流程将在 ...
- 最基础的协同过滤介绍
文章目录 1.到底什么是协同过滤 2.协同过滤的一般步骤 3.基于用户的CF (User-CF) 3.1 基本介绍 3.2 用户相似度 3.2.1 用户相似度基本介绍 3.2.2 用户相似度改进:IC ...
- 【SQL语法基础】数据过滤:SQL数据过滤都有哪些方法?
我在上篇文章中讲到过,提升查询效率的一个很重要的方式,就是约束返回结果的数量,还有一个很有效的方式,就是指定筛选条件,进行过滤.过滤可以筛选符合条件的结果,并进行返回,减少不必要的数据行. 那么在今天 ...
- 第29节 天融信Topgate防火墙基础配置案例
防火墙配置目录 1 实验拓扑图及实验要求 1.1 网络拓扑图 1.2 实验1:验证防火墙的区域隔离及策略编写 1.3 实验2:做源转换SNAT 1.4 实验3:目标转换DNAT 1.5 实验4:应用层 ...
- Cisco ASA防火墙基础
Cisco ASA防火墙基础 1.Cisco 防火墙简介: 硬件与软件防火墙: .软件防火墙: Cisco新版本的IOS软件提供了IOS防火墙特性集,它具有应用层智能状态监测防火墙引擎. Cisco ...
- 什么是防火墙?防火墙基础知识讲解
什么是防火墙?防火墙基础知识讲解 - 云+社区 - 腾讯云 什么是防火墙 防火墙也被称为防护墙,它是一种位于内部网络与外部网络之间的网络安全系统,可以将内部网络和外部网络隔离.通常,防火墙可以保护内 ...
- 防火墙规则应用同一子网计算机,防火墙基础(一)
防火墙基础 防火墙:一套安全隔离工具: 工作在网络边缘,对经过防火墙的数据报文,根据预先定义的匹配规则进行检测,如果能匹配,用预先定义好的处理机制进行处理, 如果不匹配,则用默认的处理机制进行处理的一 ...
- linux防火墙基础firewalld
第二章firewalld防火墙(一)linux防火墙基础 防火墙技术: 1.包过滤 packet filtering 2.应用代理 application proxy 3.状态检测 stateful ...
最新文章
- 关于CSS3的filter(滤镜) 属性
- 英雄多少钱steam_¥50元到手蓝宝石显卡?玩转GTAV轻松CSGO英雄联盟帧数144fps
- 新的Google Lyra音频编解码器对实时视频流意味着什么?
- thinkserver rd650管理口地址_路由器WAN口和LAN口有什么区别【区别介绍】
- 04.卷积神经网络 W4.特殊应用:人脸识别和神经风格转换(作业:快乐屋人脸识别+图片风格转换)
- 【例1】 给定n(n>=1),用递归的方法计算1+2+3+4+...+(n-1)+n。
- 智慧教室解决方案和移动授课概念说明
- Day6-------BOM
- IDE 的未来在哪里?
- c++11 多线程编程(三)------ 竞争和互斥锁
- 【C++入门】C++类和对象
- maven项目转换成dynamic项目
- 推荐!这款3D全场景编辑器,能快速搭建三维大场景
- win10专业版修改家庭计算机,win10家庭版升级专业版的最完美的方法_win10专业版技巧...
- ExoPlayer播放器播放MP2音频格式视频无声音加入Ffmpeg软解码功能
- 生命中,很多事是事在人为
- 毕业生签三方?报到证?档案户口?
- 程序员专属手机壁纸来了。。。
- 计算机用户与权限如何设置密码,如何设置电脑用户权限_如何设置电脑使用时间...
- 串口调试小节之五 串口参数设置查询