<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>雨天阳光 &#187; OpenVPN</title>
	<atom:link href="http://shit.name/tag/openvpn/feed/" rel="self" type="application/rss+xml" />
	<link>http://shit.name</link>
	<description>此人之水镜，见之莹然，若披云雾而睹青天也。</description>
	<lastBuildDate>Wed, 31 Dec 2014 06:21:04 +0000</lastBuildDate>
	<language>zh-CN</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.33</generator>
	<item>
		<title>在CentOS下搭建OpenVPN</title>
		<link>http://shit.name/openvpn-on-centos/</link>
		<comments>http://shit.name/openvpn-on-centos/#comments</comments>
		<pubDate>Mon, 17 Sep 2012 16:51:50 +0000</pubDate>
		<dc:creator><![CDATA[Oo雨天阳光oO]]></dc:creator>
				<category><![CDATA[互联二亩田]]></category>
		<category><![CDATA[OpenVPN]]></category>

		<guid isPermaLink="false">http://shit.name/?p=208</guid>
		<description><![CDATA[国内网络环境不怎么好，为了更好地在互联网中学习和娱乐，弄部梯子也是有必要的，当然市售的有很多，但不折腾下怎么能 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-207" title="ladder" src="http://shit.name/wp-content/uploads/2012/09/ladder.jpg" alt="" width="614" height="140" /><br />
国内网络环境不怎么好，为了更好地在互联网中学习和娱乐，弄部梯子也是有必要的，当然市售的有很多，但不折腾下怎么能睡得着觉呢 ^_^</p>
<p>那梯子各式各样，为什么用OpenVPN而不用PPTP或是更简单的SSH呢？SSH是简单但是打开网页多了，它也就力不从心了；OpenVPN比PPTP好伺候，能装在基于OpenVZ虚拟化技术的VPS上，当然装Xen上更好（PPTP只能装在基于Xen的VPS，但大多数VPS因为成本原因是OpenVZ的），而且它穿透性更强，功能更强大，比如能穿透中国移动的cmwap代理实现cmnet的功能。</p>
<p>我这篇讲解在CentOS 5.6上的搭建过程，如有童鞋需要在Debian上的搭建方法，请参考我的另外一篇博文<a title="在Debian下搭建OpenVPN" href="http://shit.name/openvpn-on-debian/" target="_blank">《在Debian下搭建OpenVPN》</a>。</p>
<p>为什么会写两篇基于不同系统的教程呢？这里有个小插曲，同事L小姐在MAC下更换授权文件时没有全部更换完，加上本人对<a href="http://code.google.com/p/tunnelblick/">tunnelblick</a>不熟，以为是VPN服务端的原因，所以就在两种系统下都进行了搭建，然后调整各种参数……最后的最后L小姐以初次安装时的配置方法去配置授权文件才结束了这次各种折腾。虽然过程有些曲折，不过收获还是蛮多，优化后的速度比之前快了许多。</p>
<p>好了，下面就准备动手折腾吧：</p>
<p>首先得准备个VPS，起步配置很低，128M内存的就OK，要有哪位看客非得用32G独服来搭，那爷您里边请，VIP雅座——美女水果、茶水点心伺候。<span id="more-208"></span></p>
<p><span style="color: #000000;"><strong>一、OpenVPN需要tun和iptables_nat模块支持，所以先检查你的VPS支持不支持。</strong></span><br />
SSH登陆VPS后输入</p>
<pre class="brush: plain; title: ; notranslate">cat /dev/net/tun</pre>
<p>若返回信息为：cat: /dev/net/tun: File descriptor in bad state 说明tun/tap已经可以使用；<br />
如果返回：cat: /dev/net/tun: No such device 或其他则说明tun/tap没有被正确配置，发TK联系客服申请开通tun/tap。</p>
<p>然后检查iptables_nat模块（如果还没有安装iptables，先安装）</p>
<pre class="brush: plain; title: ; notranslate">yum install iptables    #如已安装跳过</pre>
<p>如果你的VPS是Xen或KVM的请输入：（eth0要根据具体的网卡标识来，可以通过ifconfig查看）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE</pre>
<p>如果是OpenVZ的请输入：（11.22.33.44是你VPS的IP）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44</pre>
<p>然后用</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -L</pre>
<p>查看iptables转发状态，如果显示以下类似的结果则说明转发成功：<br />
target             prot opt source                      destination<br />
SNAT              all -- 10.168.0.0/16                anywhere                    to:11.22.33.44</p>
<p><span style="color: #000000;"><strong>二、tun和iptables_nat模块检测通过后，正式进入安装阶段：</strong></span><br />
默认情况下CentOS的yum源是没有OpenVPN的（不像Debian很多东西都可以一键apt-get install，这也是我比较喜欢Debian的原因），不过安装<a href="https://fedoraproject.org/wiki/EPEL">EPEL</a>这个东西成功后,yum源里面就有OpenVPN了。<br />
5.x版系统安装EPEL：</p>
<pre class="brush: plain; title: ; notranslate">rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm</pre>
<p>6.x版系统安装EPEL：</p>
<pre class="brush: plain; title: ; notranslate">rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm</pre>
<p>有的童鞋可能会说直接去openvpn.net下载安装包手动编译好了，个人认为手动编译听起来是比较cool,不过没有yum方便，像这里OpenVPN需要lzo支持，安装的时候会自动检测系统，把lzo也安装进去,手动的话还需要编译其他没有的组件。</p>
<pre class="brush: plain; title: ; notranslate">yum -y install openvpn</pre>
<p>对了，在所有步骤之前（就是刚登陆进来时），最好先更新升级下系统，这样可以自动分析当前系统的安装环境并根据具体命令网络升级安装所需组件，更便于之后组件的安装。</p>
<pre class="brush: plain; title: ; notranslate">yum -y update</pre>
<p><span style="color: #000000;"><strong>三、安装好后，先使用easy-rsa生成服务端证书：</strong></span><br />
默认OpenVPN的easy-rsa文档会在/usr/share/doc/openvpn/examples/easy-rsa/，如果不在的话请先检查是否安装成功然后用locate或find命令查找该文档。然后将该文档下所需的配置文件复制到/etc/openvpn/下面：</p>
<pre class="brush: plain; title: ; notranslate">cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/</pre>
<blockquote><p>根据网友<a title="kuge" href="#comment-198">@kuge</a>反映的情况——CentOS 6 系统升级后，如果安装的是OpenVPN2.3版本，执行这一步时OpenVPN2.3版本报错，显示：</p>
<pre class="brush: plain; title: ; notranslate">cp : cannot stat ' /usr/share/doc/openvpn/examples/easy-rsa/ ' no such file or dictionary</pre>
<p>解决办法：（感谢<a title="kuge" href="#comment-198">@kuge</a>）</p>
<pre class="brush: plain; title: ; notranslate">wget https://cloud.github.com/downloads/OpenVPN/easy-rsa/easy-rsa-2.2.0_master.tar.gz
tar -zxvf easy-rsa-2.2.0_master.tar.gz
cp -R easy-rsa-2.2.0_master/easy-rsa/ /etc/openvpn/</pre>
</blockquote>
<p><span style="color: #000000;">1、生成CA证书：</span></p>
<pre class="brush: plain; title: ; notranslate">cd /etc/openvpn/easy-rsa/2.0
source vars
./clean-all
./build-ca</pre>
<p>期间会提示输入一些信息，直接回车默认即可。</p>
<p><span style="color: #000000;">2、生成服务器端证书和密钥：（server为服务端名字可以自定义）</span></p>
<pre class="brush: plain; title: ; notranslate">./build-key-server server</pre>
<p>期间也会提示输入一些信息，直接回车默认，选择[Y/n]的都选Y。</p>
<p><span style="color: #000000;">3、生成客户端证书和密钥：（client为客户端名字可以自定义，注意这里的客户端名字不能与上步的服务端名字相同）</span></p>
<pre class="brush: plain; title: ; notranslate">./build-key client</pre>
<p>期间也会提示输入一些信息，直接回车默认，选择[Y/n]的都选Y。 若要生成多个客户端的证书和密钥，将client改成另外的名字重复操作即可。所有生成的证书和密钥存都放在/etc/openvpn/easy-rsa/2.0/keys/下面。</p>
<p><span style="color: #000000;">4、生成Diffie Hellman参数：</span></p>
<pre class="brush: plain; title: ; notranslate">./build-dh</pre>
<p><span style="color: #000000;"><strong>四、配置OpenVPN服务器端文件</strong></span></p>
<p><span style="color: #000000;">1、编辑/etc/openvpn/server.conf 文件，如果没有可以创建一个，加入下面的内容：（复制到VPS上时，最好把注释去掉）</span></p>
<pre class="brush: plain; title: ; notranslate">
local 11.22.33.44    #11.22.33.44为VPS的IP
port 8080    #端口，需要与客户端配置保持一致，并保证与其他软件无共用
proto udp    #使用协议，需要与客户端配置保持一致
dev tun      #也可以选择tap模式
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

ifconfig-pool-persist ipp.txt

server 10.168.1.0 255.255.255.0    #给客户的分配的局域网IP段，注意不要与客户端网段冲突！

push &amp;quot;redirect-gateway&amp;quot;
push &amp;quot;dhcp-option DNS 8.8.8.8&amp;quot;
push &amp;quot;dhcp-option DNS 8.8.4.4&amp;quot;
client-to-client

;duplicate-cn        #若不止一人同时使用该证书，请去掉前面的;

keepalive 20 60
comp-lzo
max-clients 50

persist-key
persist-tun

status openvpn-status.log
log-append openvpn.log

verb 3
mute 20</pre>
<p><span style="color: #000000;">2、设置IP转发，其实刚检查iptables_nat模块的步骤就是在设置转发IP，再重复一遍：</span><br />
若Xen或KVM的请输入：（eth0要根据具体的网卡标示来，可以通过ifconfig查看）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE</pre>
<p>若OpenVZ的请输入：（11.22.33.44是你VPS的IP）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44</pre>
<p><span style="color: #000000;">3、修改/etc/sysctl.conf的内容为：</span></p>
<pre class="brush: plain; title: ; notranslate">
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0</pre>
<p>重新载入/etc/sysctl.conf使其生效，执行如下命令：</p>
<pre class="brush: plain; title: ; notranslate">sysctl -p</pre>
<blockquote><p><span style="color: #993300;"><strong>至此VPS上的服务器端配置就全部完成了。</strong></span><br />
若想使其配置生效，则需重启OpenVPN服务</p>
<pre class="brush: plain; title: ; notranslate">service openvpn restart --config /etc/openvpn/server.conf</pre>
<p>由于VPS可能会因为各种原因被重启，为了方便，可以使用cron写个小脚本让VPS在启动时自动运行OpenVPN服务并设置iptables_nat转发。<br />
创建/root/vpn.sh 文件，加入下面的内容：（复制到VPS上时，最好把注释去掉）</p>
<pre class="brush: plain; title: ; notranslate">
#!/bin/bash
/sbin/service openvpn start --config /etc/openvpn/server.conf   #CentOS下好像OpenVPN不能开机就自动运行，所以这里设置下，如可以自动运行就去掉这句
/sbin/iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44    #实际根据自己VPS来做调整，这只做示例</pre>
<p>然后将这一脚本写入cron执行计划</p>
<pre class="brush: plain; title: ; notranslate">crontab -e

@reboot /bin/bash /root/vpn.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1</pre>
</blockquote>
<p><span style="color: #000000;"><strong>五、安装配置OpenVPN客户端文件</strong></span></p>
<p>1、下载安装客户端<br />
Windwos用户推荐去<a href="http://openvpn.net/index.php/download.html">openvpn.net</a>选择合适的版本进行安装，安装中的选项全部按默认即可；Mac用户推荐使用<a href="http://code.google.com/p/tunnelblick/">tunnelblick</a>。</p>
<p>2、下载之前在VPS上生成的客户端证书及密钥<br />
证书和密钥存都在/etc/openvpn/easy-rsa/2.0/keys/里，可以使用winscp链接到VPS上下载，将<span style="color: #993300;">ca.crt、client.crt、client.key</span>这三个文件下载到OpenVPN客户端程序的config文件夹里,默认为：C:\Program Files\OpenVPN\config</p>
<p>3、创建客户端配置文件<br />
在C:\Program Files\OpenVPN\config 下面创建一个sunny.ovpn的文件，添加如下内容：</p>
<pre class="brush: plain; title: ; notranslate">
client        #这个client不是自定义名称 不能更改
dev tun       #要与前面server.conf中的配置一致。
proto udp              #要与前面server.conf中的配置一致。
remote 11.22.33.44 8080    #将11.22.33.44替换为你VPS的IP，端口与前面的server.conf中配置一致。
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt              #具体名称以刚下载的为准
cert client.crt              #具体名称以刚下载的为准
key client.key              #具体名称以刚下载的为准
ns-cert-type server
redirect-gateway
keepalive 20 60
#tls-auth ta.key 1
comp-lzo
verb 3
mute 20
route-method exe
route-delay 2</pre>
<p><span style="color: #000000;"><strong>六、运行OpenVPN客户端</strong></span><br />
运行OpenVPN GUI后，屏幕右下角的系统托盘区，会显示一个由两个红屏电脑组成的图标，右击它，选中菜单中添加的名为sunny的服务器，点击Connect，过一会儿，OpenVPN图标变成绿色时就表示链接成功了。</p>
<blockquote><p><span style="color: #993300;"><strong>文章最后给大家推荐个性价比超高的搭梯用VPS</strong></span><br />
<a title="123systems搭梯VPS专用" href="http://shit.name/go/123systems/" target="_blank">123systems</a>的VPS用来搭梯是个非常不错的选择——稳定、速度也不错 128M的每月有250G的流量可以用 而且更关键的是年付才10刀（192M的每月500G流量 年付15刀）比起市售的各种梯子都划算而且有保障 自用或者与朋友分享都比较不错<br />
<a title="123systems搭梯VPS专用" href="http://shit.name/go/123systems/" target="_blank">去看看吧 ：）</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://shit.name/openvpn-on-centos/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>在Debian下搭建OpenVPN</title>
		<link>http://shit.name/openvpn-on-debian/</link>
		<comments>http://shit.name/openvpn-on-debian/#comments</comments>
		<pubDate>Sun, 16 Sep 2012 12:30:43 +0000</pubDate>
		<dc:creator><![CDATA[Oo雨天阳光oO]]></dc:creator>
				<category><![CDATA[互联二亩田]]></category>
		<category><![CDATA[OpenVPN]]></category>

		<guid isPermaLink="false">http://shit.name/?p=193</guid>
		<description><![CDATA[国内网络环境不怎么好，为了更好地在互联网中学习和娱乐，弄部梯子也是有必要的，当然市售的有很多，但不折腾下怎么能 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-194" title="stepladder" src="http://shit.name/wp-content/uploads/2012/09/stepladder.jpg" alt="" width="614" height="140" /><br />
国内网络环境不怎么好，为了更好地在互联网中学习和娱乐，弄部梯子也是有必要的，当然市售的有很多，但不折腾下怎么能睡得着觉呢 ^_^</p>
<p>那梯子各式各样，为什么用OpenVPN而不用PPTP或是更简单的SSH呢？SSH是简单但是打开网页多了，它也就力不从心了；OpenVPN比PPTP好伺候，能装在基于OpenVZ虚拟化技术的VPS上，当然装Xen上更好（PPTP只能装在基于Xen的VPS，但大多数VPS因为成本原因是OpenVZ的），而且它穿透性更强，功能更强大，比如能穿透中国移动的cmwap代理实现cmnet的功能。</p>
<p>我先讲解在Debian 6.0上的搭建过程（Ubuntu下也同样适用），如有童鞋需要在CentOS上的搭建方法，请参考我的另外一篇博文<a title="在CentOS下搭建OpenVPN" href="http://shit.name/openvpn-on-centos/" target="_blank">《在CentOS下搭建OpenVPN》</a>。<br />
好了，下面就准备动手折腾吧：</p>
<p>首先得准备个VPS，起步配置很低，128M内存的就OK，要有哪位看客非得用32G独服来搭，那爷您里边请，VIP雅座——美女水果、茶水点心伺候。<span id="more-193"></span></p>
<p><span style="color: #000000;"><strong>一、OpenVPN需要tun和iptables_nat模块支持，所以先检查你的VPS支持不支持。</strong></span><br />
SSH登陆VPS后输入</p>
<pre class="brush: plain; title: ; notranslate">cat /dev/net/tun</pre>
<p>若返回信息为：cat: /dev/net/tun: File descriptor in bad state  说明tun/tap已经可以使用；<br />
如果返回：cat: /dev/net/tun: No such device  或其他则说明tun/tap没有被正确配置，发TK联系客服申请开通tun/tap。</p>
<p>然后检查iptables_nat模块（如果还没有安装iptables，先安装）</p>
<pre class="brush: plain; title: ; notranslate">apt-get install iptables    #如已安装跳过</pre>
<p>如果你的VPS是Xen或KVM的请输入：（eth0要根据具体的网卡标识来，可以通过ifconfig查看）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE</pre>
<p>如果是OpenVZ的请输入：（11.22.33.44是你VPS的IP）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44</pre>
<p>然后用</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -L</pre>
<p>查看iptables转发状态，如果显示以下类似的结果则说明转发成功：<br />
target           prot opt source                  destination<br />
SNAT            all -- 10.168.0.0/16             anywhere                 to:11.22.33.44</p>
<p><span style="color: #000000;"><strong>二、tun和iptables_nat模块检测通过后，正式进入安装阶段：</strong></span><br />
OpenVPN需要lzo支持，可以OpenVPN与lzo一起安装：</p>
<pre class="brush: plain; title: ; notranslate">apt-get install openvpn lzop</pre>
<p>如果执行安装提示没有可用的安装包，那先更新升级下系统</p>
<pre class="brush: plain; title: ; notranslate">apt-get update &amp;&amp; apt-get dist-upgrade</pre>
<p><span style="color: #000000;"><strong>三、安装好后，先使用easy-rsa生成服务端证书：</strong></span><br />
默认OpenVPN的easy-rsa文档会在/usr/share/doc/openvpn/examples/easy-rsa/，如果不在的话请先检查是否安装成功然后用locate或find命令查找该文档。然后将该文档下所需的配置文件复制到/etc/openvpn/下面：</p>
<pre class="brush: plain; title: ; notranslate">cp -r /usr/share/doc/openvpn/examples/easy-rsa/ /etc/openvpn/</pre>
<p><span style="color: #000000;">1、生成CA证书：</span></p>
<pre class="brush: plain; title: ; notranslate">cd /etc/openvpn/easy-rsa/2.0
source vars
./clean-all
./build-ca</pre>
<p>期间会提示输入一些信息，直接回车默认即可。</p>
<p><span style="color: #000000;">2、生成服务器端证书和密钥：（server为服务端名字可以自定义）</span></p>
<pre class="brush: plain; title: ; notranslate">./build-key-server server</pre>
<p>期间也会提示输入一些信息，直接回车默认，选择[Y/n]的都选Y。</p>
<p><span style="color: #000000;">3、生成客户端证书和密钥：（client为客户端名字可以自定义，注意这里的客户端名字不能与上步的服务端名字相同）</span></p>
<pre class="brush: plain; title: ; notranslate">./build-key client</pre>
<p>期间也会提示输入一些信息，直接回车默认，选择[Y/n]的都选Y。 若要生成多个客户端的证书和密钥，将client改成另外的名字重复操作即可。所有生成的证书和密钥存都放在/etc/openvpn/easy-rsa/2.0/keys/下面。</p>
<p><span style="color: #000000;">4、生成Diffie Hellman参数：</span></p>
<pre class="brush: plain; title: ; notranslate">./build-dh</pre>
<p><span style="color: #000000;"><strong>四、配置OpenVPN服务器端文件</strong></span><br />
<span style="color: #000000;">1、编辑/etc/openvpn/server.conf 文件，如果没有可以创建一个，加入下面的内容：（复制到VPS上时，最好把注释去掉）</span></p>
<pre class="brush: plain; title: ; notranslate">
local 11.22.33.44    #11.22.33.44为VPS的IP
port 8080    #端口，需要与客户端配置保持一致，并保证与其他软件无共用
proto udp    #使用协议，需要与客户端配置保持一致
dev tun      #也可以选择tap模式
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

ifconfig-pool-persist ipp.txt

server 10.168.1.0 255.255.255.0    #给客户的分配的局域网IP段，注意不要与客户端网段冲突！

push &quot;redirect-gateway&quot;
push &quot;dhcp-option DNS 8.8.8.8&quot;
push &quot;dhcp-option DNS 8.8.4.4&quot;
client-to-client

;duplicate-cn        #若不止一人同时使用该证书，请去掉前面的;

keepalive 20 60
comp-lzo
max-clients 50

persist-key
persist-tun

status openvpn-status.log
log-append openvpn.log

verb 3
mute 20</pre>
<p><span style="color: #000000;">2、设置IP转发，其实刚检查iptables_nat模块的步骤就是在设置转发IP，再重复一遍：</span><br />
若Xen或KVM的请输入：（eth0要根据具体的网卡标示来，可以通过ifconfig查看）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -o eth0 -j MASQUERADE</pre>
<p>若OpenVZ的请输入：（11.22.33.44是你VPS的IP）</p>
<pre class="brush: plain; title: ; notranslate">iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44</pre>
<p><span style="color: #000000;">3、修改/etc/sysctl.conf的内容为：</span></p>
<pre class="brush: plain; title: ; notranslate">
net.ipv4.ip_forward = 1
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0</pre>
<p>重新载入/etc/sysctl.conf使其生效，执行如下命令：</p>
<pre class="brush: plain; title: ; notranslate">sysctl -p</pre>
<blockquote><p><span style="color: #993300;"><strong>至此VPS上的服务器端配置就全部完成了。</strong></span><br />
若想使其配置生效，则需重启OpenVPN服务</p>
<pre class="brush: plain; title: ; notranslate">/etc/init.d/openvpn restart</pre>
<p>由于VPS可能会因为各种原因被重启，为了方便可以使用cron写个小脚本让VPS在启动时自动运行OpenVPN服务并设置iptables_nat转发。<br />
创建/root/vpn.sh 文件，加入下面的内容：（复制到VPS上时，最好把注释去掉）</p>
<pre class="brush: plain; title: ; notranslate">
#!/bin/bash
/etc/init.d/openvpn start  #Debian下好像OpenVPN不用设置就可以开机自动运行，如可以自动运行就去掉这句
/sbin/iptables -t nat -A POSTROUTING -s 10.168.0.0/16 -j SNAT --to-source 11.22.33.44    #实际根据自己VPS来做调整，这只做示例</pre>
<p>然后将这一脚本写入cron执行计划</p>
<pre class="brush: plain; title: ; notranslate">crontab -e

@reboot /bin/bash /root/vpn.sh &gt;/dev/null 2&gt;&amp;1</pre>
</blockquote>
<p><span style="color: #000000;"><strong>五、安装配置OpenVPN客户端文件</strong></span></p>
<p>1、下载安装客户端<br />
Windwos用户推荐去<a href="http://openvpn.net/index.php/download.html">openvpn.net</a>选择合适的版本进行安装，安装中的选项全部按默认即可；Mac用户推荐使用<a href="http://code.google.com/p/tunnelblick/">tunnelblick</a>。</p>
<p>2、下载之前在VPS上生成的客户端证书及密钥<br />
证书和密钥存都在/etc/openvpn/easy-rsa/2.0/keys/里，可以使用winscp链接到VPS上下载，将<span style="color: #993300;">ca.crt、client.crt、client.key</span>这三个文件下载到OpenVPN客户端程序的config文件夹里,默认为：C:\Program Files\OpenVPN\config</p>
<p>3、创建客户端配置文件<br />
在C:\Program Files\OpenVPN\config 下面创建一个sunny.ovpn的文件，添加如下内容：</p>
<pre class="brush: plain; title: ; notranslate">
client        #这个client不是自定义名称 不能更改
dev tun       #要与前面server.conf中的配置一致。
proto udp              #要与前面server.conf中的配置一致。
remote 11.22.33.44 8080    #将11.22.33.44替换为你VPS的IP，端口与前面的server.conf中配置一致。
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt              #具体名称以刚下载的为准
cert client.crt              #具体名称以刚下载的为准
key client.key              #具体名称以刚下载的为准
ns-cert-type server
redirect-gateway
keepalive 20 60
#tls-auth ta.key 1
comp-lzo
verb 3
mute 20
route-method exe
route-delay 2</pre>
<p><span style="color: #000000;"><strong>六、运行OpenVPN客户端</strong></span><br />
运行OpenVPN GUI后，屏幕右下角的系统托盘区，会显示一个由两个红屏电脑组成的图标，右击它，选中菜单中添加的名为sunny的服务器，点击Connect，过一会儿，OpenVPN图标变成绿色时就表示链接成功了。</p>
<blockquote><p><span style="color: #993300;"><strong>文章最后给大家推荐个性价比超高的搭梯用VPS</strong></span><br />
<a title="123systems搭梯VPS专用" href="http://shit.name/go/123systems/" target="_blank">123systems</a>的VPS用来搭梯是个非常不错的选择——稳定、速度也不错 128M的每月有250G的流量可以用 而且更关键的是年付才10刀（192M的每月500G流量 年付15刀）比起市售的各种梯子都划算而且有保障 自用或者与朋友分享都比较不错<br />
<a title="123systems搭梯VPS专用" href="http://shit.name/go/123systems/" target="_blank">去看看吧 ：）</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://shit.name/openvpn-on-debian/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>
