2011年9月12日星期一

精品博客

精品博客


如何把 VPS 作为 SSH 代理翻墙

Posted: 11 Sep 2011 08:50 PM PDT

VPS 不仅可以用来搭建 PPTPL2TP/IPSecOpenVPN,而且还可以直接作为 SSH 代理翻墙。

以下将介绍一个如何把 VPS 作为 SSH 代理翻墙的简易方法:

I、连接 VPS

SSH VPS Terminal Connect

之前所说,对 Windows 来讲,你可以安装一个 SSH 客户端(例如 Tunnelier), 对 Mac 来讲,你也可以安装一个 SSH 客户端(例如 Issh),但更简单的方法是直接在终端应用程序上通过以下命令连接:

ssh -N -D 7070 root@94.249.184.93

记得将 "94.249.184.93" 替换成你 VPS 的 IP 地址,按下 "Return" 键,输入 VPS 登录密码,如果正确,回车后你将看不到任何新的内容。

顺便说一下,不管你的 VPS 事先是否已经安装了 VPN,你都可以把 VPS 作为 SSH 代理,这不会影响 VPN 的使用。

技巧:

尽管以上是最简单的连接方法,但是只能供你一个人使用——除非你想把自己的 VPS 帐户和别人分享。而如果要和别人分享同一个 SSH 代理,你可以通过以下 4 个步骤新建一个受限的 VPS 用户:

1、登录 VPS

在终端应用程序上输入以下命令:

SSH root@94.249.184.93

记得将 "94.249.184.93" 替换成你 VPS 的 IP 地址。

2、创建一个用户组

输入以下命令:

groupadd internetfreedom

你可以将 "internetfreedom" 替换成任意名字。

3、创建受限用户

输入以下命令:

useradd -d /home/freenutsdotcom -m -g internetfreedom -s /bin/false freenutsdotcom

以上命令将会在 "internetfreedom" 创建一个新的 SSH 用户 "freenutsdotcom",该用户只能使用 SSH 代理,不能登录你的 VPS 帐户。

4、为新用户设置密码

输入以下命令:

passwd freenutsdotcom

然后,为该用户设置任意密码 (例如 "123456")。

完了之后,你就可以把该用户名和密码分享给朋友,他们也就可以通过以下命令使用你的 SSH 代理:

ssh -N -D 7070 freenutsdotcom@94.249.184.93

记得把 "freenutsdotcom" 替换成你新建的用户名,把 "94.249.184.93" 替换成你 VPS 的 IP 地址。

II、配置浏览器代理

连接上 VPS 之后,你需要在浏览器的网络设置里面将 Socks 代理的服务器 IP 地址设为 127.0.0.1,并且端口为 7070。其中 Firefox 和 Chrome 浏览器的设置分别如下:

1、Firefox

SSH proxy settings

以上的设置界面你可以在 Firefox 浏览器上通过以下路径找到:

Preference –> Advanced –> Network –> Settings

2、Chrome

SSH Chrome Proxy Settings

以上的设置界面你可以在 Chrome 浏览器上通过以下路径找到:

Preference –> Under the Hood –> Network –> Change Proxy Settings

顺便一提,HTTP、SSL、FTP 以及其他代理服务器的 IP 地址一律留空或者不要打勾。

额外收获:

以下是一个根据以上的教程搭建的 SSH 代理帐号:

Host: 94.249.184.93

Username: freenutsdotcom

Password: 123456

该 SSH 帐号将供免费试用大概 10 天。

相关博文:

  1. 在 VPS 上搭建 OpenVPN 简易教程
  2. 如何在 VPS 上搭建 PPTP 简易教程
  3. 如何在 VPS 上搭建 L2TP/IPSec 简易教程

在 VPS 上搭建 OpenVPN 简易教程

Posted: 11 Sep 2011 07:38 AM PDT

虽然都是 VPN, 但 PPTPL2TP/IPSec 主要适用于 Xen,而 OpenVPN 则既可以在 Xen 也可以在 OpenVZ 类型的 VPS 上搭建,只不过你需要安装一个客户端才能使用。

这篇文章将介绍如何仅通过 10 个步骤就可以成功搭建 OpenVPN 的方法,而你需要的仅是一个 VPS 和一台可以上网的电脑。和 PPTP 以及 L2TP/IPSec 的一样,以下 OpenVPN 的搭建教程也是基于 Xen VPS 的 Ubuntu 系统以及 Mac 电脑自带的终端应用程序,对 Linux 来讲,操作步骤几乎一模一样,但是对 Windows 来讲,你就需要事先安装 Putty 软件。

I、连接 VPS

打开终端应用程序并输入以下命令:

ssh root@xxx.xxx.xxx.xxx

记得把 "xxx.xxx.xxx.xxx" 替换成你 VPS 的 IP 地址,例如 "178.18.17.142″。

小技巧:关于如何连接的更多信息,可以参考 PPTP 的搭建教程。

II、安装 OpenVPN

输入以下命令:

apt-get install openvpn

回车,输入 "y",再回车。

III、移动 easy-rsa 文件夹

输入以下命令:

cp -R /usr/share/doc/openvpn/examples/easy-rsa /etc/openvpn

回车完成将 easy-rsa 文件夹复制到 OpenVPN 根目录的操作。

IV、生成加密文件

一行一行地输入以下命令,每行都要回车,在出现 "yes/no" 问题的地方输入 "yes" 再回车:

cd /etc/openvpn/easy-rsa/2.0

. ./vars

./clean-all

./build-ca

./build-key-server server

./build-key client

./build-dh

小技巧:你可以将 "client" 改成任意的名字,但是下面的步骤也要跟着改。

V、应用 iptables 规则

这个步骤将使你的 OpenVPN 连接到互联网:

1、转发 IP

输入以下命令:

vi /etc/sysctl.conf

回车,找到 "#net.ipv4.ip_forward=1" 这一行,按 "x" 键删除那个 "#" 号,然后输入 ":wq" 保存。

2、使转发生效

输入以下命令:

sysctl -p

如果一切正常,你将只会看到以下结果:

net.ipv4.ip_forward=1

3、创建 iptables 规则

输入以下命令:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142

记得将 "178.18.17.142" 改为你 VPS 的 IP 地址。

小技巧:如果是 OpenVZ 类型的 VPS,则需要将 "eth0" 替换成 "venet0"。

VI、创建 VPS 上的 OpenVPN 配置文件

输入以下命令:

# vi /etc/openvpn/server.conf

回车,按下 "i" 键,然后粘贴以下内容:

port 1194
proto udp
dev tun
ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
log /var/log/openvpn.log
verb 3

按下 "esc" 键退出插入模式,输入 ":wq" 保存文件。

小技巧:你也可以将 8.8.8.8 和 8.8.4.4 分别替换成 208.67.222.222 和 208.67.220.220。

VII、启动 OpenVPN

输入以下命令:

# /etc/init.d/openvpn start

回车。

VIII、创建电脑上的 OpenVPN 配置文件

输入以下命令:

vi /etc/openvpn/easy-rsa/2.0/keys/client.conf

回车,按下 "i" 键,并粘贴以下内容:

client
dev tun
proto udp
remote 178.18.17.142 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
comp-lzo
verb 3
redirect-gateway
script-security 2

记得将 "178.18.17.142" 换成你 VPS 的 IP 地址。

完了之后,按下 "esc" 键退出插入模式,输入 ":wq" 保存。

IX、重启

为了避免 VPS 重启后重新设置一遍 iptables 规则,你可以输入以下命令:

vi /etc/rc.local

回车,按下 "i" 键,并将以下内容粘贴到 "exit 0" 这一行的上面:

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j SNAT --to 178.18.17.142
openvpn /etc/openvpn/server.conf

记得将 "178.18.17.142″ 替换成你 VPS 的 IP 地址,完了之后,按下 "esc" 键退出插入模式,然后输入 ":wq" 保存。

小技巧:以上的命令是针对 Xen 类型的 VPS,如果是 OpenVZ 类型的,则需要将 "eth0" 替换成 "venet0"。

X、将配置文件下载到电脑里

电脑上需要有以下四个 OpenVPN 的配置文件:

  • client.conf
  • ca.crt
  • client.crt
  • client.key

要下载以上文件,你可以使用 Fetch (Mac)、WinSCP (Windows) 或者其他 SFTP 软件,也可以直接在 Mac 的终端上使用以下 SSH 命令:

1、进入文件所在的目录

输入以下命令:

cd /etc/openvpn/easy-rsa/2.0/keys/

回车。

2、下载文件

输入以下命令:

scp ca.crt client.crt client.key client.conf air@68.68.40.151:

记得将 "air" 换成你电脑的用户名,将 "68.68.40.151" 换成你本地的 IP —— 这个你可以通过以下方法获得:

首先,打开一个新的终端窗口,接着输入 "ifconfig",回车,如果结果包含一行 "ppp0" 的类似如下的内容:

How to set up OpenVPN

那么第一个 inet 值就是你本地的 IP,如果没有 "ppp0" 这一行,那么你就不能通过以上的 SCP 命令直接从 VPS 上下载文件。

完了之后,回车,输入 "yes",如果电脑有设置密码,则接着输入电脑密码,然后那 4 个文件就会被下载到该用户名的根目录。

3、移动下载文件

完了之后,找到下载的文件并复制粘贴到电脑上 OpenVPN 的 Configurations 文件夹,然后,你的 OpenVPN 就可以翻墙了。

额外收获:

以下是一个根据以上步骤搭建的 OpenVPN:

FreeNuts OpenVPN

这个 OpenVPN 将免费大概一个月,你可以下载并参考这篇文章在电脑或者手机上试用。

相关博文:

  1. 如何在 VPS 上搭建 PPTP 简易教程
  2. 如何在 VPS 上搭建 L2TP/IPSec 简易教程
  3. GAppProxy 升级到 2.0 之后的使用方法

没有评论:

发表评论