如何科学上网

“The best time to plant a tree was 20 years ago. The second best time is now.”
— Chinese Proverb

一直想写点什么,却由于各种各样的原因一直没能实现。

最近红杏挂了,用阿里云的服务器搭了一个简单的 vpn,顺便用 WordPress 搭了一个个人博客。

可能会写一些技术文章,读书笔记,旅行日记,一切皆有可能。

对于一个拖延症晚期的人来说,保证按时更新基本是不可能的。

所以至少每月一篇吧。


为什么科学上网(翻墙)是每个科技工作者必备的技能?

因为一些众所周知的原因,包括 Google 在内的许多海外知名网站都被封了,而且随着 GFW 的不断升级,会有越来越多的网站无法访问。

那么问题来了,如何用正确的姿势来科学上网(翻墙)呢?

如果你去网上搜索一下,你会发现原来有这么多种科学上网的方法,不管你是没有什么经验的新手,还是已经解锁多种姿势的老手,相信都会大开眼界的。

这里主要介绍一些我用过的科学上网方法。

1.ssh 代理

首先你需要一个 ssh 账号。我当时用的是公司的账号。网上可以找到免费试用的 ssh 账号,如果需要购买可以去淘宝。

然后你需要 Bitvise SSH Client (以前叫 Bitvise Tunnelier),Firefox 浏览器 和 Foxyproxy 插件。

由于没有 Windows 系统的电脑(其实是懒),就不写详细的步骤了,教程可以自行网上搜索。

2.红杏

鉴于红杏已经挂了,不知道什么时候能恢复,这里就不介绍了。

3.vpn

不得不说,vpn 用户才是科学上网的主力军。

今天我们主要介绍怎么在 ubuntu 14.04 上搭建 PPTP 服务器。

安装和配置 pptp 服务器

首先我们用 apt-get 安装 pptp 服务器

# sudo apt-get install pptpd

然后我们需要修改 pptp 服务器配置文件

# sudo vi /etc/pptpd.conf

在文件结尾添加 server IP 和 client IP. 比如下面这样:

localip 192.168.0.1
remoteip 192.168.0.100-200

把 PPTP 服务器的 IP 配置为 192.168.0.1, 同时给连接到该 PPTP 服务器的 PPTP 客户端分配 192.168.0.100 到 192.168.0.200 的地址段。

配置当 PPTP 客户端 连接到 PPTP 服务器时使用的 DNS 服务器

# sudo vi /etc/ppp/pptpd-options

去掉 ms-dns 配置前面的 #,你可以像下面一样添加 google 的 DNS 服务器或者其他的 DNS 服务器

ms-dns 8.8.8.8
ms-dns 8.8.4.4

然后在配置文件 /etc/ppp/chap-secrets 里面添加用户数据

# sudo vi /etc/ppp/chap-secrets

每一行是是一个用户,一共四项数据,用空格隔开。

第一项是用户名。第二项是服务器名称,你可以填 “pptpd”。第三项是密码。最后一项是 IP 地址,填 * 代表允许所有 IP 访问。

# client server secret IP addresses
username * password *

最后启动 PPTP 服务器

# /etc/init.d/pptpd restart

OK,现在可以使用你的用户名密码连接到 PPTP 服务器了,是不是就大功告成了呢?

然而并没有,你会发现虽然你已经连上了 VPN,但是根本上不了网。因为你忘了一个重要的步骤。

配置 IP 转发

我们可以通过修改/etc/sysctl.conf 文件来启用 IPv4 转发。

# sudo vi /etc/sysctl.conf

把下面一行的注释去掉

net.ipv4.ip_forward=1

然后重新加载配置文件

sudo sysctl -p

把转发规则添加到 iptables

# sudo vi /etc/rc.local

在 exit 0 之前添加下面两行

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
iptables -A FORWARD -p tcp --syn -s 192.168.0.0/24 -j TCPMSS --set-mss 1356

重启之后你就可以连接到你的 PPTP 服务器,并且愉快的 Google 一下了。

参考:

免费 ssh 代理

http://blog.onlybird.com/getfreessh

Bitvise SSH Client 下载地址

https://www.bitvise.com/ssh-client-download

在Ubuntu上搭建VPN(PPTP)

https://help.ubuntu.com/community/PPTPServer


最后说点题外话,这个世界上并没有绝对的自由。当我们讨论如何科学上网时,我们讨论的是一种技术问题,而不是是非问题。

1,459 total views, no views today