如何快速搭建一个VPN(pptp)
这是一个简短的教程,目的是为了快速搭建一个可用的VPN,本文并不涉及有关VPN的正常使用内容。本简短教程基于以下硬件条件:
- 一台安装了Debian GNU/Linux 5.0的VPS。
- 当然理论上所有可以安装pptpd包的*nix系统都可以作为主机,教程中安装方式是基于Debian的apt-get命令,其他发行版请自行对照使用。
- 这台VPS的物理位置是Fremont, CA。
- 物理位置作为VPN这个应用本身并不重要,在这里提出只是多此一举。
安装服务器端软件
# apt-get install pptpd
Debian的包管理是所有发行版里最好的,所以这条命令打完就安装完毕了我们的pptp服务器端程序。
配置IP地址范围
编辑/etc/pptpd.conf,在最后添加如下地址:
localip 192.168.0.1 remoteip 192.168.0.234-238,192.168.0.245
这两句设置了当外部计算机通过pptp联接到vpn后所能拿到的ip地址范围和服务器的ip地址设置。
增加一个用户
编辑/etc/ppp/chap-secrets,在下面增加类似的条目:
username pptpd password *
上面内容很好理解,最后那个星号是说允许从任何IP地址联接,如果你想单独设定IP地址也可以。
重启pptpd服务
# /etc/init.d/pptpd restart
理论上到这里一个vpn就已经搭建完毕了。无论你用的是Windows还是OSX,或者是iPhone OS,都可以通过建立一个pptp链接来联入这个VPN。不过你并不能通过这个来上Internet,因为所有的数据都作用于那台pptpd的服务器上,而不会传入拨入的计算机设备上。要上Internet还需要这么干:
dns解析支持
编辑:/etc/ppp/options,在里面找一下“ms-dns”项目:
ms-dns 208.67.222.222 ms-dns 208.67.220.220
我填写的是OpenDNS的地址,当然你也可以填写电信的DNS。
允许转发
编辑/etc/sysctl.conf,看一下net.ipv4.ip_forward参数是不是1。
net.ipv4.ip_forward=1
最后的最后,运行一下这条命令来打开iptables的转发支持:
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
注意:来自@LEMONed的消息,只有Xen的VPS可以搭建pptp,OpenVZ的不行。
引用来自@LEMONed的话:
因为openvz下只有venet0,没有eth0,而绝大多数的vps都是openvz的,然后绝大多数的openvz vps都没有masqurade,只能搭建openvpn并且要自签证书什么的,根本不能用pptpd。我为了给iphone搭个vpn曾经把这个研究透彻了
看来过几天我得再写一份搭openvpn的教程。
这里有个如何在openvz下搭建OpenVpn的教程:OpenVZ VPS安装配置OpenVPN
从Dreamhost向Linode搬迁中
自从05年底开始使用Dreamhost的服务至今也有小四年的时间,在下一个账期开始前我还是决定终止Dreamhost的服务全面转向VPS Hosting供应商:Linode。
我并不想说关于Dreamhost的坏话,抛开有些高的当机率和所有共享主机商都斤斤计较的CPU使用率外,Dreamhost提供了一个对我这样初学者来说极其友好的服务和进阶功能。这次转向Linode说到底是我有些贱的折腾习惯在作怪,顺便面对每年更高的主机租用价格让我能增加一点把Blog写下去的压力。
有关Linode的一些事实:
- Linode是一家美国的VPS提供商,VPS就相当于把一台物理主机划分为多台虚拟主机,各台虚拟主机都有自己独立的CPU、内存、硬盘,逻辑上它完全是一台独立的服务器。所以相对Dreamhost那样over selling严重的Share Server,VPS对各类资源有很大的保证。Linode使用的是Xen技术,至于Xen具体是啥有兴趣的可以自己找Wiki去看看,反正很NB就是了。
- Linode作为VPS来说是比较便宜的一家,我购买的是最便宜的Linode 360,价格是每月$19.95,加上一次购买一年给打了9折的折扣,另外还找了一个首月返还$10的Promo Code: storecrowd,所以一年的总费用是:$19.95 x 12 x 0.9 – $10 = $205.46。
- Linode只能用信用卡。
- Linode提供四个机房的服务器供选择,我使用的是Fremont, CA机房的,经很多人测试亚洲访问的速度应该是很不错的,我的实际测试是使用浏览器下载电信和网通都可以维持在150k/s左右。(可以到Linode“>这里测试)
- 由于使用的是VPS,所以你需要对于Linux有些了解。基础系统不需要你安装,但是对于如何搭建一个Web服务还是要知道一点的,不过Linode有丰富的文档可供参考,我一开始就是照着文档一步一步搭起来的。
- Linode提供DNS管理,完全可以(我也建议这样)把域名的DNS交给Linode来管理,它的界面友好,生效速度极快。我的经验是一般15分钟-1小时肯定同步完毕,国内一般都要12小时以上。
估计接下来的一段日子我会大量更新有关Linode上的一些使用技巧和如何搭建一个基本的Web服务器。最后,如果你对Linode有兴趣可以用这个地址注册:http://www.linode.com/?r=2423bd4b1aea90e0163241cd71513fe1b81108d3或者在注册的referral code中填2423bd4b1aea90e0163241cd71513fe1b81108d3,大约在三个月后我能得到一些好处,当然你直接跑去注册也没问题,以上链接并不会给你带来更多的优惠(当然也没什么坏处)。我个人在这里提供一个首月返还$10的Promo Code:storecrowd,这个是实在的优惠。
Squeezebox系列的字体、插件、iPhone OS支持
这篇讲点SB3的基础技巧,以后会有系列文章记录我的折腾过程。虽然题目是Squeezebox的设置,实际上所有的设置都是在服务器端,也就是SqueezeCenter上完成的。
Plugins
SqueezeCenter的插件系统让Squeezebox这个系列的产品能完成很多音乐播放器以外的功能,比如说让它来显示天气预报。以下内容以如何实现天气预报为例,其他插件可以以此类推。
SqueezeCenter插件位置在各类系统上的路径:
Windows
C:\Program Files\SqueezeCenter\server\Plugins
OS X
Home > Library > Application Support > SqueezeCenter > Plugins
Linux,由于各类版本的关系位置有些区别,我的Debian使用第一条路径,一般NAS是最后那条。
/usr/share/squeezecenter/Plugins, /usr/local/squeezecenter/Plugins 或 /opt/squeezecenter/Plugins
Weathertime可以从这里下载到,最新版本是2.2.2。下载后解包,把整个WeatherTime目录传到插件目录。
访问你的SqueezeCenter地址:http://SqueezeCenter IP:9000/ 。从右下角的settings进入,选择Plugins项目。找到“Weather, Date and Time”,勾选保存。然后在“Weather, Date and Time”后会看到有一个settings按钮,点击进入配置。
一些项目的设置大意:
- Weather Units: Metric Units(公制单位)
- City: Shanghai(地区,这个写的自己能看懂就行,不影响最终效果)
- Wunderground.com Citycode: ZSSS(这个代码是在Wunderground.com上获得的,搜索相应城市,然后在Flight Rule项目后括号内的4位代码就是,上海是ZSSS,北京是ZBAA)
- Fetch Interval(刷新间隔,这个留空默认就好)
- Time/Date format / Date format(按自己习惯来)
- Third line: Precipitation chance / Wind info(第三行信息显示降水概率还是风向)
- Wind info units(风向使用的单位)
接下来设置在哪里显示,WeatherTime这个插件比较复杂,一般情况下其他插件都是通过遥控器进入Extras项目中选择插件项目,WeatherTime当然也可以这样,但是更方便的是使用Screensaver的设置。
Screensaver设置位置在:Settings => Player => Basic Settings中的有关Screensaver的几个条目。一般可以设置Screensaver在playing/stopped/off这三个状态激活。一般的习惯是把WeatherTime设置在stopped或者off的时候激活。Playing状态的Screensaver一定是给Analog VU Meter这个效果留着的,买SB3有一部分原因正是这个模拟的示波表。
Fonts
Squeezebox默认就支持简体中文,但是字体的观感比较惨并且对繁体支持很差。更换字体的位置各系统:
Windows
C:\Program Files\SqueezeCenter\server\Graphics
OS X
Home > Library > Application Support > SqueezeCenter > Graphics
Linux
/usr/share/squeezecenter/Graphics
方法很简单,自己找个ttf字体把它名字修改成CODE2000.TTF替换原有文件即可。在Debian下测试结果是ttc也是可以的,但是Win和OS X我没有测试过,ttf应该都没问题。替换完毕后需要重启SqueezeCenter服务,OS X在偏好设置里重启,Debian是通过“/etc/init.d/squeezecenter restart”命令,Windows我测试过,找不到就重启机器吧。另外字体是通过SqueezeCenter提供支持的,所以如果关闭SqueezeCenter,Squeezebox会使用自带的默认字体。
iPhone OS
iPhone OS的App Store中已经有多款为SqueezeCenter所写的遥控程序,而其中iPeng这款是我试用下来最出色的。iPeng提供了一个很接近iPhone OS自带Music的界面,所以对于iPhone/iPod Touch用户来说上手变得很容易。如果不想购买iPeng,也可以启用iPeng在SqueezeCenter上的插件。SqueezeCenter最新版本已自带iPeng插件,激活后在Interface里使用iPeng外观,通过iPhone Safari访问服务器地址也会提供一个功能完全的播放器和设置界面。
Squeezebox Classic
这两天Twitter上的朋友经常看到我在唠叨一个叫做SB3的设备,为解各位疑惑在这里写些介绍和使用感受。
SB3全称是Squeezebox V3,在它的原制造者slimdevices被Logitech收购后又被称作Squeezebox Classic,不过大部分用户仍然称它为SB3。简单的说这是一台无线/有线的音乐播放器,作为播放器它本身并没有存储机制,而是通过网络读取某台安装了SqueezeCenter软件的存储设备上的音乐文件来作为音乐源。所以Squeezebox的基本流程是这样的:
音乐源(PC/MAC/Linux/NAS) => Squeezebox => 喇叭
表面上的诱人之处
- 完备的网络支持。Squeezebox可以使用100Mbps的有线网络和54Mbps的802.11g无线网络。
- 多种格式支持。Squeezebox支持的音乐格式包括:Apple Lossless, FLAC, WMA Lossless; AIFF, WAV, PCM; MP3, AAC, Ogg Vorbis, MP2, MusePack, WMA。请注意前三种格式,它们是最流行的3种无损压缩的音乐格式。
- 模拟/数字输出支持。Squeezebox模拟输出方面有常见的Mini Jack耳机口和RCA接口。数字输出部分有S/PDIF光纤口和同轴接口。
- Internet Radio。Squeezebox支持Internet Radio,自带的列表已超过500个,用户也可以自行添加电台地址。
有关SqueezeCenter
SqueezeCenter可以被安装在Windows 2000/XP/Vista、Mac OS X、Linux上,特别是Linux方面支持Debian/Ubuntu和Linux RPM两大包管理机制,另外对于一些使用Linux的NAS设备也提供支持。如果存储设备实在奇怪,也可以把Perl Source Code直接拉回去自己捣鼓(是的,它是开源的!)。
SqueezeCenter提供了一个比较和善的Web播放界面和详尽到让人感动的设置界面。通过各类SqueezeCenter的设置很明显的可以看出这是出自一群实际使用者之手,而不是一些莫名其妙的软件开发者。
SqueezeCenter除了提供音乐源的管理和Internet Radio这两个基本功能外,一个开放的插件系统让它的可玩性和实用性大大的提高了。SqueezeCenter的众多爱好者为它写了许多有用没用的插件。比如现在我的SB3可以在待机屏幕上显示天气预报而不是默认的单调时间;播放歌曲的时候会自动把曲目提交给Last.fm,遇到喜欢的歌也可以标记给Last.fm;可以在SB3的屏幕上阅读RSS更新消息;或者把Flickr和Facebook的更新信息提交到SB3的屏幕上来。
音频输出部分
我不是写器材评论的人,所以无法用一些华丽而空洞的词句去形容SB3,只能在这里说一些事实。
先说哪种输出的回放质量最好:数字输出。至于使用光纤还是同轴那就随各自高兴了,如果不太信任低价设备上的光纤模块那就使用物美价廉的同轴吧。
SB3的模拟输出RCA我并没亲身使用过,就收集的各类资料来看这部分并没有某篇文章中写的那么好到媲美一些中价位CD播放器的地步。SB3自带的那个可怜的直流变压器让模拟输出部分发挥不了应有的水平,所以如果使用模拟输出请考虑对电源部分进行适当的改造。
我的SB3是这样接驳的:
SqueezeCenter(Linux) => Squeezebox V3 => DAC => AMP => Speaker
实际的听感优于Panasonic SL-CT800(光纤输出,同样的DAC/AMP/Speaker),优于Linn Classik(同样的AMP/Speaker)。我的设备就那么多,所以没有更多的比较提供。
从理论上稍稍分析一下为什么那么多人说SB3可以媲美大部分中上价位的CD播放机。SB3的在整个音乐回放系统里是用于代替CD转盘位置的。与CD比较起来它们拥有理论上相同的音乐样本(现有的APE/FLAC/M4A都是从CD上采集来的),而SB3在jitter方面占有不小的优势。Intrinsic jitter这个参数SB3的官方数据是50ps,Marantz经典的CD 63/67是500ps,售价超过$500的Onkyo DX-7555是280ps。至于时基抖动(jitter)对回放造成的影响有兴趣的可以去wiki之类的地方看看,我这个半吊子一时也讲不清楚。所以在使用数字输出,使用外置DAC的情况下SB3理论上要比大部分中低价位的CD播放机要好上那么点。
扔一张俺画得图作为结束,有关Squeezebox的相关内容我会在后面几天继续介绍。