国外资源网络加速(设置vps代理)

blob.png blob.png

 上面左边是我的个人微信,如需进一步沟通,请加微信。  右边是我的公众号“Openstack私有云”,如有兴趣,请关注。




    在很多情况下访问国外软件源的时候网络速度非常慢,为了加速国外资源网络的访问,专门租用了境外的vps服务器,在vps上搭建shadowsocks程序做代理,国内服务器通过shadowsocks代理上网,可以大大提高国外站点的资源访问速率。下面介绍配置方法。

    VPS推荐使用vultr的VPS,性价比最好,只要使用下面的链接注册vultr账号并订购虚拟机使用30天以上,我能获得一点推荐奖励金,谢谢支持,我的奖励注册链接如下:

https://www.vultr.com/?ref=7115815


1. 安装shadowsocks,(安装完成后就可以用客户端程序sslocal) :  

Centos7安装方法:  

yum install -y python-pip

pip install shadowsocks

 

unbuntu16安装方法:

apt-get install shadowsocks

 

unbuntu14 需要使用pip安装:  

apt-get install python-gevent python-pip

pip install shadowsocks

 

修改shadowsocks客户端配置文件 :  

# vi /etc/shadowsocks/config.json

{

"server":"45.77.13.39",  #vps服务器IP地址

"server_port":443,

"local_address":"127.0.0.1",

"local_port":1080,

"password":"******",    #vps上设置的密码,使用你自己设置的密码

"timeout":300,

"method":"aes-256-cfb",

"fast_open":false,

"workers":1

}

 

 

2. 安装redsocks

Centos7安装方法:  

yum install libevent-devel git gcc

mkdir ~/shadowsocks

cd ~/shadowsocks

git clone https://github.com/darkk/redsocks

cd ~/shadowsocks/redsocks

make

cp ~/shadowsocks/redsocks/redsocks /usr/local/bin/

新建配置文件:

vi /etc/redsocks.conf

 

base {

        log_debug = off;

        log_info = on;

        log = stderr;

        daemon = off;

        redirector = iptables;

}

redsocks {

        local_ip = 0.0.0.0;    #本地转发地址

        local_port = 12345;  #本地转发端口

        ip = 127.0.0.1;

        port = 1080;       #shadowsocks端口

        type = socks5;

}

 

unbuntu16安装方法:

apt-get install redsocks

 

3. 新建shadowsocksredsocks启动脚本文件

 

新建启动脚本文件/etc/systemd/system/shadowsocks.service,内容如下:

 

[Unit]

Description=Shadowsocks

 

[Service]

TimeoutStartSec=0

ExecStart=/usr/bin/sslocal -c /etc/shadowsocks/config.json

 

[Install]

WantedBy=multi-user.target

 

新建启动脚本文件/etc/systemd/system/redsocks.service,内容如下:

 

[Unit]

Description=Redsocks

 

[Service]

TimeoutStartSec=0

ExecStart=/usr/local/bin/redsocks -c /etc/redsocks.conf

 

[Install]

WantedBy=multi-user.target

 

执行以下命令启动 shadowsocks 服务:

 

systemctl enable shadowsocks

systemctl start shadowsocks

 

systemctl enable redsocks

systemctl start redsocks

 

检查服务状态,确保服务启动正常:

systemctl status shadowsocks

systemctl status redsocks

检查端口,shadowsocks使用1080端口,redsocks使用12345端口:

ss -anp|grep 1080

ss -anp|grep 12345

 

4. 设置iptables消息转发,将除本地消息和局域网内部消息,其他消息全部转发到12345端口:

#!/bin/bash

export SERVER_IP="45.77.13.39"

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.0.0.0/8 -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

sudo iptables -t nat -A OUTPUT -p tcp -j REDIRECT --to-ports 12345

 

以上命令的作用是,内网10.0.0.0/8,172.0.0.0/8 ,192.168.0.0/16, 127.0.0.0/8 网段的消息不做处理,除此之外,所有的网络包都转发到本地端口12345 

 

 

测试是否能够访问

curl www.google.com.hk

 

 

当需要取消消息转发的时候运行如下命令:

sudo iptables -t nat -D OUTPUT 6

sudo iptables -t nat -D OUTPUT 5

sudo iptables -t nat -D OUTPUT 4

sudo iptables -t nat -D OUTPUT 3

sudo iptables -t nat -D OUTPUT 2

sudo iptables -t nat -D OUTPUT 1



 

注意,如果主机重启,shadowsocksredsocks服务会自动启动,但是需要手工运行上面的第4步,设置iptables消息转发。

如果不需要使用了,将iptables消息转发关闭,shadowsocksredsocks服务关闭和禁用即可。


猜你喜欢

转载自blog.51cto.com/yuweibing/2132595