<?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>Black-Xstar&#039;s Blog &#187; gfw</title>
	<atom:link href="http://www.black-xstar.com/blog/tag/gfw/feed" rel="self" type="application/rss+xml" />
	<link>http://www.black-xstar.com/blog</link>
	<description>http://www.Black-Xstar.com/blog</description>
	<lastBuildDate>Mon, 03 May 2010 10:25:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>在CentOS的VPS下安装OpenVPN</title>
		<link>http://www.black-xstar.com/blog/693.html</link>
		<comments>http://www.black-xstar.com/blog/693.html#comments</comments>
		<pubDate>Fri, 20 Nov 2009 15:20:00 +0000</pubDate>
		<dc:creator>Black-Xstar</dc:creator>
				<category><![CDATA[我的原创]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.black-xstar.com/blog/693.html</guid>
		<description><![CDATA[上回介绍了在CentOS下安装PPTP的VPN的方法，由于PPTP对环境的要求很高，大多数的VPS都是基于OpenVZ虚拟化技术的，所以无法安装。
这回介绍另一种VPN——OpenVPN，能在绝大多数VPS上安装，而且功能更加强大，比如能穿透中国移动的cmwap代理实现cmnet的功能等等。
不过OpenVPN有一个致命缺点，就是绝大多数移动设备不支持，电脑上使用需要安装复杂的客户端。
网上有很多的教程，但大都不适合VPS或者不完善，我根据我自己安装的经验，记录下来以便查阅。
&#160;
以下所有命令我都加了下划线，即加下划线的一定是在类似[root@vps ~]#的提示符下输入。
SSH登陆VPS，我的系统是32的CentOS 5.4，如果用别的Linux发行版也差不多，有些命令需要修改下就是了。
OpenVPN需要TUN支持，大多数VPS默认都没有开启，你可以用这个命令检测：cat /dev/net/tun
如果返回信息为：cat: /dev/net/tun: File descriptor in bad state 说明正常，否则发个ticket给VPS公司让他们帮忙开吧。
另外如果你需要连上OpenVPN后能访问互联网，还需要iptables_nat模块支持，用这个命令检测：iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE
如果返回信息为：iptables: Unknown error 4294967295 说明正常，否则同样需要发个ticket让VPS公司帮忙开通。
&#160;
环境准备好之后，我们正式开始安装OpenVPN了。网上的教程绝大多数都是用源代码编译方式安装的，但我觉得这种方式不便于以后升级维护，这里我们使用yum来安装。
默认情况下centos的yum源没有OpenVPN的，先安装EPEL这个东西，使用命令：rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
成功后yum源里面就有OpenVPN了，直接使用命令yum -y install openvpn

这里就体现了yum安装的好处，比如OpenVPN需要lzo支持，安装的时候会检测系统，没有的组件会自动安装进去。
 
我们来找一下安装到哪去了，使用命令：locate easy-rsa
找出来了原来在这里：/usr/share/openvpn/easy-rsa 大家应该都是一样的。
我们把easy-rsa这个文件夹移出来，用命令：cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/
然后cd /etc/openvpn/easy-rsa/2.0进入，生成OpenVPN需要的证书。
用vi vars来编辑环境变量，这里涉及到编辑器vi的用法，不会用就自己google一下。
把最后几行根据实际情况修改：
export KEY_COUNTRY=&#34;CN&#34;      export KEY_PROVINCE=&#34;GD&#34;       export KEY_CITY=&#34;GZ&#34;  [...]]]></description>
			<content:encoded><![CDATA[<p>上回介绍了<a href="http://www.black-xstar.com/blog/691.html" target="_blank">在CentOS下安装PPTP的VPN</a>的方法，由于PPTP对环境的要求很高，大多数的VPS都是基于OpenVZ虚拟化技术的，所以无法安装。</p>
<p>这回介绍另一种VPN——OpenVPN，能在绝大多数VPS上安装，而且功能更加强大，比如能穿透中国移动的cmwap代理实现cmnet的功能等等。</p>
<p>不过OpenVPN有一个致命缺点，就是绝大多数移动设备不支持，电脑上使用需要安装复杂的客户端。</p>
<p>网上有很多的教程，但大都不适合VPS或者不完善，我根据我自己安装的经验，记录下来以便查阅。</p>
<p>&#160;</p>
<p>以下所有命令我都加了下划线，即加下划线的一定是在类似[root@vps ~]#的提示符下输入。</p>
<p>SSH登陆VPS，我的系统是32的CentOS 5.4，如果用别的Linux发行版也差不多，有些命令需要修改下就是了。</p>
<p>OpenVPN需要TUN支持，大多数VPS默认都没有开启，你可以用这个命令检测：<u>cat /dev/net/tun</u></p>
<p>如果返回信息为：cat: /dev/net/tun: File descriptor in bad state 说明正常，否则发个ticket给VPS公司让他们帮忙开吧。</p>
<p>另外如果你需要连上OpenVPN后能访问互联网，还需要iptables_nat模块支持，用这个命令检测：<u>iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o venet0 -j MASQUERADE</u></p>
<p>如果返回信息为：iptables: Unknown error 4294967295 说明正常，否则同样需要发个ticket让VPS公司帮忙开通。</p>
<p>&#160;</p>
<p>环境准备好之后，我们正式开始安装OpenVPN了。网上的教程绝大多数都是用源代码编译方式安装的，但我觉得这种方式不便于以后升级维护，这里我们使用yum来安装。</p>
<p>默认情况下centos的yum源没有OpenVPN的，先安装<a href="http://fedoraproject.org/wiki/EPEL" target="_blank">EPEL</a>这个东西，使用命令：<u>rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm</u></p>
<p>成功后yum源里面就有OpenVPN了，直接使用命令<u>yum -y install openvpn</u></p>
<p><img src="http://www.black-xstar.com/blog/wp-content/uploads/2009/11/openvpn1.png" width="520" height="768" /></p>
<p>这里就体现了yum安装的好处，比如OpenVPN需要lzo支持，安装的时候会检测系统，没有的组件会自动安装进去。</p>
<p> <span id="more-693"></span>
<p>我们来找一下安装到哪去了，使用命令：<u>locate easy-rsa</u></p>
<p>找出来了原来在这里：/usr/share/openvpn/easy-rsa 大家应该都是一样的。</p>
<p>我们把easy-rsa这个文件夹移出来，用命令：<u>cp -R /usr/share/openvpn/easy-rsa /etc/openvpn/</u></p>
<p>然后<u>cd /etc/openvpn/easy-rsa/2.0</u>进入，生成OpenVPN需要的证书。</p>
<p>用<u>vi vars</u>来编辑环境变量，这里涉及到编辑器vi的用法，不会用就自己google一下。</p>
<p>把最后几行根据实际情况修改：</p>
<blockquote><p>export KEY_COUNTRY=&quot;CN&quot;      <br />export KEY_PROVINCE=&quot;GD&quot;       <br />export KEY_CITY=&quot;GZ&quot;       <br />export KEY_ORG=&quot;Black-Xstar Net Empire&quot;       <br />export KEY_EMAIL=&quot;webmaster [at] black-xstar.com&quot;</p>
</blockquote>
<p>保存后运行<u>. vars</u>设置生效。</p>
<p>接下来运行<u>./build-ca server</u>创建证书颁发机构。</p>
<blockquote><p>Generating a 1024 bit RSA private key      <br />........................++++++       <br />....++++++       <br />writing new private key to 'ca.key'       <br />-----       <br />You are about to be asked to enter information that will be incorporated       <br />into your certificate request.       <br />What you are about to enter is what is called a Distinguished Name or a DN.       <br />There are quite a few fields but you can leave some blank       <br />For some fields there will be a default value,       <br />If you enter '.', the field will be left blank.       <br />-----       <br />Country Name (2 letter code) [CN]:<font color="#ff0000">回车</font>       <br />State or Province Name (full name) [GD]:<font color="#ff0000">回车</font>       <br />Locality Name (eg, city) [GZ]:<font color="#ff0000">回车</font>       <br />Organization Name (eg, company) [Black-Xstar Net Empire]:<font color="#ff0000">回车</font>       <br />Organizational Unit Name (eg, section) []:<font color="#ff0000">回车</font>       <br />Common Name (eg, your name or your server's hostname) [Black-Xstar Net Empire CA]:<font color="#ff0000">回车</font>       <br />Name []:<font color="#ff0000">回车</font>       <br />Email Address [webmaster@black-xstar.com]:<font color="#ff0000">回车</font></p>
</blockquote>
<p>注意红色的地方，需要按回车的。</p>
<p>创建CA之后来生成服务器证书，输入<u>./build-key-server server</u></p>
<blockquote><p>Generating a 1024 bit RSA private key      <br />...++++++       <br />...............++++++       <br />writing new private key to 'server.key'       <br />-----       <br />You are about to be asked to enter information that will be incorporated       <br />into your certificate request.       <br />What you are about to enter is what is called a Distinguished Name or a DN.       <br />There are quite a few fields but you can leave some blank       <br />For some fields there will be a default value,       <br />If you enter '.', the field will be left blank.       <br />-----       <br />Country Name (2 letter code) [CN]:<font color="#ff0000">回车</font>       <br />State or Province Name (full name) [GD]:<font color="#ff0000">回车</font>       <br />Locality Name (eg, city) [GZ]:<font color="#ff0000">回车</font>       <br />Organization Name (eg, company) [Black-Xstar Net Empire]:<font color="#ff0000">回车</font>       <br />Organizational Unit Name (eg, section) []:<font color="#ff0000">回车</font>       <br />Common Name (eg, your name or your server's hostname) [server]:<font color="#ff0000">回车</font>       <br />Name []:<font color="#ff0000">回车</font>       <br />Email Address [webmaster@black-xstar.com]:<font color="#ff0000">回车</font></p>
<p>Please enter the following 'extra' attributes      <br />to be sent with your certificate request       <br />A challenge password []:<font color="#ff0000">回车</font>       <br />An optional company name []:<font color="#ff0000">回车</font>       <br />Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf       <br />Check that the request matches the signature       <br />Signature ok       <br />The Subject's Distinguished Name is as follows       <br />countryName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'CN'       <br />stateOrProvinceName&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'GD'       <br />localityName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'GZ'       <br />organizationName&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'Black-Xstar Net Empire'       <br />commonName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'server'       <br />emailAddress&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :IA5STRING:'webmaster@black-xstar.com'       <br />Certificate is to be certified until Nov 18 17:25:15 2019 GMT (3650 days)       <br />Sign the certificate? [y/n]:<font color="#ff0000">y</font> </p>
<p>1 out of 1 certificate requests certified, commit? [y/n]<font color="#ff0000">y</font>       <br />Write out database with 1 new entries       <br />Data Base Updated</p>
</blockquote>
<p>同样注意红色字的部分，是需要人工输入的。</p>
<p>服务器证书生成完了，我们来生成客户端证书，理论上每个OpenVPN用户都有独立的证书，我们先来生成一个试试。</p>
<p>输入命令：<u>./build-key client1</u>，这里的client1是客户端名称，如果第二个就是client2了。</p>
<blockquote><p>Generating a 1024 bit RSA private key      <br />.......++++++       <br />.........++++++       <br />writing new private key to 'client1.key'       <br />-----       <br />You are about to be asked to enter information that will be incorporated       <br />into your certificate request.       <br />What you are about to enter is what is called a Distinguished Name or a DN.       <br />There are quite a few fields but you can leave some blank       <br />For some fields there will be a default value,       <br />If you enter '.', the field will be left blank.       <br />-----       <br />Country Name (2 letter code) [CN]:<font color="#ff0000">回车</font>       <br />State or Province Name (full name) [GD]:<font color="#ff0000">回车</font>       <br />Locality Name (eg, city) [GZ]:<font color="#ff0000">回车</font>       <br />Organization Name (eg, company) [Black-Xstar Net Empire]:<font color="#ff0000">回车</font>       <br />Organizational Unit Name (eg, section) []:<font color="#ff0000">回车</font>       <br />Common Name (eg, your name or your server's hostname) [client1]:<font color="#ff0000">回车</font>       <br />Name []:<font color="#ff0000">回车</font>       <br />Email Address [webmaster@black-xstar.com]:<font color="#ff0000">回车</font></p>
<p>Please enter the following 'extra' attributes      <br />to be sent with your certificate request       <br />A challenge password []:<font color="#ff0000">回车</font>       <br />An optional company name []:<font color="#ff0000">回车</font>       <br />Using configuration from /etc/openvpn/easy-rsa/2.0/openssl.cnf       <br />Check that the request matches the signature       <br />Signature ok       <br />The Subject's Distinguished Name is as follows       <br />countryName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'CN'       <br />stateOrProvinceName&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'GD'       <br />localityName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'GZ'       <br />organizationName&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'Black-Xstar Net Empire'       <br />commonName&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <img src='http://www.black-xstar.com/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> RINTABLE:'client1'       <br />emailAddress&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; :IA5STRING:'webmaster@black-xstar.com'       <br />Certificate is to be certified until Nov 18 17:31:21 2019 GMT (3650 days)       <br />Sign the certificate? [y/n]:<font color="#ff0000">y</font> </p>
<p>1 out of 1 certificate requests certified, commit? [y/n]<font color="#ff0000">y</font>       <br />Write out database with 1 new entries       <br />Data Base Updated</p>
</blockquote>
<p>注意红色字的部分，和上面生成服务器证书差不多。</p>
<p>最后生成Diffie Hellman参数：<u>./build-dh</u>，这个需要一点时间的。</p>
<p>完成上面的过程后，把/etc/openvpn/2.0/keys里面的东西下载回来。</p>
<p>&#160;</p>
<p>接下来我们开始配置OpenVPN了，我的配置文件只是一个参考，可以根据实际情况修改。</p>
<p>首先<u>cd ..</u>回到上一级目录，然后<u>vi server.conf</u>新建一个配置文件，输入下面内容：</p>
<blockquote><p>port 443      <br />proto tcp       <br />dev tun       <br />ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt       <br />cert /etc/openvpn/easy-rsa/2.0/keys/server.crt       <br />key /etc/openvpn/easy-rsa/2.0/keys/server.key       <br />dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem       <br />server 10.8.0.0 255.255.255.0       <br />push &quot;redirect-gateway def1&quot;       <br />push &quot;dhcp-option DNS 208.67.222.222&quot;       <br />push &quot;dhcp-option DNS 208.67.220.220&quot;       <br />client-to-client       <br />keepalive 10 120       <br />comp-lzo       <br />persist-key       <br />persist-tun       <br />verb 3</p>
</blockquote>
<p>其中DNS服务器地址可以换成主机商的，也可以和我一样用opendns。另外我有了tcp协议和443端口，是为了方便我在cmwap下使用，也可以换别的。</p>
<p>到这里为止OpenVPN就配置好了，接下来我们设置外网访问。</p>
<p>输入<u>vi /etc/sysctl.conf</u>开始编辑，找到net.ipv4.ip_forward = 0改成net.ipv4.ip_forward = 1保存。然后执行<u>sysctl -p</u>这个命令。</p>
<p>输入<u>iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to-source 1.2.3.4</u>添加规则，注意最后1.2.3.4改成你的VPS的IP地址。</p>
<p>完成后用<u>/etc/init.d/iptables save</u>保存iptables设置，然后<u>/etc/init.d/iptables restart</u>重新启动下。</p>
<p>把OpenVPN添加到开机启动，用<u>vi /etc/rc.local</u>进入编辑，在后面加入/usr/sbin/openvpn --config /etc/openvpn/server.conf &amp;这一行。</p>
<p>需要在服务器上完成的操作到这里就结束了，输入<u>openvpn --config /etc/openvpn/server.conf &amp;</u>启动。</p>
<p>&#160;</p>
<p>和PPTP不一样，OpenVPN需要安装客户端才行，在<a title="http://www.openvpn.net/index.php/open-source/downloads.html" href="http://www.openvpn.net/index.php/open-source/downloads.html">http://www.openvpn.net/index.php/open-source/downloads.html</a>下载最新版本的Windows Installer安装。</p>
<p>然后在下载回来keys文件夹里面找到ca.crt、client1.crt和client1.key这三个文件，放到C:\Program Files\OpenVPN\config里面。</p>
<p>同时在这里面新建一个名字为“client1.ovpn”的文本文件，输入下面内容：</p>
<blockquote><p>client     <br />dev tun      <br />proto tcp      <br />remote 1.2.3.4 443      <br />resolv-retry infinite      <br />nobind      <br />persist-key      <br />persist-tun      <br />ca ca.crt      <br />cert client1.crt      <br />key client1.key      <br />ns-cert-type server      <br />comp-lzo      <br />verb 3</p>
</blockquote>
<p>把第四行的1.2.3.4换成VPS的IP地址，然后保存。</p>
<p>在开始菜单里面找到OpenVPN GUI并运行，Vista和Win7下需要管理员身份运行。点Connect后等一下，是不是成功连上去了？</p>
<p>打开youtube或twitter（follow我@<a href="https://twitter.com/billzhong">billzhong</a>）试试，爽吧！</p>
<p><strong>最后广告一下，我的PPTP VPN服务： </strong><a href="http://pptp.us"><strong>http://pptp.us</strong></a><strong> 可能将会提供OpenVPN服务哦。</strong></p>
<p>&#160;</p>
<p><font color="#c0c0c0" size="1">参考文章：</font></p>
<p><a title="http://www.xiaohui.com/dev/server/20070514-install-openvpn.htm" href="http://www.xiaohui.com/dev/server/20070514-install-openvpn.htm"><font color="#c0c0c0" size="1">http://www.xiaohui.com/dev/server/20070514-install-openvpn.htm</font></a></p>
<p><a title="http://rashost.com/blog/centos-openvpn-install" href="http://rashost.com/blog/centos-openvpn-install"><font color="#c0c0c0" size="1">http://rashost.com/blog/centos-openvpn-install</font></a></p>
<p><a title="http://yemaosheng.com/?p=938" href="http://yemaosheng.com/?p=938"><font color="#c0c0c0" size="1">http://yemaosheng.com/?p=938</font></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.black-xstar.com/blog/693.html/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>在CentOS下安装PPTP的VPN</title>
		<link>http://www.black-xstar.com/blog/691.html</link>
		<comments>http://www.black-xstar.com/blog/691.html#comments</comments>
		<pubDate>Sat, 24 Oct 2009 08:00:37 +0000</pubDate>
		<dc:creator>Black-Xstar</dc:creator>
				<category><![CDATA[我的原创]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[vpn]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://www.black-xstar.com/blog/691.html</guid>
		<description><![CDATA[最近买了个基于xen的VPS玩玩，安装LAMP没啥意思。国内网络环境不好，干脆安装个VPN试试。
对于Linux其实我什么都不会的，在google老师的帮助下，总算给我安装好了，记录下来以便查阅。
VPN常用有两种，一种是openvpn，另一种PPTP。前者开源跨平台功能强大，后者简单方便Windows下无需安装客户端。而且从安装上看，PPTP比openvpn简单一点，所以决定安装这个试试看。
这里罗嗦一下VPS吧，常见也两种，一种是基于openvz，另一种基于xen的。区别不多说了，自己问google吧。这里要说的是openvz的绝大多数不能安装PPTP，而xen的没有限制，两个都可以。
&#160;
以下所有命令我都加了下划线，即加下划线的一定是在类似-bash-3.2#的提示符下输入。
SSH登陆VPS，我的系统是64的CentOS 5.4，绝大多数VPS都提供CentOS系统供选择。可以使用这个命令查询：cat /etc/issue
检查内核是否包含mppe，基本上CentOS都有的，输入这个命令，如果是ok就可以：modprobe ppp-compress-18 &#38;&#38; echo ok
安装PPTP需要ppp和iptables这两个软件支持，这里用yum来安装，输入这个命令：yum install -y ppp iptables

然后进入tmp目录，需要把pptp软件下载回来，用这个命令：cd /tmp
去poptop官方网站，如果你和我系统一样，直接下载rpm包：wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm

×××如果上面命令无效，安装wget吧：yum install -y wget
接下来安装刚刚下载回来的rpm包，输入命令：rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm

×××如果上面命令无效，安装perl吧：yum install -y perl
  
接下来我们开始配置PPTP了，需要用到linux下的vi命令，如果不熟悉建议先google一下。
×××提示一下，编辑完成后按Esc键，然后输入:wq即可保存并退出。
&#160;
输入vi /etc/ppp/options.pptpd开始编辑，输入以下内容：
name pptpd      refuse-pap       refuse-chap       refuse-mschap       require-mschap-v2    [...]]]></description>
			<content:encoded><![CDATA[<p>最近买了个基于xen的VPS玩玩，安装LAMP没啥意思。国内网络环境不好，干脆安装个VPN试试。</p>
<p>对于Linux其实我什么都不会的，在google老师的帮助下，总算给我安装好了，记录下来以便查阅。</p>
<p>VPN常用有两种，一种是openvpn，另一种PPTP。前者开源跨平台功能强大，后者简单方便Windows下无需安装客户端。而且从安装上看，PPTP比openvpn简单一点，所以决定安装这个试试看。</p>
<p>这里罗嗦一下VPS吧，常见也两种，一种是基于openvz，另一种基于xen的。区别不多说了，自己问google吧。这里要说的是openvz的绝大多数不能安装PPTP，而xen的没有限制，两个都可以。</p>
<p>&#160;</p>
<p>以下所有命令我都加了下划线，即加下划线的一定是在类似-bash-3.2#的提示符下输入。</p>
<p>SSH登陆VPS，我的系统是64的CentOS 5.4，绝大多数VPS都提供CentOS系统供选择。可以使用这个命令查询：<u>cat /etc/issue</u></p>
<p>检查内核是否包含mppe，基本上CentOS都有的，输入这个命令，如果是ok就可以：<u>modprobe ppp-compress-18 &amp;&amp; echo ok</u></p>
<p>安装PPTP需要ppp和iptables这两个软件支持，这里用yum来安装，输入这个命令：<u>yum install -y ppp iptables</u></p>
<p><img src="http://www.black-xstar.com/blog/wp-content/uploads/2009/10/pptp1.png" width="553" height="768" /></p>
<p>然后进入tmp目录，需要把pptp软件下载回来，用这个命令：<u>cd /tmp</u></p>
<p>去poptop官方网站，如果你和我系统一样，直接下载rpm包：<u>wget http://poptop.sourceforge.net/yum/stable/packages/pptpd-1.3.4-1.rhel5.1.x86_64.rpm</u></p>
<p><img src="http://www.black-xstar.com/blog/wp-content/uploads/2009/10/pptp2.png" width="640" height="331" /></p>
<p>×××如果上面命令无效，安装wget吧：<u>yum install -y wget</u></p>
<p>接下来安装刚刚下载回来的rpm包，输入命令：<u>rpm -ivh pptpd-1.3.4-1.rhel5.1.x86_64.rpm</u></p>
<p><img src="http://www.black-xstar.com/blog/wp-content/uploads/2009/10/pptp3.png" width="640" height="236" /></p>
<p>×××如果上面命令无效，安装perl吧：<u>yum install -y perl</u></p>
<p>  <span id="more-691"></span>
<p>接下来我们开始配置PPTP了，需要用到linux下的vi命令，如果不熟悉建议先google一下。</p>
<p>×××提示一下，编辑完成后按Esc键，然后输入<u>:wq</u>即可保存并退出。</p>
<p>&#160;</p>
<p>输入<u>vi /etc/ppp/options.pptpd</u>开始编辑，输入以下内容：</p>
<blockquote><p>name pptpd      <br />refuse-pap       <br />refuse-chap       <br />refuse-mschap       <br />require-mschap-v2       <br />require-mppe-128       <br />proxyarp       <br />lock       <br />nobsdcomp       <br />novj       <br />novjccomp       <br />nologfd       <br />ms-dns 208.67.222.222       <br />ms-dns 208.67.220.220</p>
</blockquote>
<p>最后两行是dns服务器地址，这里用opendns，你也可以用主机商的dns。编辑完成后保存退出。</p>
<p>输入<u>vi /etc/pptpd.conf</u>开始编辑，输入以下内容：</p>
<blockquote><p>option /etc/ppp/options.pptpd      <br />logwtmp       <br />localip 192.168.8.1       <br />remoteip 192.168.8.2-40</p>
</blockquote>
<p>最后两行是vpn的ip地址分配，如果你不熟悉就别改了。编辑完成后保存退出。</p>
<p>输入<u>vi /etc/ppp/chap-secrets</u>开始编辑，输入以下内容：</p>
<blockquote><p>username1 pptpd password1 *</p>
<p>username2 pptpd password2 *</p>
<p>username3 pptpd password3 *</p>
</blockquote>
<p>这个文件用来配置vpn的登陆用户和密码，一行一个。编辑完成后保存退出。</p>
<p>把username和password分别改成你需要的用户名密码即可，其他别改了。</p>
<p>输入<u>vi /etc/sysctl.conf</u>开始编辑，这个文件和上面不同，里面已经有内容：</p>
<p>找到</p>
<blockquote><p>net.ipv4.ip_forward = 0</p>
</blockquote>
<p>改成</p>
<blockquote><p>net.ipv4.ip_forward = 1</p>
</blockquote>
<p>保存并退出，然后执行<u>sysctl -p</u>这个命令。</p>
<p>这时，PPTP基本上配置好了，输入<u>service pptpd start</u>启动。</p>
<p>下面来配置iptables，首先输入<u>service iptables start</u>启动。</p>
<p>然后分别输入下面四条命令，每天输完后要记得按回车：</p>
<p><u>iptables -A INPUT -p tcp --dport 1723 -j ACCEPT</u></p>
<p><u>iptables -A INPUT -p tcp --dport 47 -j ACCEPT</u></p>
<p><u>iptables -A INPUT -p gre -j ACCEPT</u></p>
<p><u>iptables -t nat -A POSTROUTING -s 192.168.8.0/24 -o eth0 -j MASQUERADE</u></p>
<p>完成后输入<u>/etc/init.d/iptables save</u>保存，并且输入<u>/etc/init.d/iptables restart</u>重新启动。</p>
<p>如果你需要服务器启动时候自动启动VPN服务，还需要输入<u>chkconfig pptpd on</u>和<u>chkconfig iptables on</u>这两条命令。</p>
<p>这个时候，PPTP的VPN就已经全部配置好了，由于内容太多，就不截图了，说明已经很详细。</p>
<p>&#160;</p>
<p>在Windows下新建一个VPN连接，输入服务器ip、用户名和密码，如无意外就能连上去了。</p>
<p>打开youtube或twitter（follow我@<a href="https://twitter.com/billzhong" target="_blank">billzhong</a>）试试，爽吧！</p>
<p>&#160;</p>
<p><font color="#c0c0c0" size="1">参考文章：</font></p>
<p><a title="http://blog.s135.com/pptp_vpn/" href="http://blog.s135.com/pptp_vpn/"><font color="#c0c0c0" size="1">http://blog.s135.com/pptp_vpn/</font></a></p>
<p><a title="http://rashost.com/blog/centos5-pptpd-vpn" href="http://rashost.com/blog/centos5-pptpd-vpn"><font color="#c0c0c0" size="1">http://rashost.com/blog/centos5-pptpd-vpn</font></a></p>
<p><a title="http://taiwanwolf.blogspot.com/2009/01/centos-v52-pptp-server.html" href="http://taiwanwolf.blogspot.com/2009/01/centos-v52-pptp-server.html"><font color="#c0c0c0" size="1">http://taiwanwolf.blogspot.com/2009/01/centos-v52-pptp-server.html</font></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.black-xstar.com/blog/691.html/feed</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>提供ghs.google.com服务</title>
		<link>http://www.black-xstar.com/blog/641.html</link>
		<comments>http://www.black-xstar.com/blog/641.html#comments</comments>
		<pubDate>Fri, 22 May 2009 14:22:00 +0000</pubDate>
		<dc:creator>Black-Xstar</dc:creator>
				<category><![CDATA[我的原创]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ripn]]></category>

		<guid isPermaLink="false">http://www.black-xstar.com/blog/641.html</guid>
		<description><![CDATA[众所周知的原因，google提供自定义域名服务的cname记录ghs.google.com在中国大陆一直不好用。
虽然大家找到了很多代替ghs.google.com的ip地址，但也经常失灵，每次失灵了都要换新的，很多条记录都要替换，很烦很烦。
我曾经想过拿出一个子域名指向可用的ip地址，然后其他的cname到这个子域名，每次只要更新子域名的ip地址就可以了，很方便的。
网上有很多朋友提供了此类服务，大都都坚持不久。我google了一下，他们不是没有保持更新就是域名已经过期，用这些还不如直接用ip呢。
据我观察，目前为止坚持最久和用的人比较多的有TanCee的google.dns.tancee.com和behindgfw的ghs.behindgfw.com。推荐一下。
&#160;
最近终于把ripn的ru域名给搞定了，突然想到何不用终身免费ru域名来做一个ghs.google.com服务呢？根据ripn的说法，只要dns不失效，域名永久有效。
我本身就要大量使用ghs.google.com服务，所以干脆维护一个自己的给自己用也方便下大家。每次失效了我都会更新的，自己的用着要舒服多了，哈哈。
短一点好记一点的域名几乎都被人注册了，我搜索了好久终于找到个自认为好记的：cname.pp.ru
域名的dns用的是zoneedit，非常老牌的专业dns服务商，那个bit.ly就是用它的服务。
综合性能上看非常不错的，完整支持所有dns协议，生效速度也非常快，绝对不是国内那些免费甚至付费的dns可以比的。
&#160;
本想直接拿根域名做ghs.google.com服务的，但考虑到以后可能还有类似的用途，所以决定用个二级域名，同样很好记：
ghs.cname.pp.ru
只需要把需要cname指向ghs.google.com的地方换成ghs.cname.pp.ru就可以了！
一般情况下，我会在域名上绑定多个可用ip，模仿ghs.google.com那样达到负载平衡。
遇到ip失效，我会尽可能第一时间修复成可用ip。如果当前无法找到可用ip，我会临时把ghs.cname.pp.ru恢复指向ghs.google.com。并时刻观察最新情况，找到新的ip马上换上。
这样应该能一定程度上解决的ghs.google.com在中国大陆不好用的问题了。
&#160;
我本来并不打算公开的，但想想自己花了精力去搞，一个人用可惜了，就分享出来给有需要的朋友吧。
当然你也可以用别人的，或者每次自己替换可用ip。我的ghs.cname.pp.ru没有任何优势，纯粹是自己用着舒服就行为原则，呵呵。
如果哪天我决定不搞了，或者遇到我无法解决的问题，也一定会给大家一个交代，所以完全可以放心。
&#160;
PS：我利用一个闲置ru域名做了一个tinyurl服务，也一起分享出来，不要滥用哦：http://tiny.pp.ru
]]></description>
			<content:encoded><![CDATA[<p>众所周知的原因，google提供自定义域名服务的cname记录ghs.google.com在中国大陆一直不好用。</p>
<p>虽然大家找到了很多代替ghs.google.com的ip地址，但也经常失灵，每次失灵了都要换新的，很多条记录都要替换，很烦很烦。</p>
<p>我曾经想过拿出一个子域名指向可用的ip地址，然后其他的cname到这个子域名，每次只要更新子域名的ip地址就可以了，很方便的。</p>
<p>网上有很多朋友提供了此类服务，大都都坚持不久。我google了一下，他们不是没有保持更新就是域名已经过期，用这些还不如直接用ip呢。</p>
<p>据我观察，目前为止坚持最久和用的人比较多的有<a href="http://blog.tancee.com/ghs" target="_blank">TanCee</a>的google.dns.tancee.com和<a href="http://www.behindgfw.com/archives/2007/06/ghs.html" target="_blank">behindgfw</a>的ghs.behindgfw.com。推荐一下。</p>
<p>&#160;</p>
<p>最近终于把<a href="http://www.black-xstar.com/blog/638.html" target="_blank">ripn的ru域名</a>给搞定了，突然想到何不用终身免费ru域名来做一个ghs.google.com服务呢？根据ripn的说法，只要dns不失效，域名永久有效。</p>
<p>我本身就要大量使用ghs.google.com服务，所以干脆维护一个自己的给自己用也方便下大家。每次失效了我都会更新的，自己的用着要舒服多了，哈哈。</p>
<p>短一点好记一点的域名几乎都被人注册了，我搜索了好久终于找到个自认为好记的：<strong>cname.pp.ru</strong></p>
<p>域名的dns用的是<a href="http://www.zoneedit.com/" target="_blank">zoneedit</a>，非常老牌的专业dns服务商，那个bit.ly就是用它的服务。</p>
<p>综合性能上看非常不错的，完整支持所有dns协议，生效速度也非常快，绝对不是国内那些免费甚至付费的dns可以比的。</p>
<p>&#160;</p>
<p>本想直接拿根域名做ghs.google.com服务的，但考虑到以后可能还有类似的用途，所以决定用个二级域名，同样很好记：</p>
<p><font color="#ff0000" size="5"><u><strong><em>ghs.cname.pp.ru</em></strong></u></font></p>
<p>只需要把需要cname指向ghs.google.com的地方换成ghs.cname.pp.ru就可以了！</p>
<p>一般情况下，我会在域名上绑定多个可用ip，模仿ghs.google.com那样达到负载平衡。</p>
<p>遇到ip失效，我会尽可能第一时间修复成可用ip。如果当前无法找到可用ip，我会临时把ghs.cname.pp.ru恢复指向ghs.google.com。并时刻观察最新情况，找到新的ip马上换上。</p>
<p>这样应该能一定程度上解决的ghs.google.com在中国大陆不好用的问题了。</p>
<p>&#160;</p>
<p>我本来并不打算公开的，但想想自己花了精力去搞，一个人用可惜了，就分享出来给有需要的朋友吧。</p>
<p>当然你也可以用别人的，或者每次自己替换可用ip。我的ghs.cname.pp.ru没有任何优势，纯粹是自己用着舒服就行为原则，呵呵。</p>
<p>如果哪天我决定不搞了，或者遇到我无法解决的问题，也一定会给大家一个交代，所以完全可以放心。</p>
<p>&#160;</p>
<p>PS：我利用一个闲置ru域名做了一个tinyurl服务，也一起分享出来，不要滥用哦：<a href="http://tiny.pp.ru">http://tiny.pp.ru</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.black-xstar.com/blog/641.html/feed</wfw:commentRss>
		<slash:comments>37</slash:comments>
		</item>
	</channel>
</rss>
