原理
其实DNS流媒体解锁的原理说白了就是DNS劫持+反向代理。假设你有2台VPS,一台VPS1能解锁Netflix(或其他流媒体),另一台VPS2不能解锁Netflix。
DNS流媒体的原理就是:
- 将VPS2的DNS指向到VPS1的DNS服务器上
- VPS1收到一般的域名请求会正常返回结果,但是收到Netflix、HBO、HULU等流媒体域名的请求时就会直接返回VPS1的IP,VPS2收到这个IP后便会误以为VPS1就是Netflix的服务器并与它建立连接,这时VPS1会将VPS2的流量代理到真正的Netflix的服务器,从而实现VPS2的Netflix解锁。
所以,如果你使用DNS解锁流媒体,那么观看Netflix时会同时消耗VPS1和VPS2的流量。
安装
安装注意事项:确认防火墙放行80,443,53
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 -u
安装完成后,将代理VPS(即不能观看流媒体的vps)的DNS地址修改为这个主机的IP就可以了,如果不能用,记得只保留一个DNS地址试一下。
我这个美国vps不能解锁奈飞,那么这时候我将这台vps的dns设置为上面刚搭建好的dns解锁的IP,我们再试一下,我们使用以下命令修改(Debian/ubuntu)
echo -e "nameserver 4.4.4.4" > /etc/resolv.conf #将4.4.4.4修改为dns解锁IP
chattr +i /etc/resolv.conf
移除操作
chattr -i /etc/resolv.conf
echo -e "nameserver 8.8.8.8" > /etc/resolv.conf
调试排错
确认sniproxy有效运行
systemctl status sniproxy #查看sni状态
service sniproxy stop #停止sni服务
service sniproxy start #启动sni服务
如果sni不在运行,检查一下是否有其他服务占用80,443端口,以防端口冲突,先将其他服务更改一下监听端口,查看端口监听:netstat -tlunp|grep 443
文章来源:https://blog.mochen.one/archives/15
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容