使用端口转发来解锁流媒体,从而达到能够观看netflix的效果。推荐使用Socat来使用,一键脚本配置。iptables对大厂带有内网ip的机器可能无法生效,需要修改为其内网给定的ip地址(如阿里云内网ip)。甲骨文上iptables无法生效,但是Socat都可以完美运行,所以推荐直接使用Socat。
使用iptables中转
1.开启内核ip转发
打开配置文件:
vim /etc/sysctl.conf
将下面两项注释去掉,保存。
#net.ipv4.ip_forward=1
#net.ipv6.conf.all.forwarding=1
使改动生效
sysctl -p
2.转发规则设置
iptables -t nat -A PREROUTING -p tcp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号
iptables -t nat -A PREROUTING -p udp --dport 本机端口号 -j DNAT --to-destination 目标地址:目标端口号
iptables -t nat -A POSTROUTING -p tcp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址
iptables -t nat -A POSTROUTING -p udp -d 目标地址 --dport 目标端口号 -j SNAT --to-source 本机内网地址
其中,目标地址 为目标服务器的 IP 地址,本机内网地址 为本机在内部局域网的 IP 地址。
设置完毕以后将代理配置中的ip地址和端口修改为中转机的地址即可。
3.iptables常用命令
# 保存 iptables
service iptables save
# 重启 iptables
service iptables restart
# 显示已有规则
iptables -t nat -L -n --line-number
# 删除链(chain)INPUT 中第二行的规则
iptables -D INPUT 2
# 清空规则
iptables -F
iptables -X
iptables -Z
iptables -t nat -F
4.注意
4-1.iptables规则在系统重启后会失效
a.可以通过一个脚本添加的的域名转发来解决。
github地址:
b.通过设置开机自启动脚本实现开即自动启动
新建开机脚本,然后写入上面的转发规则
vim IptablesTrans.sh
配置开机启动脚本
cat > /etc/systemd/system/IptablesTrans.service <<EOF
[Unit]
Description=iptablestrans
After=network.target
[Service]
User=root
ExecStart=/home/IptablesTrans.sh
ExecStop=/home/IptablesTrans.sh
[Install]
WantedBy=default.target
EOF
启动& 设置开机启动
systemctl start IptablesTrans && systemctl enable IptablesTrans
c.推荐使用:保存iptables规则
CentOS 下保存规则:
service iptables save
Debian & Ubuntu 下 保存规则:
apt install iptables-persistent -y
netfilter-persistent save
netfilter-persistent start
参考链接
1.转发规则及Iptables配置:
2.参考教程:
使用Socat中转
1.安装
**系统要求:**支持CentOS 6+
、Debian 7+
、Ubuntu 14+
。**脚本说明:**脚本默认开启UDP
、TCP
转发,带开机自启功能,且一次只能转发单个端口,如果想转发多个端口请重复运行本脚本。**提示:**该脚本在Vultr
各个系统均测试通过,包括最新的Ubuntu 18.04
,如果有其它问题可以留言。
使用root
运行以下命令:
wget <https://www.moerats.com/usr/shell/socat.sh> && bash socat.sh
按要求输入以下信息:
#如果你要用本地服务器的3333端口转发IP为1.1.1.1服务器的6666端口,那就依次填入指定参数。
请输入本地端口:3333
请输入远程端口:6666
请输入远程IP:1.1.1.1
2.删除配置规则
编辑下/etc/rc.local文件,自行删除此前的配置(看端口删除),然后重启系统即可。