快速简单的使用Dnsmasq来解锁Netflix(奈飞)流媒体服务
前言
众所周知,最近奈飞疯狂封禁IP,导致大多数之前可解锁奈飞服务的ip或者vps都纷纷挂掉,目前阁主手里10多台VPS只有一台可顺利解锁奈飞,可完整观看,那就是之前介绍到的南非VPS,如果你购买,请点击这里进入,因为南非vps被我共享测试的原因,流量不够用,自己只能用其他小鸡,但前几天封禁了IP导致不能全解锁,今天这个教程就是教大家如何利用手里可解锁奈飞的服务器去解锁其他不能解锁奈飞流媒体的服务器,原理是利用可解锁奈飞的那台服务器上的DNS进行解锁!
当然,这个脚本项目是来自GitHub上一位大神的,目前实用亲测依然有效,项目地址:https://github.com/myxuchangbin/dnsmasq_sniproxy_install
github里面介绍的可能有点笼统,不太适合纯小白实用,下面详细介绍一下实用方法,先贴一下大佬原文介绍
脚本说明:
- 原理简述:使用Dnsmasq的DNS将网站解析劫持到SNI proxy反向代理的页面上。
- 用途:让无法观看流媒体的VPS可以观看(前提:VPS中要有一个是能观看流媒体的)。
- 特性:脚本默认解锁
Netflix Hulu HBO
等,如需增删流媒体域名请编辑文件/etc/dnsmasq.d/custom_netflix.conf
和/etc/sniproxy.conf
- 脚本支持系统:CentOS6+, Debian8+, Ubuntu16+
- CentOS6/7/8, Debian8/9/10, Ubuntu16/18 已测试成功
- 理论上不限虚拟化类型,如有问题请反馈
- 如果脚本最后显示的IP和实际公网IP不相符,请修改一下文件
/etc/sniproxy.conf
中的IP地址
Netflix DNS解码的时需要IP地址授权,因为IPV6和IPV4同时存在,会导致解码失败。
要禁用IPv6,只需在/etc/sysctl.conf中添加如下两行:
1 2 |
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 |
之后执行:
1 |
sysctl -p |
一键安装
1 |
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 |
卸载脚本
1 |
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更改为xxx.xxx.xxxip,即可正常观看奈飞了~
将可解锁奈飞的这个ip复制下来,SSH后台连接不能解锁奈飞的那台vps,找到路径或vi /etc/resolv.conf修改里面的DNS地址,默认一般为8.8.8.8,8.8.4.4两个,这时候删掉一个,保留一个并将dns地址修改成可解锁那台vps的IP即可,然后输入:wq 保存退出!重启VPS,不出意外的话,就可以正常观看了~
调试排错:
- 确认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
后记:
永久修改DNS方法
1、centos
vi /etc/sysconfig/network-scripts/ifcfg-eth0
在最后两行添加:
DNS1=8.8.8.8
DNS2=8.8.4.4
2、debian
网上大部分的方法还是基于centos的,这里老左又整理到debian发行版本的方法。
vi /etc/dhcp/dhclient.conf
然后在dhclient.conf最后一行添加
prepend domain-name-servers 8.8.8.8, 8.8.4.4;
教程结束!