dnsmasq-2.48没有ipset特性,安装dnsmasq-2.71来支持ipset
iptables只能根据ip地址进行转发,不能识别域名,而dnsmasq-full不仅可以实现域名-IP的映射,还可以把这个映射关系存储在ipset中,所以使用dnsmasq+ipset就可以实现iptables对域名的转发。
Dnsmasq接收到一个DNS查询请求,首先匹配配置文件中的域名列表,如果匹配成功某域名,就把IP的查询结果存储在一个或几个ipset集合中,然后使用iptables对这个ipset中的全部ip进行匹配并做相应的处理,如DROP或者REDIRECT。
ipset是 Linux 防火墙iptables的一个伴随工具。 除了其他众多功能,它允许你建立规则来轻松愉快地屏蔽一组IP地址。
步骤
dnsmasq-2.48没有ipset特性,安装dnsmasq-2.71来支持ipset
wget http://www.thekelleys.org.uk/dnsmasq/dnsmasq-2.71.tar.gz
tar xzf dnsmasq-2.71.tar.gz
cd dnsmasq-2.71
make && sudo make install
1.1 加入dnsmasq-full的ipset对应配置
/etc/dnsmasq.conf
conf-dir=/etc/dnsmasq.d
1.2 加入dnsmasq_list.conf到/etc/dnsmasq.d/
git clone https://github.com/ yongshiyule178.com cokebar/gfwlist2dnsmasq.git
cd gfwlist2dnsmasq
python2 gfwlist2dnsmasq.py
mkdir /etc/dnsmasq.d
cp dnsmasq_list.conf /etc/dnsmasq.d
1.3 dnsmasq_list.conf格式
#使用不受污染的DNS解析该域名,可以将此IP改为自己使用的DNS服务器
server=/google.com/127.0.0.1#5353
#将解析出来的IP保存到名为gfwlist的ipset表中
ipset=/google.com/gfwlist
安装SS
https://copr.fedorainfracloud.org/coprs/librehat/shadowsocks/repo/epel-6/librehat-shadowsocks-epel-6.repo
mv librehat-shadowsocks-epel-6.repo www.gcyl152.com /etc/yum.repos.d/
yum update
yum install shadowsocks-libev
wget https://cokebar.info/wp-content/uploads/2014/11/shadowsocks-libev
mv shadowsocks-libev /etc/init.d/
2.1. 修改SS配置文件,并启动
cat /etc/shadowsocks-libev/config.json
{
"server":"x.x.x.x",
"server_port":xxxx,
"local_address":"127.0.0.1",
"local_port":1080,
"password":"********",
"timeout":300,
"method":"rc4-md5"
}
命令行执行并打开debug log来查看
ss-redir -c /etc/shadowsocks-libev/config.www.mcyllpt.com json -b 0.0.0.0 -v
ss-tunnel -c /etc/shadowsocks-libev/ www.tongqt178.com config.json -b 0.0.0.0 -l 5353 -L 8.8.8.8:53 -u -v
安装ipset工具
yum install ipset
3.1 创建对应的ipset
#创建名为gfwlist,格式为iphash的集合
ipset -N gfwlist iphash -!
创建iptables表
#匹配gfwlist中ip的nat流量均被转发到shadowsocks端口
iptables -t nat -A PREROUTING -p tcp -m set --match-set gfwlist dst -j REDIRECT --to-port 1080
#匹配gfwlist中ip的本机流量均被转发到shadowsocks端口
iptables -t nat -A OUTPUT -p tcp -m set --match-set gfwlist dst -j REDIRECT --to-port 1080
NOTE:如果INPUT链被默认DROP还需要打开1080端口
iptables -A INPUT -p tcp -m state -www.ysyl157.com-state NEW -m tcp --dport 1080 -j ACCEPT
iptables -A INPUT -p udp -m udp --dport 1080 -j ACCEP
转载于:https://www.cnblogs.com/qwangxiao/p/10160074.html
dnsmasq-2.48没有ipset特性,安装dnsmasq-2.71来支持ipset相关推荐
- 端口如何支持非localhost访问_新特性解读 | MySQL 8.0.19 支持 DNS SRV
转载自公众号:玩转MySQL 作者:洪斌 MySQL Router 是 InnoDB Cluster 架构的访问入口,在架构部署上,官方给出的建议是 router 与应用端绑定部署,避免 router ...
- vim8支持的linux版本,Vim 8.0 版本安装方法及添加Python支持
利用Git安装 最简单也是最有效的方法 1. 获取Vim仓库: git clone https://github.com/vim/vim.git 2. 升级到最新的版本: cd vim git pul ...
- 不少朋友在安装IDES 4.71的过程中都遇到了下面的出错提示:
不少朋友在安装IDES 4.71的过程中都遇到了下面的出错提示: " Copying SAPinst... This may last several minutes. Cannot ext ...
- Thinkpad 笔记本VMware Workstation 安装虚拟机出现“此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态”解决方法
Thinkpad 笔记本VMware Workstation 安装虚拟机出现"此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态"解决方法 参考文章: (1) ...
- 解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题
解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题 参考文章: (1)解决VMware下安装Ubuntu 16.04 不支持1920X1080分辨率的问题 (2)ht ...
- 非华为电脑安装华为电脑管家(支持多屏协同)
非华为电脑安装华为电脑管家(支持多屏协同) 数码 1.下载文件包. 百度网盘链接:https://pan.baidu.com/s/1O8WUs_OisNoUpibHpeEchQ 提取码:454c 阿里 ...
- Win7使用金山毒霸提示“安装引擎失败,不支持此接口”的解决方法
很多Win7系统用户在使用金山毒霸的时候,会遇到金山毒霸提示示"安装引擎失败,不支持此接口"的情况.那么,金山毒霸提示安装引擎失败该怎么办呢?下面小编为大家带来Win7使用金山毒霸 ...
- awstats mysql_AWstats7.4在Windows 10 64位下的安装与配置,以支持Apache 2.4的日志分析...
1.AWstats7.4在Windows 10 64位下的安装与配置,以支持Apache 2.4的日志分析: 2.安装perl,打开:https://www.perl.org/ ,如图1,在Windo ...
- ubuntu 安装dnsmasq dnscrypt-proxy
考虑目前DNS污染等情况. 安装了DNSMASQ等软件解决一下. 1 2 3 4 sudo apt-get install python-software-properties sudo add-ap ...
- linux安装nas4free,FreeNAS的Linux支持与utorrent等Linux软件的安装与设置
5 }9 O r _4 q1 k3 {' A( TFreeNAS装完之后是建议另外安装一个BT软件,虽然FreeNAS内置了transmission,理应是非常好的一个BT软件,但是,网上说它不支 ...
最新文章
- 2010中国大陆×××指南,满足你的欲望!
- Codeforces 847C - Sum of Nestings
- foreach php,详解PHP中foreach的用法和实例
- python输入完怎么运行-教你如何编写、保存与运行Python程序的方法
- 实战:搭建CA认证中心,使用CA证书搭建HTTPS
- 2020蓝桥杯省赛---java---B---7(分类计数)
- 岳阳鸿蒙数学培优阶梯训练,鸿蒙应用-呼吸训练app部分练习展示(开始)
- phash图像识别应用
- 用Github的Api发现stars最多开源项目
- 数据结构——二叉链表
- war包还原成项目_war包反编译成整个java项目
- 英语期刊写作-通往国际学术舞台的阶梯第六章答案
- 开源扫描仪软件_适用于Windows的优秀开源免费扫描仪软件?
- 修改文件类型(txt文件改为bat、sh文件)
- 找回HDFS corrupted文件残留数据
- 参观一家买过十年货的淘宝店是怎样的体验?——新魔术8000生产基地探秘
- Salesforce中reRender和rendered控件的使用
- oracle表空间不足影响,oracle表空间不足
- 有三顶红帽子和两顶蓝帽子逻辑推理
- cad角度命令怎么输入_怎么对角度进行尺寸标识 CAD钝角标注技巧
热门文章
- 6.4Spring环境配置等级和优先级
- [渝粤教育] 西南科技大学 机械设计基础 在线考试复习资料(1)
- 【渝粤教育】广东开放大学 演绎娱乐经验管理 形成性考核 (49)
- 协同过滤之ALS-WR算法
- 从实例入手,讲解 CMake 的常见用法。demo1-demo8
- eclipse 添加jar (servlet api)
- 使用xadmin更新数据时,报错expected string or bytes-like object
- [转]亿万富翁对大学生的18句话
- dp P1103 书本整理 洛谷
- Java web 第一天