美好的生活需要用心记录
临近圣诞节,steam展开了剁手模式,一时忍不住入手无主之地2这个游戏,但是不知道为啥,用国内的下载点总是下载几分钟就断流,Linux下面例如tsocks,之类的代理软件都不能让steam走代理,于是只好用redsocks进行全局代理来加速steam的下载。
首先下载下载redsocks:
sudo apt install redsocks
redsocks { /* `local_ip' defaults to 127.0.0.1 for security reasons, * use 0.0.0.0 if you want to listen on every interface. * `local_*' are used as port to redirect to. */ local_ip = 127.0.0.1; local_port = 12345; // `ip' and `port' are IP and tcp-port of proxy-server // You can also use hostname instead of IP, only one (random) // address of multihomed host will be used. ip = 127.0.0.1; port = 10086; // known types: socks4, socks5, http-connect, http-relay type = socks5; // login = "foobar"; // password = "baz"; }
然后就是最重要的iptables转发规则了,我们创建一个文件夹:
sudo mkdir /etc/redsocks
start里面写入一下内容:
#!/bin/bash #不重定向目的地址为服务器的包 #请用你的shadowsocks服务器的地址替换$SERVER_IP sudo iptables -t nat -A OUTPUT -d $SERVER_IP -j RETURN #不重定向私有地址的流量 sudo iptables -t nat -A OUTPUT -d 10.0.0.0/8 -j RETURN sudo iptables -t nat -A OUTPUT -d 172.16.0.0/16 -j RETURN sudo iptables -t nat -A OUTPUT -d 192.168.0.0/16 -j RETURN #不重定向保留地址的流量,这一步很重要 sudo iptables -t nat -A OUTPUT -d 127.0.0.0/8 -j RETURN #重定向所有不满足以上条件的流量到redsocks监听的12345端口 #12345是你的redsocks运行的端口,请根据你的情况替换它 sudo iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 12345
#!/bin/bash #不重定向目的地址为服务器的包 #请用你的shadowsocks服务器的地址替换$SERVER_IP sudo iptables -t nat -D OUTPUT -d $SERVER_IP -j RETURN #不重定向私有地址的流量 sudo iptables -t nat -D OUTPUT -d 10.0.0.0/8 -j RETURN sudo iptables -t nat -D OUTPUT -d 172.16.0.0/16 -j RETURN sudo iptables -t nat -D OUTPUT -d 192.168.0.0/16 -j RETURN #不重定向保留地址的流量,这一步很重要 sudo iptables -t nat -D OUTPUT -d 127.0.0.0/8 -j RETURN #重定向所有不满足以上条件的流量到redsocks监听的12345端口 #12345是你的redsocks运行的端口,请根据你的情况替换它 sudo iptables -t nat -D OUTPUT -p tcp -j REDIRECT --to-ports 12345
sudo chmod +x /etc/redsocks/*.sh
[Unit] Description=Redsocks transparent SOCKS proxy redirector After=network.target [Service] Type=forking EnvironmentFile=/etc/default/redsocks ExecStartPre=/etc/redsocks/start.sh ExecStartPre=/usr/sbin/redsocks -t -c ${CONFFILE} ExecStart=/usr/sbin/redsocks -c ${CONFFILE} ExecStopPost=/etc/redsocks/stop.sh [Install] WantedBy=multi-user.target
最后关闭redsocks的开机自启,现在redsocks的全局代理功能就弄好了,需要的时候直接通过systemd启动关闭redsocks就行了。
ps:注意我这个是为了加速steam下载,不是为了翻墙,启用全局代理之后dns污染依旧存在,所以被墙网站依旧无法正常打开,想要正常使用你需要自己加一个DNS清理工具,例如Pcap_DNSProxy
评论:
2018-09-26 02:22