自建DNS解锁服务器,实现流媒体(netflix)解锁
一台能正常解锁Netflix的VPS A(expertvm新加坡),SSH登陆VPS A,执行以下命令安装Dnsmasq SNIproxy。Dnsmasq SNIproxy需要用到53、80、443端口,所以需要放行53、80、443端口。
一、安装脚本
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这是卸载脚本
wget --no-check-certificate -O dnsmasq_sniproxy.sh https://raw.githubusercontent.com/myxuchangbin/dnsmasq_sniproxy_install/master/dnsmasq_sniproxy.sh && bash dnsmasq_sniproxy.sh -u2、查看sni状态命令:systemctl status sniproxy,确认sniproxy是否有效运行。
如果未运行,请确认防火墙放行53、80、443,且确保其他服务没有占用80、443端口,以防端口冲突。查看端口监听命令:
netstat -tlunp|grep 53可能遇到53端口被占用的问题
Dnsmasq解锁Netflix中的Dns等服务要用到53的端口,但有些系统提示已使用(required port 53 already in use )。使用“netstat -tlunp|grep 53”查看53端口是不是systemd-resolved占用了。
如果是,下面为解决方法:
1、先停用 systemd-resolved 服务
systemctl stop systemd-resolved2、编辑 /etc/systemd/resolved.conf 文件
nano /etc/systemd/resolved.conf3、换下面说明更改resolved.conf 文件:
DNS=8.8.8.8 #取消注释,增加dns,
DNSStubListener=no #取消注释,把yes改为no4、最后运行下面命令即可
ln -sf /run/systemd/resolve/resolv.conf /etc/resolv.conf二、把不能解锁Netflix那台VPS的DNS修改为能解锁这台的IP即可。
在VPS A上安装好Dnsmasq SNIproxy并正常运行后,把VPS B(不能解锁Netflix)的DNS改为VPS A的IP地址即可。
在VPS B运行命令
删除resolv.conf 文件
rm -f /etc/resolv.conf创建并编辑 resolv.conf 文件
nano /etc/resolv.conf填写上指定的 DNS 服务器
echo -e "nameserver 4.4.4.4" > /etc/resolv.conf #将4.4.4.4修改为vps A的IP设置写保护锁定 resolv.conf 文件,此时 resolv.conf 文件会被锁定, 重启系统后不会被覆盖
chattr +i /etc/resolv.conf移除解锁操作
chattr -i /etc/resolv.confecho -e "nameserver 8.8.8.8" > /etc/resolv.conf三、防止DNS被其他人滥用,我们需要使用iptables限制访问VPS A(能解锁Netflix的VPS)的53端口。
先限制所有IP访问53端口
iptables -I INPUT -p tcp --dport 53 -j DROP再允许VPS B(不能解锁Netflix的VPS)的IP访问
iptables -I INPUT -s x.x.x.x -p tcp --dport 53 -j ACCEPT要允许多个IP则添加多条即可。
接下来就可以愉快的使用本来不能解锁Netflix的VPS观看Netflix影片了~~