1、DNS劫持解锁奈飞非自制剧的原理
拥有一台可以正常解锁奈飞非自制剧的VPS,然后在已解锁奈飞的VPS上安装Dnsmasq,给无法解锁奈飞的VPS做DNS转发和DHCP配置,使用Dnsmasq将奈飞的域名解析劫持到已经解锁奈飞的VPS,最后通过 SNI Proxy 反向代理访问奈飞域名,实现解锁Netflix流媒体视频。
2、Dnsmasq SNIproxy 一键安装脚本
(1)Dnsmasq SNIproxy 一键脚本简介
Dnsmasq SNIproxy 一键脚本实现原理:使用Dnsmasq的DNS将网站解析劫持到 SNI proxy 反向代理的页面上。让无法观看流媒体的VPS可以观看(前提:VPS中要有一个是能观看流媒体的)。此脚本脚本默认解锁Netflix Hulu HBO
等,如需增删流媒体域名请编辑文件/etc/dnsmasq.d/custom_netflix.conf
和/etc/sniproxy.conf
,支持 CentOS6+, Debian8+, Ubuntu16+ 等服务器系统。
Dnsmasq SNIproxy 项目地址:https://github.com/myxuchangbin/dnsmasq_sniproxy_install
此一键脚本相关参数使用说明:
bash dnsmasq_sniproxy.sh [-h] [-i] [-f] [-id] [-is] [-fs] [-u] [-ud] [-us] -h , --help 显示帮助信息 -i , --install 安装 Dnsmasq + SNI Proxy -f , --fastinstall 快速安装 Dnsmasq + SNI Proxy -id, --installdnsmasq 仅安装 Dnsmasq -is, --installsniproxy 仅安装 SNI Proxy -fs, --fastinstallsniproxy 快速安装 SNI Proxy -u , --uninstall 卸载 Dnsmasq + SNI Proxy -ud, --undnsmasq 卸载 Dnsmasq -us, --unsniproxy 卸载 SNI Proxy
(2)执行 Dnsmasq SNIproxy 一键脚本安装命令
快速安装(推荐):
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -f
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -i
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -u
在使用时,将代理VPS的DNS地址修改为这个主机的IP就可以了,如果不能用,记得只保留一个DNS地址试一下。
(3)Dnsmasq SNIproxy 脚本的注意事项
- 确认sniproxy有效运行:查看sni状态:systemctl status sniproxy;如果sni不在运行,检查一下是否有其他服务占用80,443端口,以防端口冲突,先将其他服务更改一下监听端口,查看端口监听:netstat -tlunp|grep 443。
- 确认防火墙放行80,443,53:调试可直接关闭防火墙 systemctl stop firewalld.service;阿里云/谷歌云/AWS等运营商安全组端口同样需要放行 可通过其他服务器 telnet vpsip 53 以及 telnet vpsip 443 进行测试。
- 解析域名:尝试用其他服务器配置完毕DNS解析后,解析域名:nslookup netflix.com 判断IP是否是NETFLIX代理机器IP;如果不存在nslookup命令,CENTOS安装:yum install -y bind-utils,DEBIAN安装:apt-get -y install dnsutils。
3、DNS劫持解锁奈飞非自制剧优化教程
(1)仅允许部分VPS访问解锁奈飞的DNS服务器的53端口
我们可以通过iptables设置白名单规则,只需要我们的代理服务器访问已解锁奈飞VPS的53端口。相关可执行命令如下:
iptables -I INPUT -p tcp --dport 53 -j DROP #先限制所有IP访问53端口。 iptables -I INPUT -s x.x.x.x -p tcp --dport 53 -j ACCEPT #再允许VPS B(不能解锁Netflix的VPS)的IP访问,要允许多个IP则添加多条即可。
(2)使用Dnsmasq来实现分流域名解析
此操作是让解锁奈飞的VPS只负责解析奈飞的域名即可,其他域名仍然由本地电脑DNS解析。这里以Debian系统为例进行演示,具体操作步骤如下:
1)安装Dnsmasq
apt update && apt install dnsmasq -y
2)编辑Dnsmasq配置文件
nano /etc/dnsmasq.conf
将以下内容添加到dnsmasq.conf文件,奈飞的全部域名由已解锁奈飞的VPS服务器解析,其余域名由谷歌DNS解析。我们可以从domain-list-community项目处获得奈飞域名(注意将x.x.x.x替换你自己已经解锁奈飞的服务器IP)。
server=8.8.8.8 server=/fast.com/x.x.x.x server=/netflix.ca/x.x.x.x server=/netflix.com/x.x.x.x server=/netflix.net/x.x.x.x server=/netflixinvestor.com/x.x.x.x server=/netflixtechblog.com/x.x.x.x server=/nflxext.com/x.x.x.x server=/nflximg.com/x.x.x.x server=/nflximg.net/x.x.x.x server=/nflxsearch.net/x.x.x.x server=/nflxso.net/x.x.x.x server=/nflxvideo.net/x.x.x.x
编辑/etc/resolv.conf
文件,修改为nameserver 127.0.0.1
,最后,重启Dnsmasq。执行重启命令如下:
systemctl restart dnsmasq.service
至此,在国内通过DNS劫持解锁奈飞非自制剧的教程结束。