<?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; vpn</title>
	<atom:link href="http://blog.istef.info/tag/vpn/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.istef.info</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 06 Jun 2010 05:52:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<atom:link rel='hub' href='http://blog.istef.info/?pushpress=hub'/>
		<item>
		<title>单网卡 Ubuntu 服务器打造 PPTP Server</title>
		<link>http://blog.istef.info/2008/10/17/ubuntu-pptp-server/</link>
		<comments>http://blog.istef.info/2008/10/17/ubuntu-pptp-server/#comments</comments>
		<pubDate>Fri, 17 Oct 2008 15:08:20 +0000</pubDate>
		<dc:creator>iStef</dc:creator>
				<category><![CDATA[Experiences]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[pptpd]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://blog.istef.info/?p=1864</guid>
		<description><![CDATA[自从实验室放了台 Linux 服务器后，可玩的东西就越来越多了。虽然这台服务器主要的工作是 Web Server，但鉴于我们那小站压力非常之小，服务器资源绝大多数还是浪费着，所以让它多干些活是个不错的选择。实验室的内部网络中有不少非常有用的资源，例如科研用的文献资料，个人的实验数据等等，这些内容一旦离开实验室就不那么容易访问到了。解决这个问题最好的办法就是 VPN。在 Ubuntu 上搭建 VPN 服务器的方法非常多，比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好，但配置较麻烦。其中 OpenVPN 在 Windows/Mac 平台上还需要额外的客户端。而 L2TP/IPSec 方式虽然比较好，但我配置后，虽然 Windows 和 Linux 用户没有问题，但 Mac/iPhone 却始终无法连上，所以暂时删掉了，日后搞清楚是什么问题再换到这种方式。 只剩下 PPTP 了。事实上 PPTP 是这三者中配置最容易的方式，而且由于 Windows/Mac 系统中都内建相应的客户端，使用起来非常方便。下面我就简单写写我的安装过程，希望对需要的朋友有用。当然如果您有什么高见，也欢迎您提出。 首先，我所有的操作都是在之前文章中介绍的 Ubuntu 8.04 Server 系统中操作的，如果您的系统和我的不一样，请参考之前的两篇文章。我的服务器环境是单网卡 eth0。 在 Ubuntu 中建立 pptp server 需要的软件包为 pptpd，用 apt-get 即可安装： sudo apt-get install pptpd 系统会自动解决依赖关系，安装好后，需要进行一番设置。首先编辑 /etc/pptpd.conf sudo [...]]]></description>
			<content:encoded><![CDATA[<p>自从实验室放了台 Linux 服务器后，可玩的东西就越来越多了。虽然这台服务器主要的工作是 Web Server，但鉴于我们那小站压力非常之小，服务器资源绝大多数还是浪费着，所以让它多干些活是个不错的选择。实验室的内部网络中有不少非常有用的资源，例如科研用的文献资料，个人的实验数据等等，这些内容一旦离开实验室就不那么容易访问到了。解决这个问题最好的办法就是 VPN。在 Ubuntu 上搭建 VPN 服务器的方法非常多，比较著名的有 PPTP, L2TP/IPSec 和 OpenVPN。这三种方式中后两者的安全性比较好，但配置较麻烦。其中 OpenVPN 在 Windows/Mac 平台上还需要额外的客户端。而 L2TP/IPSec 方式虽然比较好，但我配置后，虽然 Windows 和 Linux 用户没有问题，但 Mac/iPhone 却始终无法连上，所以暂时删掉了，日后搞清楚是什么问题再换到这种方式。</p>
<p>只剩下 PPTP 了。事实上 PPTP 是这三者中配置最容易的方式，而且由于 Windows/Mac 系统中都内建相应的客户端，使用起来非常方便。下面我就简单写写我的安装过程，希望对需要的朋友有用。当然如果您有什么高见，也欢迎您提出。</p>
<p>首先，我所有的操作都是在<a href="http://blog.istef.info/2008/10/02/build-a-linux-light-server/">之前文章中介绍的 Ubuntu 8.04 Server 系统</a>中操作的，如果您的系统和我的不一样，请参考之前的<a href="http://blog.istef.info/2008/10/02/setup-ssh-server-on-ubuntu-server/">两篇文章</a>。我的服务器环境是单网卡 eth0。</p>
<p>在 Ubuntu 中建立 pptp server 需要的软件包为 pptpd，用 apt-get 即可安装：</p>
<blockquote>
<pre>sudo apt-get <abbr title="Thanks zz!">install</abbr> pptpd</pre>
</blockquote>
<p>系统会自动解决依赖关系，安装好后，需要进行一番设置。首先编辑 /etc/pptpd.conf</p>
<blockquote>
<pre>sudo nano /etc/pptpd.conf</pre>
</blockquote>
<p>去掉文件最末端的 localip 和 remoteip 两个参数的注释，并进行相应修改。这里，localip 是 VPN 连通后服务器的 ip 地址，而 remoteip 则是客户端的可分配 ip 地址。下面是我的配置：</p>
<blockquote>
<pre>localip 10.100.0.1
remoteip 10.100.0.2-10</pre>
</blockquote>
<p>编辑好这个文件后，我们需要编辑 /etc/ppp/pptpd-options 文件，还是用 nano 编辑，命令这里就不写了。这里绝大多数参数只需维持原来的默认值即可，我们只需要改变其中的 ms-dns 选项，为 VPN 客户端指派 DNS 服务器地址：</p>
<blockquote>
<pre>ms-dns 202.113.16.10
ms-dns 208.67.222.222</pre>
</blockquote>
<p>修改 /etc/ppp/chap-secrets 文件，这里面存放着 VPN 的用户名和密码，根据你的实际情况填写即可。如文件中注释所示，第一列是用户名，第二列是服务器名（默认写 pptpd 即可，如果在 pptpd-options 文件中更改过的话，注意这里保持一致），第三列是密码，第四列是 IP 限制（不做限制写 * 即可）。这里<a href="http://blog.istef.info">我</a>就不贴我的配置了 <img src='http://blog.istef.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>全部搞定后，我们需要重启 pptpd 服务使新配置生效：</p>
<blockquote>
<pre>sudo /etc/init.d/pptpd restart</pre>
</blockquote>
<p>找一台 Windows 电脑，新建个 VPN 链接，地址填服务器的 IP（或域名），用户名密码填刚才设置好的，域那项空着（如果你在 pptpd-options 中设置了，这里就保持一致），点连接就可以了。正常情况下您应该能够建立与服务器的 VPN 链接了。</p>
<p>建立连接之后，您会发现除了可以访问服务器的资源，其余内外和互联网的内容均无法访问。如果需要访问这些内容的话，我们还需要进一步设置：</p>
<p>首先，开启 ipv4 forward。方法是，修改 /etc/sysctl.conf，找到类似下面的行并取消它们的注释：</p>
<blockquote>
<pre>net.ipv4.ip_forward=1</pre>
</blockquote>
<p>然后使新配置生效：</p>
<blockquote>
<pre>sudo sysctl -p</pre>
</blockquote>
<p>有些时候，经过这样设置，客户端机器就可以上网了（我在虚拟机上这样操作后就可以了）。但我在实验室的服务器上这样操作后仍然无法访问网络，这样我们就需要建立一个 NAT。这里我们使用强大的 iptables 来建立 NAT。首先，先安装 iptables：</p>
<blockquote>
<pre>sudo apt-get intall iptables</pre>
</blockquote>
<p>装好后，我们向 nat 表中加入一条规则：</p>
<blockquote>
<pre>sudo iptables -t nat -A POSTROUTING -s 10.100.0.0/24 -o eth0 -j MASQUERADE</pre>
</blockquote>
<p>这样操作后，客户端机器应该就可以上网了。</p>
<p>但是，只是这样，iptables 的规则会在下次重启时被清除，所以<a href="http://yangliu.name">我们</a>还需要把它保存下来，方法是使用 iptables-save 命令：</p>
<blockquote>
<pre>sudo iptables-save &gt; /etc/iptables-rules</pre>
</blockquote>
<p>然后修改 /etc/network/interfaces 文件，找到 eth0 那一节，在对 eth0 的设置最末尾加上下面这句：</p>
<blockquote>
<pre>pre-up iptables-restore &lt; /etc/iptables-rules</pre>
</blockquote>
<p>这样当网卡 eth0 被加载的时候就会自动载入我们预先用 iptables-save 保存下的配置。</p>
<p>到此，一个 VPN Server/Gateway 基本就算架设完毕。当然，也许你按照我的方法做了，还是无法成功，那么下面总结一些我碰到的问题和解决方案：</p>
<h3 style="padding-left: 30px;">无法建立 VPN 连接</h3>
<p style="padding-left: 30px;">安装好 pptpd 并设置后，客户端还是无法建立到服务器的连接。造成的原因可能有以下几种：</p>
<blockquote>
<ol>
<li>服务器端的防火墙设置：PPTP 服务需要使用 1723(tcp) 端口和 gre 协议，因此请确保您的防火墙设置允许这两者通行。</li>
<li>如果服务器在路由器后面，请确保路由器上做好相应的设置和端口转发。</li>
<li>如果服务器在路由器后面，那么请确保你的服务器支持 VPN Passthrough。</li>
<li>如果客户端在路由器后面，那么客户端所使用的路由器也必须支持 VPN Passthrough。其实市面上稍微好点的路由器都是支持 VPN Passthrough 的，当然也不排除那些最最最便宜的便宜货确实不支持。当然，如果你的路由器可以刷 DD-Wrt 的话就刷上吧，DD-Wrt 是支持的。</li>
</ol>
</blockquote>
<blockquote>
<h3>能建立链接，但“几乎”无法访问互联网</h3>
</blockquote>
<blockquote><p>这里我使用“<a href="http://hi2.me">几乎</a>”这个词，是因为并不是完全不能访问互联网。症状为，打开 Google 搜索没问题，但其它网站均无法打开；SSH 可用，但 scp 不行；ftp 能握手，但传不了文件。我就遇到了这种情况，仔细 Google 后发现原来是 MTU 的问题，用 ping 探测了一下果然是包过大了。知道问题就好办了，我们可以通过 iptables 来修正这一问题。具体原理就不讲了，需要的自己 Google。这里只说解决方案，在 filter 表中添加下面的规则：</p></blockquote>
<blockquote style="padding-left: 30px;">
<pre>sudo iptables -A FORWARD -s 10.100.0.0/24 -p tcp -m tcp --tcp-flags SYN,RST SYN
-j TCPMSS --set-mss 1200</pre>
</blockquote>
<blockquote><p>上面规则中的 1200 可以根据你的实际情况修改，为了保证最好的网络性能，这个值应该不断修改，直至能保证网络正常使用情况下的最大值。</p></blockquote>
<p>好了，至此，一台单网卡 pptp-server 就算完成了。</p>
<p>ps，最近发现我的文章被大大小小无数网站抄袭，其中不乏一些“大站”。这里我用“抄袭”这个词，是因为你们的做法已经远远超出了正常的“转载”。我每篇文章后都会强调，“<strong>转载写明出处，商业网站使用请先获得授权</strong>”，但不知道为什么对于这些小编们，发个邮件问我一下会这么难。这次我就不点名了，先警告一下。如果让我发现下次的话，那么别怪我，我会及时给您曝光的。
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.istef.info%2F2008%2F10%2F17%2Fubuntu-pptp-server%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.istef.info%2F2008%2F10%2F17%2Fubuntu-pptp-server%2F&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.istef.info/2008/10/17/ubuntu-pptp-server/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>AnchorFree &#8211; 让潘多拉在美利坚外复活</title>
		<link>http://blog.istef.info/2008/01/06/free-vpn-service-anchorfree/</link>
		<comments>http://blog.istef.info/2008/01/06/free-vpn-service-anchorfree/#comments</comments>
		<pubDate>Sun, 06 Jan 2008 15:33:10 +0000</pubDate>
		<dc:creator>iStef</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[anchorfree]]></category>
		<category><![CDATA[gfw]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://blog.istef.info/2008/01/06/free-vpn-service-anchorfree/</guid>
		<description><![CDATA[非常优秀的网络电台服务 Pandora 在 RIAA 那个大坏蛋的胁迫下，不得已对我们这些“非美利坚”的听众们中止了服务。但 Pandora 音乐的高质量，加上音乐的高度匹配，让我始终对这个服务念念不忘，很希望能有些什么方法重新用起来它。 Mashable 昨天简要的提及了一个叫做 AnchorFree 的服务，通过它我们这些“非美国人”就又可以重新享受 Pandora 了。不仅如此，很多不对我们国人开发的服务，例如 Hulu、Google Video 之类也可以正常的访问。如上图，我又可以听到久违了的潘多拉了。 事实上，AnchorFree 是一个免费的 VPN 服务。至于 VPN 是什么，各位不懂的朋友还是自己去 Google 或 Wikipedia 补课。简单的说就是通过某种协议，把你的计算机接入到某个虚拟局域网中。而 AnchorFree 这个虚拟局域网恰好在米国，因此我们的 IP 就变成了如假包换的米国 IP，能使用这些服务也就不奇怪了。 其实这种 VPN 服务早已经不新鲜，但 AnchorFree 所提供的“免费”VPN 则还是不多见的。当然，之所以免费加上了引号，是因为 AnchorFree 会在您开启 VPN 浏览时，在页面上插入不少广告，依此盈利。这种模式，没准灵感还是来自 Google Adsense 之类。 当然，对于我们来说，能上像 Pandora 这样的好服务，有几个广告也就将就忍了。当然，VPN 最大的好处在于数据加密传输。因此在开启 AnchorFree 之后，我们不仅能看到 Pandora、Google Video 这些地区限制网站，还能看到 Flickr、Wikipedia、WordPress.com 等等大闸蟹了的网站。所以对于我们中国大陆的网民来说，AnchorFree [...]]]></description>
			<content:encoded><![CDATA[<p><img height="239" alt="anchor" src="http://blog.istef.info/wp-content/uploads/2008/01/anchor.jpg" width="429" border="0"> </p>
<p>非常优秀的网络电台服务 <a href="http://www.pandora.com">Pandora</a> 在 RIAA 那个大坏蛋的<a href="http://blog.istef.info/2007/05/03/pandora-stop-the-services-to-the-users-outside-the-us/">胁迫</a>下，不得已对我们这些“非美利坚”的听众们中止了服务。但 Pandora 音乐的高质量，加上音乐的高度匹配，让我始终对这个服务念念不忘，很希望能有些什么方法重新用起来它。</p>
<p>Mashable 昨天简要的<a href="http://mashable.com/2008/01/04/pandora-and-hulu-hack-for-non-us-citizens/">提及</a>了一个叫做 <a href="http://anchorfree.com/">AnchorFree</a> 的服务，通过它我们这些“非美国人”就又可以重新享受 Pandora 了。不仅如此，很多不对我们国人开发的服务，例如 Hulu、Google Video 之类也可以正常的访问。如上图，我又可以听到久违了的潘多拉了。</p>
<p>事实上，AnchorFree 是一个免费的 VPN 服务。至于 VPN 是什么，各位不懂的朋友还是自己去 Google 或 Wikipedia 补课。简单的说就是通过某种协议，把你的计算机接入到某个虚拟局域网中。而 AnchorFree 这个虚拟局域网恰好在米国，因此我们的 IP 就变成了如假包换的米国 IP，能使用这些服务也就不奇怪了。</p>
<p>其实这种 VPN 服务早已经不新鲜，但 AnchorFree 所提供的“免费”VPN 则还是不多见的。当然，之所以免费加上了引号，是因为 AnchorFree 会在您开启 VPN 浏览时，在页面上插入不少广告，依此盈利。这种模式，没准灵感还是来自 Google Adsense 之类。</p>
<p>当然，对于我们来说，能上像 Pandora 这样的好服务，有几个广告也就将就忍了。当然，VPN 最大的好处在于数据加密传输。因此在开启 AnchorFree 之后，我们不仅能看到 Pandora、Google Video 这些地区限制网站，还能看到 Flickr、Wikipedia、WordPress.com 等等大闸蟹了的网站。所以对于我们中国大陆的网民来说，AnchorFree 有点用，不是很黄很暴力，而是很强大很河蟹。</p>
<p>继续听 Pandora 去了，感兴趣的朋友不妨试试。但切记，低调，低调。</p>
<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.istef.info%2F2008%2F01%2F06%2Ffree-vpn-service-anchorfree%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.istef.info%2F2008%2F01%2F06%2Ffree-vpn-service-anchorfree%2F&amp;style=compact&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.istef.info/2008/01/06/free-vpn-service-anchorfree/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached
Database Caching 1/13 queries in 0.005 seconds using memcached
Object Caching 437/461 objects using memcached

Served from: blog.istef.info @ 2012-02-13 08:04:04 -->
