标签存档: linode

Tuning Linode VPS-小规模低性能低流量网站优化实践

网址:
http://www.dbanotes.net/techmemo/tuning_linode_vps.html
偶然看到以前写过的这篇帖子
『小规模低性能低流量网站设计原则』
,重新发到微博上引起了一点反响,觉得有必要以
Linode
VPS 为例再做个简单的优化实践说明,免得总有人问我,也顺便赚点点击量 :)假定现在你已经有了一个基本的 VPS 可用,基本内存 512MB 。参考官方提供的各种
安装指导
将 LAMP 这个组合运行了起来,操作系统一般 Ubuntu ,Web 服务器 Apache ,数据库 MySQL ,然后是 PHP ,以及需要安装的应用软件,WordPress 、Drupal 或是 OpenCart 什么的,一步一步配置好,能够正常的浏览页面。按照官方指导文档操作的一个好处是会包括一些基本的优化一点的配置。不至于出现太大的错误。一旦应用就绪后,登录到操作系统中,通过 top / iostat / free 等基本操作系统命令收集基准数据,做记录。收集信息越全面,对于后面的优化就越便利。优化没有魔法,只有合理的方法。1.内存相关的调整内部测试或是较小范围使用,可能这样也不会遇到太大问题。一旦访问人数多了一点,机器响应可能就有点慢了。对于 VPS ,第一步着手调整的就是各个组件对内存的使用。因为内存受限,对内存的使用一定要精打细算一点。记住一旦内存耗尽,一部分内存调用压到磁盘上,系统负载会飙升,一般就会挂掉。一般来说,对于 LAMP 环境,以下几个地方要注意:PHP 程序的内存相关的调整
PHP5 配置文件 php.ini 中 memory_limit 定义的值默认情况是16MB,该参数定义单个 PHP 脚本消耗最大的内存大小(大意)。如果程序某个页面需要的内存超过这个限制,访问者最可能遇到一个 HTTP 500 错误,查看 Web 服务器错误日志也可以看到。多数情况下,这个值需要做相应调整。比如设置为32MB,是否合适,需要做观察。有一个经验方法是观察 top 命令的输出,看相应进程的 SHR 字段的值,实际上总是尽量大一点点。但不能过大,一旦有个别程序写的不好调用的时候占用过多资源,会导致 VPS 挂掉。经常有人问,这个服务器跑某某 Web 应用,能支持多少并发? 一个大致的思路是估算单个进程占用的内存,看系统能分配多少内存给应用程序,并发的量大致可以估算得到。但实际上,这个提问基本没多大价值。另外,还有一个比较重要的参数需要修改 output_buffering 需要修改为 On 或是具体数值(eg, 4096)。修改配置后,检查是否生效(如何检查?)。另外,记住error_log的位置,随时查看。MySQL 数据库内存占用
如果不确定 MySQL 内存使用情况,可以利用
MySQLReport
这个工具收集一下 MySQL 实例的信息报告,不同时间段多收集几次作为对比。然后相应的调整 key_buffer/query_cache_size 等参数的大小, 一次调整一个参数,重启动 MySQL ,继续抽取报告,分析数据,然后调整下一个参数。既然需要编辑配置文件 my.cnf , 建议顺手加大一点 max_connections 这个参数(为什么?)。多数内存问题都是由数据库 I/O 引起,导致 I/O 问题多由不合理数据库调用有关(这么说严谨么?),解决不合理调用要么修改应用,要么通过查询缓存或是 Key-Value Cache 等办法缓解。这地方说来话长,假定 VPS 上基本不会有这么复杂的环境。2. 影响 CPU 利用率的调整这个主要针对 PHP 的 Opcode(Accelerator) 而言,解析、编译PHP代码是相当消耗CPU的操作。常见的要么是
APC
, 要么是
eAccelerator
或是 XCache,在 Ubuntu 下安装配置都相对简单,参数调整简单搜索一下就知晓了。如果是 PHP 环境,那么一定要用 Opcode 减少 CPU 的负荷(为什么?)。至于用哪一个关系倒是不大,但前提是必须要有一个。另外,张磊同学这篇
让进程运行在指定的CPU
对于特定需求的应用,很有借鉴意义。3. 网络参数控制修改 /etc/sysctl.conf 文件,增加如下几行:net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1然后 sudo sysctl -p 使修改生效。使用如下一行命令观察半连接数量:$ netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'其实一般来说,网络连接数不会成为最明显的瓶颈。但顺手调整一下也好,「不费电」。有人问,如果遇到 DDoS 怎么办?忍着。4. 应用程序相关的调整比较流行的开源程序,不安装第三方插件的情况下,性能多少过得去。建议如果没有必要,不要启用过多的第三方插件,尤其是一些带有统计或是「智能」显示内容之类的插件能不用就不用。这些开源程序也基本上都有面向前端优化的静态化解决方案,比如 WordPress 的 Cache 相关的插件,强烈推荐启用。有时间看看
前端优化
的实践建议。

(图片
来源
)优化最重要的是找到瓶颈,对症下药。前面已经说到了内存、CPU、网络,大致提了一点 I/O 问题,基本也就够了。PHP 的 Log , MySQL 的慢查询 Log ,Apache 的 Error Log ,常过滤看一下有没有新情况。补充一点,别忘了修改 OS 的 ulimit 限制:编辑 /etc/security/limits.conf 增加如下两行(具体数值大点小点问题不大):* soft nofile 40960
* hard nofile 40960编辑 /etc/pam.d/common-session ,增加如下一行:session required pam_limits.so编辑 /etc/profile ,增加如下一行:ulimit -SHn 40960重新启动 OS 即可生效。Linode 后台提供了几个基本的统计图,基本够用。可以设置磁盘 I/O 过高的时候报警,系统会发邮件给你。注意看一下网络流量的使用。不要因为个别文件被盗链而将带宽消耗殆尽。上面提到的不少修改建议不要照葫芦画瓢,知其然,还要知其所以然。每一步的调整多阅读系统手册,尤其是涉及到具体的参数数值,一定要针对实际情况修改。对基本的配置足够掌握之后,可以根据具体情况尝试性能效率的组件,比如用 Nginx/Lighttpd 替换 Apache ,但是要记住,如果 Apache 不是瓶颈的话,用传说中性能更好的 Web 服务器来替换无疑是折腾。再次提醒不要过度优化,足够满足需求就行了。有更多的精力完全可以放在其他环节上。另外,如果基本的调整做过之后,想用最省事的办法改善性能,那么,直接向服务商购买额外的内存吧。好吧,最后我想说的是其实这个优化思路并不局限于 VPS ,这个最小实践套路对于复杂的服务器环境也是基本适用的。–EOF–

linode VPS购买地址:http://www.linode.com/?r=0095c3b33ba8a299b622f9b7a123c42e4c6fc57c

linode VPS服务器重装及数据备份过程

大家都说linode好用,还真的好用,这么一转眼就用了一年半了。最近刚刚重装了自己在LINODE的服务器。在此之前,我用的是debian,后来发现centos用起来太方便了。于是就琢磨着把系统换一下。在网上,查了好久的资料没有一个相对完整的解决方案。于是,我只好临时买了一个新的linode节点,做测试。下面就把大致的过程写出来。
其实,Linode的系统重装很快很方便。主要就是之前你的数据怎么整理,备份再在重装后恢复回来。
我的解决办法分两步:
1,首先先把现有的linode节点重新划分,把现有的一个镜像盘分为两个,举例来说,我现在的linode系统分为两个硬盘镜像(disk image):512MB Swap Image和Debian Disk Image,其中Debian Disk Image有16G,所有的东西都在这里。我用linode的resize工具现将16G中没有用到的10G划分出来。然后再新建一个硬盘镜像(Create a new Disk Image),把这10G作为一个外挂硬盘来用,命名为:extdisk。(注意:以上操作要先关闭系统)
2,在Lionde的系统配置部分(Configuration Profiles)找到自己的debian配置,点击编辑(edit),找到外挂硬盘(Block Device Assignment)部分,在/dev/xvdc这里下拉找到新建的外挂硬盘extdisk,保存设置。然后启动操作系统。
3,正常登录操作系统,首先查看外挂硬盘是否正常,打入fdisk -l 发现列表中已经有/dev/xvdc,接下来,我们就要想办法把外挂硬盘挂入操作系统了。现在你想挂入的地方新建一个目录,比如我选在根目录新建一个叫extdisk,命令是:mkdir /extdisk,然后用Mount /dev/xvdc /extdisk把外挂硬盘挂入操作系统。命令正常执行后,我们ls /extdisk,发现正常访问,这就表示我们的外挂硬盘正常工作了。我们可以把我们需要备份的文件都拷进来。
4,备份完毕后,关闭操作系统,开始重装。先删除debian的硬盘镜像(Debian Disk Image),然后删除操作系统的配置文件(My Debian Profile),之后在重建一个Linux版本(Deploy a Linux Distribution)就可以了,重建的时候,他会自动把你刚刚删除的硬盘镜像的空间用上,很方便。这次的Linux版本可要选对了,我选择的是Centos 5.5
5,启动centos,在把步骤3中的操作重做一遍,把刚刚的备份硬盘镜像重新挂进来,我们的重装就完成了。
重装系统风险很大,请大家务必慎重哈

——————————————————————————–
来源:http://www.murray.cn/index.php/2011/03/linode-server-rebuild-install/

请看linode VPS

linode vps centos 文件系统备份

具有備份意義的檔案通常可以粗分為兩大類,一類是系統基本設定資訊、一類則是類似網路服務的內容資料。
作業系統本身需要備份的檔案:

•/etc/ 整個目錄
•/home 整個目錄
•/var/spool/mail
•/boot
•/root
•如果你自行安裝過其他的套件,那麼 /usr/local/ 或 /opt 也最好備份一下!
網路服務的資料庫方面:

•軟體本身的設定檔案,例如:/etc/ 整個目錄,/usr/local/ 整個目錄
•軟體服務提供的資料,以 WWW 及 MySQL 為例:
WWW 資料:/var/www 整個目錄或 /srv/www 整個目錄,及系統的使用者家目錄
MySQL : /var/lib/mysql 整個目錄
•其他在 Linux 主機上面提供的服務之資料庫檔案!
Tips:

•備份是系統損毀時等待救援的救星,但造成系統損毀的因素可能有硬體與軟體等原因。
•由於主機的任務不同,備份的資料與頻率等考量參數也不相同。
•常見的備份考慮因素有:關鍵檔案、儲存媒體、備份方式(完整/關鍵)、備份頻率、使用的備份工具等。
•常見的關鍵資料有:/etc, /home, /var/spool/mail, /boot, /root 等等
•儲存媒體的選擇方式,需要考慮的地方有:備份速度、媒體的容量、經費與媒體的可靠性等。
•與完整備份有關的備份策略主要有:累積備份與差異備份。
•累積備份可具有較小的儲存資料量、備份速度快速等。但是在還原方面則比差異備份的還原慢。
•完整備份的策略中,常用的工具有 dd, cpio, tar, dump 等等。

http://danielzzu.blog.163.com/blog/static/118515304201071525352645/

linode apache 禁止显示 目录列表

我用的是linode debian,按照默认配置好vps发现目录可以以列表显示内容,这个比较危险所以必须禁止。

方法:找到 /etc/apache2/apache2.conf 文件在其中添加,如下内容:


Options -Indexes FollowSymLinks
order Deny,Allow
Allow from all

中 /srv/www/*/html为你的网站文件地址,*包括所有用户或网站根据自己的配置修改,html为每个用户或站点中的网站文件目录,如public_html、html等。

在网上查到的其他方法中还在中间加入了AllowOverride None语句,如果你的网站需要用到.htaccess文件请不要添加该语句,会影响到如discuz中用.htaccess配置的伪静态规则rewrite或wordpress的一些规则。具体AllowOverride的作用可以百度一下。

linode购买:点击购买 (用我的推介购买http://www.linode.com/?r=0095c3b33ba8a299b622f9b7a123c42e4c6fc57c,3个月后返款10美元,具体咨询QQ:13945502)

linode debian 添加多ip 静态ip 配置教程

配置DNS:

编辑文件vi /etc/resolv.conf,为如下所示:

domain members.linode.com #可以不填

search members.linode.com #可以不填

nameserver 98.76.54.32 #在后台Remote Access标签中的DNS Resolvers

nameserver 76.54.32.10 #在后台Remote Access标签中的DNS Resolvers

options rotate #必须有这行

Debian & Ubuntu系统中静态ip,多ip配置:

编辑文件vi /etc/network/interfaces,如下所示(将原来DHCP动态ip配置覆盖即可!):

# The loopback interface

auto lo

iface lo inet loopback

# Configuration for eth0 and aliases

# This line ensures that the interface will be brought up during boot.

auto eth0 eth0:0 eth0:1

# eth0 – This is the main IP address that will be used for most outbound connections.主ip,也就是linode自带的ip。

# The address, netmask and gateway are all necessary.ip地址、掩码、网关都必须填

iface eth0 inet static

address 12.34.56.78 #主ip地址在后台Remote Access标签中查看。

netmask 255.255.255.0 #掩码地址在后台Remote Access标签中查看。

gateway 12.34.56.1 #网关在后台Remote Access标签中查看。

# eth0:0

# This is a second public IP address.这是购买的第二个ip

iface eth0:0 inet static

address 34.56.78.90 #第二个ip地址在后台Remote Access标签中查看。

netmask 255.255.255.0 #掩码在后台Remote Access标签中查看。

# eth0:1 – Private IPs have no gateway (they are not publicly routable) so all you need to.内部ip,不能作为外部访问用。

# specify is the address and netmask.

iface eth0:1 inet static

address 192.168.133.234 #内部ip地址在后台Remote Access标签中查看。

netmask 255.255.128.0 #掩码在后台Remote Access标签中查看。
同理我们可以为linode添加更多的ip,但是linode很难购买更多的ip,需要有很充分的理由如ssl等。

英文原文请参考(包含其他系统配置方法,如:CentOS,Fedora,Ubuntu等):http://library.linode.com/networking/configuring-static-ip-interfaces/#debian__amp__ubuntu

linode购买:点击购买 (用我的推介购买http://www.linode.com/?r=0095c3b33ba8a299b622f9b7a123c42e4c6fc57c,3个月后返款10美元,具体咨询QQ:13945502)

Linode Centos6 64bit安装配置LAMP

这是我在Linode的VPS上,安装配置LAMP的过程。基础Linux系统Centos6 64bit;内存756MB;Intel(R) Xeon(R) L5520 @ 2.27GHz,4核心,理论上会有30个VPS分享这颗CPU -_-!。

我之前用的VPS都是带面板的,要么DirectAdmin,要么WHM/Cpanel,安装升级LAMP都有scripts,非常好用。但面板毕竟占内存,而VPS对内存是最敏感的,所以这次面板的任务我准备交给vim…

Centos6 64bit是Linode自动安装的,很干净,啥都没有,难免要编译东西,所以先把一些编译环境给yum好:

yum install gcc gcc-c++ make flex bison autoconf automake bzip2-devel zlib-devel ncurses-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel pam-devel openssl-devel libxml2-devel gettext-devel pcre-devel

修改时区:

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

以下多数内容多数基于:Set up a LAMP Server on CentOS 6.

修改host:

echo “HOSTNAME=webmaster” >> /etc/sysconfig/network
hostname “webmaster”

然后vim /etc/hosts:

127.0.0.1 localhost.localdomain localhost
xx.xx.xx.xx webmaster.onepx.com webmaster

xx.xx.xx.xx是VPS在Linode Manager上分配的IP。

安装Apache:

yum install httpd

Apache的配置文件在/etc/httpd/conf/httpd.conf,如果要往上加东西最好加在/etc/httpd/conf.d/这个文件夹里,命名为x.conf就可以,apache启动的时候会自动加载这个文件夹里所有的.conf文件。

添加域名,以onepx.com和二级域名doc.onepx.com为例。由于受之前用面板的影响,还是习惯把网站目录放在/home下,vim /etc/httpd/conf.d/vhost.conf,加入:

NameVirtualHost *:80

ServerAdmin silihai@gmail.com
ServerName onepx.com
ServerAlias www.onepx.com
DocumentRoot /home/onepx/public_html/
ErrorLog /home/onepx/logs/error.log
CustomLog /home/onepx/logs/access.log combined


ServerAdmin silihai@gmail.com
ServerName doc.onepx.com
ServerAlias www.doc.onepx.com
DocumentRoot /home/onepx/public_html/doc/
ErrorLog /home/onepx/logs/doc.error.log
CustomLog /home/onepx/logs/doc.access.log combined
启动apache前需要按照上面的目录结构建立目录:

mkdir -p /home/onepx/public_html
mkdir /home/onepx/public_html/doc
mkdir /home/onepx/logs

启动apache:

/etc/init.d/httpd start

以后在vhost.con中添加域名后都需要重启apache:

/etc/init.d/httpd restart

让Centos6开机的时候自动启动apache:

/sbin/chkconfig –levels 235 httpd on

安装mysql:

yum install mysql-server

系统启动时加载mysql:

/sbin/chkconfig –levels 235 mysqld on

启动mysql server:

/etc/init.d/mysqld start

Mysql配置文件在/etc/my.cnf,比较要紧的是解决编码问题,加入下列,一劳永逸:

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

[client]
default-character-set=utf8然后重启mysql:

/etc/init.d/mysqld restart

运行:

mysql_secure_installation

作用是设置mysql密码,删除一些默认的东东。然后登录:

mysql -u root -p

创建mysql数据库和用户,数据库名为”blog”,用户”onepx”,密码”password”:

create database blog;
grant all on blog.* to ‘onepx’ identified by ‘password’;

导入已有数据库:

use blog;
source /home/之前的数据.sql

搞定后quit。以后备份,不用登录mysql,在bash下:

mysqldump -u onepx -p blog > /home/backup_blog.sql

下面开始安装PHP:

yum install php php-pear php-mysql

PHP的配置文件在/etc/php.ini,同时也有目录/etc/php.d/,下面若干.ini文件,都是在启动apache的时候自动加载,加的东西可以往这里放,命名为xxx.ini就可以了,比如下面我要安装的eacclerator,安装之前还是先yum吧:

yum install php-gd httpd-devel php-mbstring php-xml php-xmlrpc php-devel

这两天eaccelerator官方网站上的源居然down掉了…只好去其它地方下:

wget http://voxel.dl.sourceforge.net/project/eaccelerator/eaccelerator/eAccelerator%200.9.6.1/eaccelerator-0.9.6.1.zip
unzip eaccelerator-0.9.6.1.zip
cd eaccelerator-0.9.6.1
phpize
./configure –enable-eaccelerator=shared
make
make install

配置eaccelerator,vim /etc/php.d/eaccelerator.ini,我的配置:

extension=”eaccelerator.so”
eaccelerator.cache_dir=”/tmp/eaccelerator”
eaccelerator.check_mtime=”1″
eaccelerator.compress=”1″
eaccelerator.compress_level=”9″
eaccelerator.debug=”0″
eaccelerator.enable=”1″
eaccelerator.filter=”"
eaccelerator.optimizer=”1″
eaccelerator.shm_max=”0″
eaccelerator.shm_only=”0″
eaccelerator.shm_prune_period=”0″
; 设定cache超过32MB会导致apache无法启动,详见eaccelerator的配置。
eaccelerator.shm_size=”96″
eaccelerator.shm_ttl=”600″

别忘了:

mkdir /tmp/eaccelerator
chmod 777 /tmp/eaccelerator

最后:

/etc/init.d/httpd restart

Centos6 LAMP安装配置完毕!

这次在Linode VPS上安装配置LAMP,我比较激进的选择了刚出没多久的Centos6,而且是64bit,并没有遇到什么障碍。本想全部自己编译安装来着,但那个实在是太折腾了,玩不起,还是yum吧…

如果你现在正在观看这篇”Linode Centos6 64bit安装配置LAMP”,就说明一切正常 :)

Centos6安装配置LAMP后记:yum安装的PHP已经支持php mail,但是wordpress等依靠php mail发送回复通知的程序依然不会发送邮件,这时候需要安装sendmail。

yum install sendmail
/sbin/chkconfig –levels 235 sendmail on
/etc/init.d/sendmail start

来源:http://planet.opentiss.net/

linode购买地址:http://www.linode.com/?r=0095c3b33ba8a299b622f9b7a123c42e4c6fc57c

linode VPS上手动升级iptables

VPS上的一些组件,是不会被自动升级的,如果你要用到一些新的特性,就需要升级这些组件。iptables就是一个例子,比如在我的VPS上,默认是V1.3.5版本,比较老。为了使用到它的connlimit模块,需要将iptables更新到新版。下面介绍一下如何在VPS上手动编译并升级iptables到最新版本。
首先,到iptables的官网下载源代码,准备编译。这里,我下载的版本是1.4.9,下载地址如下:http://ftp.netfilter.org/pub/iptables/iptables-1.4.9.tar.bz2

下载后,解压,并编译iptables:


wget http://ftp.netfilter.org/pub/iptables/iptables-1.4.9.tar.bz2
#解压
tar xjvf iptables-1.4.9.tar.bz2
cd iptables-1.4.9
#安装前配置
./configure
#编译并安装
make & make install

这里,要注意一下,安装的路径是在/usr/local/sbin,我们需要把安装后的文件,替换到/sbin,这样就能完成对iptables文件的升级和替换。


#先停掉正在运行的iptables服务
service iptables stop
cd /usr/local/sbin
cp /usr/local/sbin/iptables /sbin/
cp /usr/local/sbin/iptables-restore /sbin/
cp /usr/local/sbin/iptables-save /sbin/
#覆盖好文件后,重新启动iptables服务
service iptables start

最后,可以验证一下安装升级是否成功:


iptables -V
iptables v1.4.9

显示当前版本为 v1.4.9,表示iptables升级成功!

来源:http://www.xiaozhou.net/ittech/vps-ittech/upgrade_iptables_manually_on_your_vps-2011-04-19.htm

linode linux vps配置apache伪静态wordpress教程(centos)

刚刚在测试安装wordpress程序后一切正常,但是伪静态实现不了。看来之前apache的伪静态没有配置完善。查找资料及朋友帮忙,终于解决。需要配置如下步骤:

第一.修改apache配置 开启加载(rewrite)重写模块

1. cd /etc/httpd/conf/
2. vi httpd.conf
3. 找到其中的LoadModule rewrite_module modules/mod_rewrite.so
4. 如果没有或者前面带有“#”,则相应的添加此行或者取消注释#
第二,修改AllowOverride属性


Options FollowSymLinks
AllowOverride None 改为All

重启apach.去你的WORDPRESS后台更新固定链接即可。自动会在根目录生成.htaccess文件的。

本文来自: 美国主机评论博客(www.yd631.com) 详细出处参考:http://www.yd631.com/linux-vps-apache-rewrite/

linode vps centos 6 opnvpn安装记录

本人菜鸟,以前从没接触过centos,新席地网一直参考网络上的文章安装linode vps centos 6 opnvpn,主要是参考了linode的教程及其他文章,linode上的是centos 5版本,centos 6的有些地方要小修改。
参考:farlee.info/archives/burstnet-vps-openvz-install-openvpn-config-vpn-centos.html
centos 5在linde安装的命令为:

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm

而这个命令在centos 6中要提示错误。
在centos 6中安装新版:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm

这个安装就不会出错了。
升级

参考如下:http://library.linode.com/networking/openvpn/centos-5#sph_connect-remote-networks-securely-with-the-vpn

另一个参考文章:

http://bbs.cisco-club.com.cn/thread-17615-1-1.html

在上面重启iptables时可能会报错,修改方法如下.
Code: [root@s1 ~]# service iptables start
Flushing firewall rules: [ OK ]
Setting chains to policy ACCEPT: security raw nat mangle fi[FAILED]
Unloading iptables modules: [ OK ]
Applying iptables firewall rules: [ OK ]
参考如下:

http://www.linode.com/forums/archive/o_t/t_3930/iptables.html

————————————
cd /etc/init.d
mv iptables ~/iptables.bak
wget http://epoxie.net/12023.txt && cat 12023.txt | tr -d 'r' > iptables
chmod +x iptables
rm -rf 12023.txt
————————————–
Now, "iptables" should now start successfully:
service iptables restart

/etc/openvpn/server.conf有些内容和路径不一样,我的设置如下

local 你的VPS的IP地址
port 1996
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
status /etc/openvpn/easy-rsa/2.0/keys/openvpn-status.log
server 10.8.0.0 255.255.255.0
push "redirect-gateway def1"
push dhcp-option DNS 8.8.8.8.
push dhcp-option DNS 8.8.4.4.
push "dhcp-option DNS 10.8.0.1"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
verb 3

windows 7中使用openvpn GUI时会提示加载路由失败,可能是兼容和权限问题。
hu Apr 07 23:30:54 2011 ROUTE: route addition failed using CreateIpForwardEntry: 至少有一个参数不正确。 [if_index=15]
参考修改方法如下:http://blog.sina.com.cn/s/blog_57c70e190100qbjb.html
我的XP兼容性修改了,有的参数不能全加,加了openvpn GUI启动不起来,我的设置如下:

client
route-method exe
dev tun
proto udp
remote VPS的IP地址 1996
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client1.crt
key client1.key
ns-cert-type server
comp-lzo
verb 3

linode PPTP IPTables Configure

linode PPTP IPTables Configure
iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 47 -j ACCEPT
iptables -A INPUT -p gre -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE
iptables -P FORWARD ACCEPT