<?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/"
	>

<channel>
	<title>Rijie的Linux学习笔记</title>
	<atom:link href="http://www.99ks.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.99ks.com</link>
	<description>分享我在学习和使用Linux过程中遇到的问题和解决方法</description>
	<pubDate>Sun, 30 May 2010 04:51:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>解决系统重启后samba无法共享的问题</title>
		<link>http://www.99ks.com/linux_249</link>
		<comments>http://www.99ks.com/linux_249#comments</comments>
		<pubDate>Sat, 29 May 2010 16:12:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[samba]]></category>

		<category><![CDATA[共享]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=249</guid>
		<description><![CDATA[我配置samba主要提供给其他windows主机简单文件共享之用。碰到的问题是每次重新启动后，都需要在xwindows状态下重新进入samba管理界面设置一下才能提供共享。
经过研究，是smbd和nmbd这两个samba的守护进程没有随重启而启动的关系。于是在启动配置文件/etc/rc.d/rc.local中加入：
/sbin/samba/smbd -D
/sbin/samba/nmbd -D
其中smbd负责samba的文件和打印服务、授权与被授权，nmbd负责samba的名字解析、浏览服务，所以nmbd不是必须的。
重新启动后，无需再次设置，即可提供其他windows主机文件共享了！
]]></description>
			<content:encoded><![CDATA[<p>我配置samba主要提供给其他windows主机简单文件共享之用。碰到的问题是每次重新启动后，都需要在xwindows状态下重新进入samba管理界面设置一下才能提供共享。</p>
<p>经过研究，是smbd和nmbd这两个samba的守护进程没有随重启而启动的关系。于是在启动配置文件/etc/rc.d/rc.local中加入：<br />
/sbin/samba/smbd -D<br />
/sbin/samba/nmbd -D</p>
<p>其中smbd负责samba的文件和打印服务、授权与被授权，nmbd负责samba的名字解析、浏览服务，所以nmbd不是必须的。</p>
<p>重新启动后，无需再次设置，即可提供其他windows主机文件共享了！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_249/feed</wfw:commentRss>
		</item>
		<item>
		<title>Centos升级到5.5后PAM引起的无法远程启动xwindows</title>
		<link>http://www.99ks.com/linux_241</link>
		<comments>http://www.99ks.com/linux_241#comments</comments>
		<pubDate>Tue, 18 May 2010 15:39:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[PAM]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=241</guid>
		<description><![CDATA[昨天将Centos升级到5.5后，突然发现无法通过telnet启动xwindows了。
错误提示如下图：

但是如果从本机直接运行startx的话，没有问题。
本机运行startx后，再退出，然后在telnet下再运行startx也没有问题了。
觉得这应该是与权限有关，通过Google搜索得到解决方案：
在/var/run/console/目录下新建一个当前用户的用户名的目录
然后再运行startx即可
]]></description>
			<content:encoded><![CDATA[<p>昨天将Centos升级到5.5后，突然发现无法通过telnet启动xwindows了。</p>
<p>错误提示如下图：</p>
<p><a href="http://pic.no1bbs.com/99ks/100518.jpg" target="_blank"><img class="alignnone" src="http://pic.no1bbs.com/99ks/100518.jpg" alt="" width="500" height="242" /></a></p>
<p>但是如果从本机直接运行startx的话，没有问题。<br />
本机运行startx后，再退出，然后在telnet下再运行startx也没有问题了。</p>
<p>觉得这应该是与权限有关，通过Google搜索得到解决方案：<br />
在/var/run/console/目录下新建一个当前用户的用户名的目录<br />
然后再运行startx即可</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_241/feed</wfw:commentRss>
		</item>
		<item>
		<title>适合旧电脑的Mini Linux选择</title>
		<link>http://www.99ks.com/linux_236</link>
		<comments>http://www.99ks.com/linux_236#comments</comments>
		<pubDate>Fri, 22 May 2009 07:24:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[deli]]></category>

		<category><![CDATA[mini linux]]></category>

		<category><![CDATA[puppy]]></category>

		<category><![CDATA[slitaz]]></category>

		<category><![CDATA[旧电脑]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=236</guid>
		<description><![CDATA[最近在研究适合低配置电脑的Mini Linux，我手头有一台P2 233+128M+8.4G配置的“破”电脑，想寻找适合其运行的Linux系统，需要Xwin、浏览网页、中文支持、文字处理等最基本操作。
众所周知，现在主流的Linux发行版比如Ubuntu、Federa等对于旧电脑来说也是非常庞大的系统，低配硬件不足以支持其运行Xwin等，所以我把目光转向了Mini Linux，选择对象有Puppy、Deli、slitaz。
经过初步考察发现三者均能很好的适应低配置硬件，但是Deli已经停止开发一段时间了，slitaz对于中文支持不是很好，所以仅剩下Puppy了。
我在以后会发布一些关于使用Puppy的经验与大家分享。
]]></description>
			<content:encoded><![CDATA[<p>最近在研究适合低配置电脑的Mini Linux，我手头有一台P2 233+128M+8.4G配置的“破”电脑，想寻找适合其运行的Linux系统，需要Xwin、浏览网页、中文支持、文字处理等最基本操作。</p>
<p>众所周知，现在主流的Linux发行版比如Ubuntu、Federa等对于旧电脑来说也是非常庞大的系统，低配硬件不足以支持其运行Xwin等，所以我把目光转向了Mini Linux，选择对象有Puppy、Deli、slitaz。</p>
<p>经过初步考察发现三者均能很好的适应低配置硬件，但是Deli已经停止开发一段时间了，slitaz对于中文支持不是很好，所以仅剩下Puppy了。</p>
<p>我在以后会发布一些关于使用Puppy的经验与大家分享。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_236/feed</wfw:commentRss>
		</item>
		<item>
		<title>使用更新命令yum时出现故障的解决方法</title>
		<link>http://www.99ks.com/linux_64</link>
		<comments>http://www.99ks.com/linux_64#comments</comments>
		<pubDate>Fri, 15 May 2009 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[yum错误]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=64</guid>
		<description><![CDATA[运行系统更新命令yum update时候出现了错误，由于yum的原数据损坏导致的，需要先删除原数据和数据库缓存，然后重建，问题即可解决。]]></description>
			<content:encoded><![CDATA[<p>近日在运行系统更新命令yum update时候出现了如下错误提示：<br />
Component: pirut<br />
Summary: TBe8ae967a sqlitesack.py:94:_read_db_obj:TypeError: unsubscriptable object</p>
<p>Traceback (most recent call last):<br />
  File &#8220;/usr/sbin/pup&#8221;, line 407, in _apply<br />
    output = self.applyChanges(self.mainwin)<br />
  File &#8220;/usr/lib/python2.4/site-packages/pirut/__init__.py&#8221;, line 813, in applyChanges<br />
    self.checkDeps(mainwin)<br />
  File &#8220;/usr/lib/python2.4/site-packages/pirut/__init__.py&#8221;, line 550, in checkDeps<br />
    (result, msgs) = self.buildTransaction()<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/__init__.py&#8221;, line 647, in buildTransaction<br />
    (rescode, restring) = self.resolveDeps()<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/depsolve.py&#8221;, line 704, in resolveDeps<br />
    for po, dep in self._checkFileRequires():<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/depsolve.py&#8221;, line 939, in _checkFileRequires<br />
    if not self.tsInfo.getOldProvides(filename) and not self.tsInfo.getNewProvides(filename):<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/transactioninfo.py&#8221;, line 414, in getNewProvides<br />
    for pkg, hits in self.pkgSack.getProvides(name, flag, version).iteritems():<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/packageSack.py&#8221;, line 300, in getProvides<br />
    return self._computeAggregateDictResult(&#8221;getProvides&#8221;, name, flags, version)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/packageSack.py&#8221;, line 470, in _computeAggregateDictResult<br />
    sackResult = apply(method, args)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 861, in getProvides<br />
    return self._search(&#8221;provides&#8221;, name, flags, version)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 43, in newFunc<br />
    return func(*args, **kwargs)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 837, in _search<br />
    for pkg in self.searchFiles(name, strict=True):<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 43, in newFunc<br />
    return func(*args, **kwargs)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 586, in searchFiles<br />
    self._sql_pkgKey2po(rep, cur, pkgs)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 470, in _sql_pkgKey2po<br />
    pkg = self._packageByKey(repo, ob['pkgKey'])<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 413, in _packageByKey<br />
    po = self.pc(repo, cur.fetchone())<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 68, in __init__<br />
    self._read_db_obj(db_obj)<br />
  File &#8220;/usr/lib/python2.4/site-packages/yum/sqlitesack.py&#8221;, line 94, in _read_db_obj<br />
    setattr(self, item, _share_data(db_obj[item]))<br />
TypeError: unsubscriptable object</p>
<p>Local variables in innermost frame:<br />
item: name<br />
db_obj: None</p>
<p>这个问题是由于yum的原数据损坏导致的，需要先删除原数据和数据库缓存，然后重建，问题即可解决<br />
解决方法，依次运行以下命令：</p>
<p>yum clean metadata<br />
yum clean dbcache<br />
yum makecache</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_64/feed</wfw:commentRss>
		</item>
		<item>
		<title>Centos下telnet服务的安装</title>
		<link>http://www.99ks.com/linux_65</link>
		<comments>http://www.99ks.com/linux_65#comments</comments>
		<pubDate>Fri, 03 Apr 2009 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[centos]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[telnet]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=65</guid>
		<description><![CDATA[Centos下telnet服务的安装方式]]></description>
			<content:encoded><![CDATA[<p>本人linux环境：CentOS 5.3</p>
<p>在终端中使用 #rpm -q telnet 和 #rpm -q telnet-server 命令查询是否安装了telnet的client和server端。<br />
一般client默认已经安装了，但是server端需要安装，安装命令：#yum install telnet-server</p>
<p>安装完毕后，需要开启服务：#gedit /etc/xinetd.d/telnet<br />
将其中的disable = yes 的 yes 改成 no</p>
<p>开机启动设置： #gedit /etc/rc.d/rc.local<br />
添加： /sbin/service xinetd start</p>
<p>接下来激活telnet并测试是否安装成功，运行命令: #/sbin/service xinetd restart</p>
<p>测试服务，找一台其他机器，输入命令：telnet IP<br />
如果配置正确，系统提示输入远程机器的用户名和密码 （默认情况root用户是不能通过telnet直接登录的）<br />
Login:<br />
Password:</p>
<p>为了安全起见，我们需要改变端口，限制登录ip。<br />
改变端口：<br />
命令：#gedit /etc/services<br />
找到如下内容：<br />
telnet 23/tcp<br />
telnet 23/udp<br />
将端口改成你希望的，比如：<br />
telnet 1000/tcp<br />
telnet 1000/udp</p>
<p>限制登录ip：<br />
命令：#gedit /etc/xinetd.d/telnet<br />
修改成如下格式：<br />
service telnet<br />
{<br />
disable　　　　 = no  #激活 telnet 服务,no<br />
bind 　　　　　 = 192.168.1.1 #本机ip<br />
only_from 　　　= 192.168.0.0/16  #只允许 192.168.0.0 ~ 192.168.255.255 这个网段进入<br />
only_from 　　　= .edu.cn  #只有教育网才能进入！<br />
no_access 　　　= 210.45.160.{115,116}  #这两个ip不可登陆<br />
access_times　　= 8:00-12:00 20:00-23:59  # 每天只有这两个时间段开放服务<br />
&#8230;&#8230;<br />
}</p>
<p>设置完毕，重新启动telnet服务，命令：#/sbin/service xinetd restart</p>
<p>端口修改的话，命令格式：telnet ip port （注意ip与port之间没有冒号，例如：telnet 192.168.1.1 1000）</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_65/feed</wfw:commentRss>
		</item>
		<item>
		<title>Apache下实现域名301跳转</title>
		<link>http://www.99ks.com/linux_66</link>
		<comments>http://www.99ks.com/linux_66#comments</comments>
		<pubDate>Tue, 10 Feb 2009 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[apache、php、mysql]]></category>

		<category><![CDATA[301跳转]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=66</guid>
		<description><![CDATA[Apache下实现域名301跳转，在apache的域名配置文件中配置。]]></description>
			<content:encoded><![CDATA[<p>准备把域名www.domain1.com 301跳转到www.domain2.com</p>
<p>在apache的域名配置文件（虚拟主机配置文件中），比如目录：/etc/httpd/conf.d/ 目录下的abc.conf是配置文件。</p>
<p>打开此文件</p>
<p>在其中设置：</p>
<p>&lt;VirtualHost *:80&gt;<br />
  ServerName www.domain1.com<br />
  RedirectMatch Permanent ^/(.*) http://www.domain2.com/$1  <br />
&lt;/VirtualHost&gt;</p>
<p>保存后重起apache服务器即可。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_66/feed</wfw:commentRss>
		</item>
		<item>
		<title>为PHP增加mbstring扩展</title>
		<link>http://www.99ks.com/linux_67</link>
		<comments>http://www.99ks.com/linux_67#comments</comments>
		<pubDate>Fri, 07 Nov 2008 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[apache、php、mysql]]></category>

		<category><![CDATA[mbstring扩展]]></category>

		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=67</guid>
		<description><![CDATA[安装PHP mbstring扩展，处理大字符集（Unicode 库）的方法。]]></description>
			<content:encoded><![CDATA[<p>最近安装drupal，安装完毕总是提示需要PHP mbstring扩展，以便处理大字符集（Unicode 库）。</p>
<p>本人安装的是CentOS5.2，所以直接在root权限下运行 yum install php-mbstring</p>
<p>安装完毕重新启动apache。</p>
<p>但安装过程中，如果php有更新，那么原来的zend optimizer需要重新安装。</p>
<p>安装过程参考可以参见我之前的文章。</p>
<p>安装完成后，重新启动apache，运行php -v 发现zend optimizer和eAccelerator和Zend Extension的安装信息未出现。</p>
<p>并且发现/etc目录下的php.ini未更新，但/usr/local/Zend/etc下的php.ini是刚更新的。</p>
<p>于是备份/etc/php.ini，将/usr/local/Zend/etc/php.ini覆盖到/etc目录下，</p>
<p>运行命令 /usr/sbin/apachectl restart 重新启动apache后再运行php -v，可看见zend optimizer和eAccelerator和Zend Extension的信息了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_67/feed</wfw:commentRss>
		</item>
		<item>
		<title>linux简单设置samba，提供windows共享</title>
		<link>http://www.99ks.com/linux_68</link>
		<comments>http://www.99ks.com/linux_68#comments</comments>
		<pubDate>Tue, 02 Sep 2008 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[linux]]></category>

		<category><![CDATA[samba]]></category>

		<category><![CDATA[windows共享]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=68</guid>
		<description><![CDATA[简单配置samba的方法，与windows实现文件共享]]></description>
			<content:encoded><![CDATA[<p>首先，启动samba服务，并且确保linux启动时自动启动。</p>
<p>我使用centos5.2，默认安装了samba，安装目录/etc/samba</p>
<p>其中有2个配置文件：smb.conf和smbusers，主要修改也在这两个文件中。<br />
另外还有记录密码的passdb.tdb，这个文件不需要手动设置。</p>
<p>创建samba用户：<br />
由于我们设置的是以“用户”为验证模式，所以该帐户必须是linux系统帐户中存在的。</p>
<p>先创建一个新用户（linux用户），比如linuxsmb，账户目录/home/linuxsmb。<br />
帐户可操作自己的用户目录，所以共享也设置在这个目录中，否则如果设置在其他用户目录/home/user1或者其他目录时，会有windows共享时无权操作的问题。</p>
<p>随后建立samba用户：smbpasswd -a linuxsmb<br />
设置共享密码后即可。</p>
<p>随后打开smbusers文件，会看到其中增加了一行 linuxsmb = linuxsmb</p>
<p>然后修改smb.conf文件：</p>
<p>在[global]中设置工作组和服务器信息：<br />
workgroup = mygroup<br />
server string = Samba Server Version %v</p>
<p>共享目录设置，一般在文件最后部分：<br />
[smbtest] //共享名称，可以是任意<br />
    path = /home/linuxsmb  //共享目录，应该是linuxsmb用户有权操作的目录<br />
    writeable = yes  //写权限<br />
    browseable = yes   //可见<br />
    guest account = linuxsmb  //用户访问帐户</p>
<p>重新启动samba，使设置生效。</p>
<p>然后在windows中访问共享，比如//192.168.1.100(samba服务器ip)，会要求输入samba帐户的用户名和密码，此处的我们填写linuxsmb帐户用户名和密码。如果能够访问，那么就设置成功了。</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
smbpasswd关于samba帐户的操作：<br />
smbpasswd -a USERNAME 增加用户<br />
smbpasswd -x USERNAME 删除用户<br />
smbpasswd -d username 禁用用户</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_68/feed</wfw:commentRss>
		</item>
		<item>
		<title>CentOS下删除无依赖关系软件包方法</title>
		<link>http://www.99ks.com/linux_69</link>
		<comments>http://www.99ks.com/linux_69#comments</comments>
		<pubDate>Sat, 02 Aug 2008 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[yum]]></category>

		<category><![CDATA[依赖关系]]></category>

		<category><![CDATA[软件包]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=69</guid>
		<description><![CDATA[删除系统中无依赖关系的软件包]]></description>
			<content:encoded><![CDATA[<p>由于经常安装和卸载软件后，会造成一些已经无依赖关系的软件包。</p>
<p>安装yum-utils:<br />
#yum install yum-utils</p>
<p>然后执行：#package-cleanup &#8211;leaves</p>
<p>会出现无效软件包的列表，删除列表中的软件包即可。删除后还会生成新的无依赖关系软件包，所以之后再执行一次，直到没有列表出现！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_69/feed</wfw:commentRss>
		</item>
		<item>
		<title>利用Openvpn快速建立虚拟局域网</title>
		<link>http://www.99ks.com/linux_70</link>
		<comments>http://www.99ks.com/linux_70#comments</comments>
		<pubDate>Sat, 12 Jul 2008 00:00:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[linux笔记]]></category>

		<category><![CDATA[openvpn]]></category>

		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.99ks.com/?p=70</guid>
		<description><![CDATA[简单的设置Openvpn实现windows系统通过vpn拨入linux，组成虚拟局域网]]></description>
			<content:encoded><![CDATA[<p>服务器端CentOS5.1，客户端windowsXP Sp2，两台电脑分别安放在不同的局域网内。<br />
需要点对点组建成VPN，最简单方法如下：</p>
<p>配置服务器端CenOS：<br />
在安装openvpn之前，先要安装openssl，用户数据加密；安装lzo，用于数据压缩。<br />
下载lzo：<br />
<a href="http://www.oberhumer.com/opensource/lzo/download/">http://www.oberhumer.com/opensource/lzo/download/</a><br />
（我下载的是最新的lzo-2.03.tar.gz包）<br />
安装lzo：<br />
#tar zxvf lzo-2.03.tar.gz<br />
#cd lzo-2.03<br />
#./configure<br />
#make<br />
#make install</p>
<p>安装openssl，<br />
我通过CentOS自带的添加删除程序，安装了openssl的development包，文件名：openssl-devel-0.9.8b-10.el5.i386</p>
<p>然后下载openvpn，我安装的是最新版的2.1_rc7，文件名：openvpn-2.1_rc7.tar.gz<br />
下载地址：<a href="http://openvpn.net/index.php/downloads.html">http://openvpn.net/index.php/downloads.html</a><br />
安装openvpn：<br />
#tar zxvf openvpn-2.1_rc7.tar.gz<br />
#cd openvpn-2.1_rc7.tar.gz<br />
#./configure &#8211;with-lzo-headers=/usr/local/include &#8211;with-lzo-lib=/usr/local/lib<br />
#make<br />
#make install<br />
安装完成后，创建openvpn存放启动和key文件的目录：<br />
#mkdir /etc/openvpn<br />
#cd /etc/openvpn<br />
#/usr/local/sbin/openvpn &#8211;genkey &#8211;secret static.key<br />
(有可能生成的static.key文件不在/etc/openvpn下，如果不在就cp过去。这个文件需要同时存在于服务器和客户端上，内容必须一样。)<br />
然后创建server配置文件：<br />
#gedit /etc/openvpn/server.conf<br />
内容：</p>
<p>dev tun （路由模式）<br />
ifconfig 192.168.xx.1 192.168.xx.2 （前个ip表示本服务器的ip，后一个ip我也没搞懂什么意思，待研究，现在只知道是客户端的ip。xx是网段，1-254之间的数字，但与你现在的局域网网段不要重复。）<br />
secret /etc/openvpn/static.key （刚才生成的key文件）</p>
<p>然后保存。</p>
<p>随后启动vpn服务器，运行：<br />
#/usr/local/sbin/openvpn &#8211;config /etc/openvpn/server.conf<br />
如果不报错，可以ping一下自己的ip，也就是192.168.xx.1，如果ping通则说明服务器端启动正常。</p>
<p>然后，如果与外网间有路由器，需要映射UDP 1194端口。</p>
<p>如果希望开机启动openvpn服务器端，则在/etc/rc.d/rc.local文件中加入如下行：<br />
/usr/local/sbin/openvpn &#8211;daemon &#8211;config /etc/openvpn/server.conf</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
配置windows客户端：<br />
下载windows版本openvpn：<br />
<a href="http://openvpn.net/index.php/downloads.html">http://openvpn.net/index.php/downloads.html</a><br />
文件名：openvpn-2.1_rc7-install.exe</p>
<p>安装时一直点下一步即可，当然你也可自定义一些选项。<br />
安装完成，将服务器端生成的static.key文件复制到windows客户端的openvpn/config目录，然后改名称key.txt。<br />
（打开key.txt时发现linux下生成的key文件在windows的txt下有若干“方块”，表示换行。我将其全部删除，并手动换行。）<br />
然后在同目录下创建client.ovpn文件，文件内容如下：</p>
<p>remote www.domain.com（或者服务器外网ip）<br />
dev tun<br />
ifconfig 192.168.xx.2 192.168.xx.1（正好与服务器端相反）<br />
secret key.txt （key文件）</p>
<p>随后在“开始”“程序”“openvpn”菜单中运行“OpenVpn GUI”，在右下角出现了小图标，鼠标右键点击“Connect”，连接成功的话，可以ping一下服务器的vpn ip。如果ping通则表示安装成功了。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.99ks.com/linux_70/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
