场景:利用中转服务器解锁 Netflix
在实际使用中,我们经常会遇到这种矛盾:服务器 A 速度极快,但无法解锁 Netflix;服务器 B 速度较慢,却拥有 Netflix 解锁权限。如果 A 访问 B 的速度很快,我们可以通过在 B 上构建 DNS 转发与流量代理,让 A 借用 B 的身份来访问 Netflix,从而兼顾速度与可用性。
第一步:在服务器 B 上部署 Dnsmasq 与 Sniproxy
服务器 B 将作为中转节点,需要安装 Dnsmasq(处理 DNS 解析)和 Sniproxy(处理 HTTPS 流量转发)。请注意,此操作将占用 B 服务器的 53 和 80 端口。
根据需求选择以下安装方式:
- 快速安装(推荐):
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
第二步:配置服务器 A 的 DNS 解析
安装完成后,需要将服务器 A 的 DNS 请求指向服务器 B。
编辑服务器 A 的 DNS 配置文件:
vim /etc/resolv.conf
在文件首行添加服务器 B 的 IP 地址,确保其优先级最高:
nameserver x.x.x.x # 将 x.x.x.x 替换为服务器 B 的 IP
nameserver 8.8.8.8 # 保留原有的备用 DNS
第三步:验证解析状态
使用 nslookup 命令检查服务器 A 对 Netflix 域名的解析是否已指向服务器 B。
nslookup Netflix.com
如果系统提示命令不存在,请根据发行版安装相关工具:
- Debian/Ubuntu:
apt-get -y install dnsutils - CentOS:
yum install -y bind-utils
再次执行 nslookup Netflix.com,若返回的 IP 为服务器 B 的地址,则表示配置成功,此时服务器 A 即可访问 Netflix。
注意事项:防止 DNS 滥用
由于 B 服务器的 53 端口处于开放状态,为了防止被他人扫描或滥用,建议使用 iptables 限制仅允许服务器 A 访问。
1. 屏蔽所有 IP 访问 53 端口:
iptables -I INPUT -p tcp --dport 53 -j DROP
2. 仅放行服务器 A 的 IP:
iptables -I INPUT -s x.x.x.x -p tcp --dport 53 -j ACCEPT
(注:若有多个需要授权的服务器,重复执行上述第二条命令并更换 IP 即可)
正文完