科学上网

有时查阅资料不是很方便,为了科学上网,买了一台廉价的海外vps,为了不同场景和设备都能较容易的科学访问网站,部署了Shadowsocks和pptp服务,把部署的过程介绍下。
部署Shadowsocks服务:
Shadowsocks服务的安装可以参考github上提供的安装说明。vps的系统是CentOS6,新的机器很多的依赖软件都没有配置起来会繁琐一点,具体如下:

1、用yum或pip先装好依赖环境,最后安装Shadowsocks服务

1
2
3
4
5
6
7
8
9
$ yum install python-setuptools libevent python-devel gcc openssl-devel swig 
$ wget https://pypi.python.org/packages/source/p/pip/pip-6.0.tar.gz --no-check-certificate
$ tar xvfz pip-6.0.tar.gz
$ cd pip-6.0
$ python setup.py build
$ python setup.py install
$ pip install gevent
$ pip install M2Crypto
$ pip install shadowsocks

2、配置、启动服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$ mkdir /usr/local/shadowsocks
$ cd /usr/local/shadowsocks
#编辑配置文件shadowsocks.json
$ cat shadowsocks.json
{
"server": "服务器IP地址(例如192.192.192.192)",
"server_port": 服务器监听端口(例如8688),
"local_address": "127.0.0.1",
"local_port":1080,
"password":"访问密码(例如kdjfiwfs123757)",
"timeout":300,
"method":"aes-256-cfb", #加密方式,建议采用aes-256-cfb
"fast_open": false
}
#防火墙开启上面服务器监听端口(showdowsocks会监听tcp和udp两种协议的端口)
iptables -A INPUT -p tcp --destination-port 8688 -j ACCEPT
iptables -A INPUT -p udp --destination-port 8688 -j ACCEPT
#启动服务
$ nohup /usr/bin/ssserver -c /usr/local/shadowsocks/shadowsocks.json &

3、客服端配置 shadowsocks是多平台应用,不同平台的客户端下载参见网站http://shadowsocks.cn/ 以windows 7为例,shadowsocks客户端的配置文件config.json类似如下:

1
2
3
4
5
6
7
8
9
10
{ 
"server":"192.192.192.192",
"server_port":8688,
"local_address": "127.0.0.1",
"local_port":1080,
"password":"kdjfiwfs123757",
"timeout":300,
"method":"aes-256-cfb",
"fast_open": false
}

启动客户端后,如上配置会监听本地127.0.0.1的1080端口,此时还需要一个socks v5代理的软件监听本地的1080端口,系统代理可以用Proxifier,浏览器代理可以用SwitchySharp插件。
之后将shadowsocks服务加入到开机启动,以后就不要每次都手动打开了。

部署pptp服务:
1、先安装epel源,然后安装ppp、pptpd服务

1
2
3
4
5
6
$ wget -c http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ rpm -ivh epel-release-6-8.noarch.rpm
$ yum clean all
$ yum makecache
$ yum install ppp
$ yum install pptpd

2、配置ppp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ grep -Ev "^#|^$" /etc/ppp/options.pptpd 
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 8.8.8.8
ms-dns 8.8.4.4
proxyarp
lock
nobsdcomp
novj
novjccomp
nologfd
$

3、添加pptp用户

1
2
3
4
5
$ cat /etc/ppp/chap-secrets 
# Secrets for authentication using CHAP
# client server secret IP addresses
zhangshan pptpd 'dkdkkdje123' *
$

4、配置pptpd

1
2
3
4
5
6
7
$ grep -Ev "^#|^$" /etc/pptpd.conf 
option /etc/ppp/options.pptpd
logwtmp
# 不要和物理网卡处于同一个网段即可
localip 192.168.10.1
remoteip 192.168.10.222-238
$

5、开启转发并配置iptables(网卡是venet0)

1
2
3
4
5
6
7
8
9
# 开启网络转发功能
$ grep "net.ipv4.ip_forward" /etc/sysctl.conf
net.ipv4.ip_forward = 1
$ sysctl -p
# 防火墙配置如下
iptables -A INPUT -p tcp --destination-port 1723 -j ACCEPT
iptables -t nat -A POSTROUTING -o venet0 -s 192.168.10.0/24 -j MASQUERADE
iptables -A FORWARD -o venet0 -j ACCEPT
iptables -A FORWARD -i venet0 -j ACCEPT

6、启动pptpd服务即可

1
$ /etc/init.d/pptpd start

7、pptp的客服端一般的系统都集成了,使用简单方便,这也是除了部署shadowsocks服务还要部署pptp的原因了。

----------------本文结束 感谢阅读----------------