<?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; Linux</title>
	<atom:link href="http://loneblog.com/blog/tag/about-linux/feed" rel="self" type="application/rss+xml" />
	<link>http://loneblog.com/blog</link>
	<description>见的人多了，我就更喜欢狗——罗曼·罗兰</description>
	<lastBuildDate>Sat, 04 Feb 2012 16:11:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>海卓冲浪防火墙原理分析</title>
		<link>http://loneblog.com/blog/someth-about-hisuifing.html</link>
		<comments>http://loneblog.com/blog/someth-about-hisuifing.html#comments</comments>
		<pubDate>Sun, 08 May 2011 03:38:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[MOTO XT502]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[xt502]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/someth-about-hisuifing.html</guid>
		<description><![CDATA[这两天折腾了一下apk安装包，本来想把昨天更新的海卓冲浪v1.05去广告的，没想到还真是外行，搞了半天程序反而安装不上。
后来想到一个有趣的问题，海卓冲浪有两种模式：黑名单和白名单。黑名单中看不到海卓冲浪自己的程序，而启用白名单的时候，海卓冲浪又自动进入白名单&#8230;这真是有点儿猥琐 :pxhaa: 
其实海卓冲浪的防火墙原理很简单，有点儿Linux基础的人一看就明白，就是利用了iptables进行过滤。

 
&#160;
在安装完海卓冲浪之后，会在/data/data/net.hidroid.hisurfing下生成
lib    files     shared_prefs     databases
这四个文件，当第一次运行海卓冲浪的时候，会在这个目录下生成cache文件，包括两个重要的二进制程序：busybox_g1 和 iptables_g1 （可能当初是针对G1手机研发的吧），我们先看着两个文件。
./iptables_g1 -V      iptables v1.4.7
./busybox_g1      BusyBox v1.17.2 (2010-09-24 12:09:05 BRT) multi-call binary.       Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys [...]]]></description>
			<content:encoded><![CDATA[<p>这两天折腾了一下apk安装包，本来想把昨天更新的海卓冲浪v1.05去广告的，没想到还真是外行，搞了半天程序反而安装不上。</p>
<p>后来想到一个有趣的问题，海卓冲浪有两种模式：黑名单和白名单。黑名单中看不到海卓冲浪自己的程序，而启用白名单的时候，海卓冲浪又自动进入白名单&#8230;这真是有点儿猥琐 :pxhaa: </p>
<p>其实海卓冲浪的防火墙原理很简单，有点儿<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/about-linux" title="查看 Linux 的全部文章" target="_blank">Linux</a></span>基础的人一看就明白，就是利用了<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/iptables" title="查看 iptables 的全部文章" target="_blank">iptables</a></span>进行过滤。</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/05/1.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="海卓冲浪去广告的效果" border="0" alt="海卓冲浪去广告的效果" src="http://loneblog.com/blog/wp-content/uploads/2011/05/1_thumb.jpg" width="320" height="480" /></a></p>
<p> <span id="more-1593"></span>
<p>&#160;</p>
<p>在安装完海卓冲浪之后，会在/data/data/net.hidroid.hisurfing下生成</p>
<p>lib    <br />files     <br />shared_prefs     <br />databases</p>
<p>这四个文件，当第一次运行海卓冲浪的时候，会在这个目录下生成cache文件，包括两个重要的二进制程序：busybox_g1 和 iptables_g1 （可能当初是针对G1手机研发的吧），我们先看着两个文件。</p>
<blockquote><p>./iptables_g1 -V      <br /><span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/iptables" title="查看 iptables 的全部文章" target="_blank">iptables</a></span> v1.4.7</p>
<p>./busybox_g1      <br />BusyBox v1.17.2 (2010-09-24 12:09:05 BRT) multi-call binary.       <br />Copyright (C) 1998-2009 Erik Andersen, Rob Landley, Denys Vlasenko       <br />and others. Licensed under GPLv2.</p>
</blockquote>
<p>两个开源的程序，再看系统自带的iptables</p>
<blockquote><p>uname -a      <br /><span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/about-linux" title="查看 Linux 的全部文章" target="_blank">Linux</a></span> localhost 2.6.32.9 #1 PREEMPT Tue Feb 22 04:29:13 WIT 2011 armv6l GNU/Linu       <br />x</p>
<p>iptables -V      <br />iptables v1.3.7</p>
</blockquote>
<p>系统自带的是1.37版本的，不能显示1.47的一些参数。</p>
<p>当你第一次做好一些规范并应用的时候，会在这个目录下生成hisurfing_fw.sh脚本。</p>
<p>这个脚本拿出来一看大家就明白了。</p>
<blockquote><p>#!/system/bin/sh      <br />IPTABLES=iptables       <br />BUSYBOX=busybox       <br />GREP=grep       <br />ECHO=echo       <br /># Try to find busybox       <br />if /data/data/net.hidroid.hisurfing/cache/busybox_g1 &#8211;help &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; BUSYBOX=/data/data/net.hidroid.hisurfing/cache/busybox_g1       <br />&#160;&#160;&#160; GREP=&quot;$BUSYBOX grep&quot;       <br />&#160;&#160;&#160; ECHO=&quot;$BUSYBOX echo&quot;       <br />elif busybox &#8211;help &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; BUSYBOX=busybox       <br />elif /system/xbin/busybox &#8211;help &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; BUSYBOX=/system/xbin/busybox       <br />elif /system/bin/busybox &#8211;help &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; BUSYBOX=/system/bin/busybox       <br />fi       <br /># Try to find grep       <br />if ! $ECHO 1 | $GREP -q 1 &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; if $ECHO 1 | $BUSYBOX grep -q 1 &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; GREP=&quot;$BUSYBOX grep&quot;       <br />&#160;&#160;&#160; fi       <br />&#160;&#160;&#160; # Grep is absolutely required       <br />&#160;&#160;&#160; if ! $ECHO 1 | $GREP -q 1 &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; $ECHO The grep command is required. DroidWall will not work.       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; exit 1       <br />&#160;&#160;&#160; fi       <br />fi       <br /># Try to find iptables       <br />if /data/data/net.hidroid.hisurfing/cache/iptables_g1 &#8211;version &gt;/dev/null 2&gt;/dev/null ; then       <br />&#160;&#160;&#160; IPTABLES=/data/data/net.hidroid.hisurfing/cache/iptables_g1       <br />fi       <br />$IPTABLES &#8211;version || exit 1       <br /># Create the droidwall chains if necessary       <br />$IPTABLES -L droidwall &gt;/dev/null 2&gt;/dev/null || $IPTABLES &#8211;new droidwall || exit 2       <br />$IPTABLES -L droidwall-3g &gt;/dev/null 2&gt;/dev/null || $IPTABLES &#8211;new droidwall-3g || exit 3       <br />$IPTABLES -L droidwall-wifi &gt;/dev/null 2&gt;/dev/null || $IPTABLES &#8211;new droidwall-wifi || exit 4       <br />$IPTABLES -L droidwall-reject &gt;/dev/null 2&gt;/dev/null || $IPTABLES &#8211;new droidwall-reject || exit 5       <br /># Add droidwall chain to OUTPUT chain if necessary       <br />$IPTABLES -L OUTPUT | $GREP -q droidwall || $IPTABLES -A OUTPUT -j droidwall || exit 6       <br /># Flush existing rules       <br />$IPTABLES -F droidwall || exit 7       <br />$IPTABLES -F droidwall-3g || exit 8       <br />$IPTABLES -F droidwall-wifi || exit 9       <br />$IPTABLES -F droidwall-reject || exit 10       <br /># Create the reject rule (log disabled)       <br />$IPTABLES -A droidwall-reject -j REJECT || exit 11       <br /># Main rules (per interface)       <br />$IPTABLES -A droidwall -o rmnet+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o pdp+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o ppp+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o uwbr+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o ccinet+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o ccmni+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o svnet+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o pdp_ip+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o wimax+ -j droidwall-3g || exit       <br />$IPTABLES -A droidwall -o tiwlan+ -j droidwall-wifi || exit       <br />$IPTABLES -A droidwall -o eth+ -j droidwall-wifi || exit       <br />$IPTABLES -A droidwall -o wlan+ -j droidwall-wifi || exit       <br />$IPTABLES -A droidwall -o athwlan+ -j droidwall-wifi || exit       <br /># Filtering rules       <br /># dhcp user       <br />$IPTABLES -A droidwall-wifi -m owner &#8211;uid-owner 1014 -j RETURN || exit       <br /># wifi user       <br />$IPTABLES -A droidwall-wifi -m owner &#8211;uid-owner 1010 -j RETURN || exit       <br />$IPTABLES -A droidwall-3g -m owner <font color="#ff0000">&#8211;uid-owner 10036</font> -j RETURN || exit       <br />$IPTABLES -A droidwall-wifi -m owner <font color="#ff0000">&#8211;uid-owner 10036</font> -j RETURN || exit       <br />$IPTABLES -A droidwall-3g -j droidwall-reject || exit       <br />$IPTABLES -A droidwall-wifi -j droidwall-reject || exit       <br />exit</p>
</blockquote>
<p>我这是在所有（可见）程序白名单的情况下，即所有程序不能联网。</p>
<p>再看一下iptables，如下：</p>
<blockquote><p>./iptables_g1 -L      <br />Chain INPUT (policy ACCEPT)       <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination </p>
<p>Chain FORWARD (policy ACCEPT)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination </p>
<p>Chain OUTPUT (policy ACCEPT)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination       <br />droidwall&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere </p>
<p>Chain droidwall (1 references)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-3g&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-wifi&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-wifi&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-wifi&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere       <br />droidwall-wifi&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere </p>
<p>Chain droidwall-3g (9 references)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination       <br />RETURN&#160;&#160;&#160;&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#ff0000">owner UID match app_36        <br /></font>droidwall-reject&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere </p>
<p>Chain droidwall-reject (2 references)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination       <br />REJECT&#160;&#160;&#160;&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; reject-with icmp-port-unreachable </p>
<p>Chain droidwall-wifi (4 references)      <br />target&#160;&#160;&#160;&#160; prot opt source&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; destination       <br />RETURN&#160;&#160;&#160;&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; owner UID match dhcp       <br />RETURN&#160;&#160;&#160;&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; owner UID match wifi       <br />RETURN&#160;&#160;&#160;&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; <font color="#ff0000">owner UID match app_36        <br /></font>droidwall-reject&#160; all&#160; &#8211;&#160; anywhere&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; anywhere</p>
</blockquote>
<p>&#160;</p>
<p>这里的droidwall不得不让人联想起Android下赫赫有名的iptables防火墙鼻祖：DroidWall，冷博客看这个有点儿山寨的嫌疑，当然起重名了很正常&#8230;</p>
<p>再看一下海卓冲浪的UID</p>
<p>ls -l    <br />-rwxr-xr-x <font color="#ff0000">app_36&#160;&#160; app_36</font>&#160;&#160;&#160;&#160; 117256 2011-05-07 16:59 busybox_g1     <br />-rwxr-xr-x app_36&#160;&#160; app_36&#160;&#160;&#160;&#160; 130204 2011-05-07 16:59 iptables_g1     <br />-rwxrwxrwx app_36&#160;&#160; app_36&#160;&#160;&#160;&#160;&#160;&#160; 3116 2011-05-08 10:42 hisurfing_fw.sh</p>
<p>确定是这厮无误！很简单，这厮把自己给通过了&#8230; </p>
<p>这里说一下UID的意思，Andorid把每个程序分配一个UID，1000以下是系统ID</p>
<p>就是这样了，运行</p>
<p>/data/data/net.hidroid.hisurfing/cache/iptables_g1 -D droidwall-3g -m owner <font color="#ff0000">&#8211;uid-owner 10036</font></p>
<p>/data/data/net.hidroid.hisurfing/cache/iptables_g1 -D droidwall-wifi -m owner <font color="#ff0000">&#8211;uid-owner 10036</font></p>
<p>他就眯起来了，不过当你重启手机后，主程序会根据配置在生成一份hisurfing_fw.sh，既然你的手机root了，而且给了海卓root权限了，那还咋限制它呢？</p>
<p>就写到这儿吧&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/someth-about-hisuifing.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>搭建简单的pptp vpn</title>
		<link>http://loneblog.com/blog/make-pptp-vpn-server.html</link>
		<comments>http://loneblog.com/blog/make-pptp-vpn-server.html#comments</comments>
		<pubDate>Fri, 18 Mar 2011 01:40:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[pptp]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[vpn]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/make-pptp-vpn-server.html</guid>
		<description><![CDATA[今天使用smoking测试一个百兆出口，冷博客觉得这个出口闲着也是闲着，不如给我下载东西用  
于是乎搭建一个简单的VPN服务器来独享百兆，哈哈。
  
一、安装
如果使用MPPE微软的加密协议，dkms和kernel_ppp_mppe，这两个需要安装，而且基础的yum源找不到这两个软件，当然这也跟你使用的源有关。
所有软件都可以从 http://poptop.sourceforge.net/yum/stable/packages/ 这里找到。
安装ppp和pptpd，可以rpm或者yum
#yum install –y ppp
#yum install –y pptpd
&#160;
二、配置
/etc/pptpd.conf配置
localip&#160; 服务器监听端口ip
remoteip 分配给VPN用户的IP段，比如192.168.1.1-100 
&#160;
/etc/ppp/options.pptpd配置
ms-dns 这是分给windows的dns，写一个公网的就行，不写不能上网
&#160;
/etc/ppp/chap-secrets 配置
其中自带一个名叫u20的用户，格式如下
用户名&#160;&#160; 服务名&#160;&#160; 密码&#160;&#160; IP
比如我新增加的一个用户   loneblog&#160; vpn passwd&#160;&#160;&#160; 192.168.1.2
分配的IP只有一个就是192.168.1.2了.也就是说只能一个人同时使用.    如果你想多人同时使用&#8230;可以将IP栏改为*，据说支持40并发，不过我们一般需要一人一号
&#160;
NAT设置和ipforward
#iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j SNAT &#8211;to 9.9.9.9
#echo 1 &#62;/proc/sys/net/ipv4/ip_forward 
或者sysctl.conf中修改 或者把上面的写入启动脚本。
&#160;
三、启动服务和测试
#/etc/init.d/pptpd start
或者
#service pptpd start
客户端配置：
windows默认的不允许无加密连接，需要手工改一下

linux下的我没试过，图形化界面应该更容易些。
&#160;
结束语：由于透过内网的设备很多，而且有个上联端口由于设备不兼容导致半双工（好囧），所以可能没有百兆带宽。
用迅雷测了个速，竟然排前十&#8230;
我不是广东的出口哈~显示错了

]]></description>
			<content:encoded><![CDATA[<p>今天使用smoking测试一个百兆出口，冷博客觉得这个出口闲着也是闲着，不如给我下载东西用 <img src='http://loneblog.com/blog/wp-includes/images/smilies/icon_px_11.gif' alt=':pxxiao:' class='wp-smiley' /> </p>
<p>于是乎搭建一个简单的VPN服务器来独享百兆，哈哈。</p>
<p>  <span id="more-1533"></span>
<p>一、安装</p>
<p>如果使用MPPE微软的加密协议，dkms和kernel_ppp_mppe，这两个需要安装，而且基础的yum源找不到这两个软件，当然这也跟你使用的源有关。</p>
<p>所有软件都可以从 <a href="http://poptop.sourceforge.net/yum/stable/packages/dkms-2.0.17.5-1.noarch.rpm">http://poptop.sourceforge.net/yum/stable/packages/</a> 这里找到。</p>
<p>安装ppp和pptpd，可以rpm或者yum</p>
<p>#yum install –y ppp</p>
<p>#yum install –y pptpd</p>
<p>&#160;</p>
<p>二、配置</p>
<p>/etc/pptpd.conf配置</p>
<p>localip&#160; 服务器监听端口ip</p>
<p>remoteip 分配给VPN用户的IP段，比如192.168.1.1-100 </p>
<p>&#160;</p>
<p>/etc/ppp/options.pptpd配置</p>
<p>ms-dns 这是分给windows的dns，写一个公网的就行，不写不能上网</p>
<p>&#160;</p>
<p>/etc/ppp/chap-secrets 配置</p>
<p>其中自带一个名叫u20的用户，格式如下</p>
<p>用户名&#160;&#160; 服务名&#160;&#160; 密码&#160;&#160; IP</p>
<p>比如我新增加的一个用户   <br />loneblog&#160; <span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/vpn" title="查看 vpn 的全部文章" target="_blank">vpn</a></span> passwd&#160;&#160;&#160; 192.168.1.2</p>
<p>分配的IP只有一个就是192.168.1.2了.也就是说只能一个人同时使用.    <br />如果你想多人同时使用&#8230;可以将IP栏改为*，据说支持40并发，不过我们一般需要一人一号</p>
<p>&#160;</p>
<p>NAT设置和ipforward</p>
<p>#iptables –t nat –A POSTROUTING –s 192.168.1.0/24 –j SNAT &#8211;to 9.9.9.9</p>
<p>#echo 1 &gt;/proc/sys/net/ipv4/ip_forward </p>
<p>或者sysctl.conf中修改 或者把上面的写入启动脚本。</p>
<p>&#160;</p>
<p>三、启动服务和测试</p>
<p>#/etc/init.d/pptpd start</p>
<p>或者</p>
<p>#service pptpd start</p>
<p>客户端配置：</p>
<p>windows默认的不允许无加密连接，需要手工改一下</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/03/12.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="12" border="0" alt="12" src="http://loneblog.com/blog/wp-content/uploads/2011/03/12_thumb.jpg" width="300" height="166" /></a></p>
<p>linux下的我没试过，图形化界面应该更容易些。</p>
<p>&#160;</p>
<p>结束语：由于透过内网的设备很多，而且有个上联端口由于设备不兼容导致半双工（好囧），所以可能没有百兆带宽。</p>
<p>用迅雷测了个速，竟然排前十&#8230;</p>
<p>我不是广东的出口哈~显示错了</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/03/pptp-test-01.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="pptp-test-01" border="0" alt="pptp-test-01" src="http://loneblog.com/blog/wp-content/uploads/2011/03/pptp-test-01_thumb.jpg" width="300" height="214" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/make-pptp-vpn-server.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>谈谈Linux的学习</title>
		<link>http://loneblog.com/blog/talk-about-linux-learning.html</link>
		<comments>http://loneblog.com/blog/talk-about-linux-learning.html#comments</comments>
		<pubDate>Mon, 21 Feb 2011 14:59:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[rhce]]></category>
		<category><![CDATA[鸟哥]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/?p=1503</guid>
		<description><![CDATA[09年一次偶然的机会，冷博客接触到了生产环境的Linux。就算开始了对Linux的学习，到现在也仅有1年多的时间。
在这一年多的时间里，冷博客从自己动手搭建一个DNS服务器到RHCE证书的考取，其中经历了一些坎坷，现把一些学习经验分享给大家。
  
首先不得不提的是鸟哥——《鸟哥的Linux私房菜》
冷博客Linux的入门教材，相信也是很多Linux爱好者心中的大神。
我觉得鸟哥的基础篇讲的是不错的，反复看过两遍。不过其中死记硬背的内容过多，很多内容可以从帮助文档中找到，这点鸟哥没有详细的讲过。
服务器篇部分内容个人认为鸟哥的理解有偏颇，还是那句话“尽信书不如无书”。
关于深度和广度
Linux中的服务和程序随便拿出来一个都够研究半年的了。
关于培训
参加培训的大部分为了应试。可惜的是，国内还没有特牛的培训机构（原厂除外哈）可以像培训cisco认证一样大量生产rhce，所以如果只为了考证，没有基础而直接去培训中心的话，还是很可能挂。虽然很多培训中心都有免费重考的机会，不过你浪费的青春没有补救。
关于桌面环境
使用Linux当日常的桌面环境是非常不明智的，你会因此耗费大量的时间和精力。
尤其是你的硬件不能被Linux安装时识别，你会陷入这样的循环：在墙上挂一幅油画——找钉子——买钉子——做公交车买钉子——办公交卡——搭车去公交站办卡——找邻居搭车——打电话找邻居，到最后也许会忘了初衷，或者筋疲力竭。
更不要试图使用U盘、PXE或者量产U盘里安装Linux，尤其是你有光驱的情况下（RHEL是个例外）
up：不要用ultroiso或者xxcreate，要用dd写入usb device，更正上面内条
还要多说几句，看到我们用的windows视窗操作系统了么？世界首富领导的世界顶尖团队，全都是各方面的高手，用了大量的人力物力和财力，才做成了现在的windows7。
即使这样，windows7还是漏洞百出，不容易使用。更不要说是一个论坛支持或者某个公司开源免费的Linux发行版本了，根本做不到，也不能做到微软这样的水平（冷博客没用过Apple OS，不敢妄加评论，虽然他也是unix一个分支，不过定制化的东西太多）
最后
这篇博文写了很久，应该是冷博客拖得时间最长的博文了，我一直使用live writer写草稿，然后想起一些来就写下来，都是经过反复斟酌过的经验之谈。
]]></description>
			<content:encoded><![CDATA[<p>09年一次偶然的机会，冷博客接触到了生产环境的<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/about-linux" title="查看 Linux 的全部文章" target="_blank">Linux</a></span>。就算开始了对Linux的学习，到现在也仅有1年多的时间。</p>
<p>在这一年多的时间里，冷博客从自己动手搭建一个DNS服务器到RHCE证书的考取，其中经历了一些坎坷，现把一些学习经验分享给大家。</p>
<p>  <span id="more-1503"></span>
<p>首先不得不提的是<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/%e9%b8%9f%e5%93%a5" title="查看 鸟哥 的全部文章" target="_blank">鸟哥</a></span>——《鸟哥的Linux私房菜》</p>
<p>冷博客Linux的入门教材，相信也是很多Linux爱好者心中的大神。</p>
<p>我觉得鸟哥的基础篇讲的是不错的，反复看过两遍。不过其中死记硬背的内容过多，很多内容可以从帮助文档中找到，这点鸟哥没有详细的讲过。</p>
<p>服务器篇部分内容个人认为鸟哥的理解有偏颇，还是那句话“尽信书不如无书”。</p>
<p>关于深度和广度</p>
<p>Linux中的服务和程序随便拿出来一个都够研究半年的了。</p>
<p>关于培训</p>
<p>参加培训的大部分为了应试。可惜的是，国内还没有特牛的培训机构（原厂除外哈）可以像培训cisco认证一样大量生产<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/rhce" title="查看 rhce 的全部文章" target="_blank">rhce</a></span>，所以如果只为了考证，没有基础而直接去培训中心的话，还是很可能挂。虽然很多培训中心都有免费重考的机会，不过你浪费的青春没有补救。</p>
<p>关于桌面环境</p>
<p>使用Linux当日常的桌面环境是非常不明智的，你会因此耗费大量的时间和精力。</p>
<p>尤其是你的硬件不能被Linux安装时识别，你会陷入这样的循环：在墙上挂一幅油画——找钉子——买钉子——做公交车买钉子——办公交卡——搭车去公交站办卡——找邻居搭车——打电话找邻居，到最后也许会忘了初衷，或者筋疲力竭。</p>
<p><strike>更不要试图使用U盘、PXE或者量产U盘里安装Linux</strike>，尤其是你有光驱的情况下（RHEL是个例外）</p>
<p>up：不要用ultroiso或者xxcreate，要用dd写入usb device，更正上面内条</p>
<p>还要多说几句，看到我们用的windows视窗操作系统了么？世界首富领导的世界顶尖团队，全都是各方面的高手，用了大量的人力物力和财力，才做成了现在的windows7。</p>
<p>即使这样，windows7还是漏洞百出，不容易使用。更不要说是一个论坛支持或者某个公司开源免费的Linux发行版本了，根本做不到，也不能做到微软这样的水平（冷博客没用过Apple OS，不敢妄加评论，虽然他也是unix一个分支，<strike>不过定制化的东西太多</strike>）</p>
<p>最后</p>
<p>这篇博文写了很久，应该是冷博客拖得时间最长的博文了，我一直使用live writer写草稿，然后想起一些来就写下来，都是经过反复斟酌过的经验之谈。</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/talk-about-linux-learning.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>rhce 经验分享</title>
		<link>http://loneblog.com/blog/rhce-experience.html</link>
		<comments>http://loneblog.com/blog/rhce-experience.html#comments</comments>
		<pubDate>Fri, 18 Feb 2011 17:30:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[网络相关]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rhce]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/rhce-experience.html</guid>
		<description><![CDATA[赶紧写下来，时间长了忘了
今天上午考的rhce，还是有规定不能泄露题目，我说一下经验吧
history如果能设置多一些最好，有些东西写错了可以回去看看当时怎么写错的；
服务正常运行是第一，防火墙什么的都是第二位；
yum源一定复习明白了，否则小心阴沟翻船；
图形化界面不要过分依赖，用来考试还凑活，很多时候我们需要ssh到某台没有xorg服务的主机，命令行还是需要的。最好使用命令行下的图形化输出，比如setup这类的命令，又好用且不容易出错；
基础要扎实，水平在ct那里，就别去靠着培训考ce，冷博客敢说不参加rh300培训也能pass，这就是会者不难的道理。
有点儿晚了，冷博客先睡了，以后想起来在更新吧
最后，感谢老徐这几天精彩的课程~
]]></description>
			<content:encoded><![CDATA[<p>赶紧写下来，时间长了忘了</p>
<p>今天上午考的<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/rhce" title="查看 rhce 的全部文章" target="_blank">rhce</a></span>，还是有规定不能泄露题目，我说一下经验吧</p>
<p>history如果能设置多一些最好，有些东西写错了可以回去看看当时怎么写错的；</p>
<p>服务正常运行是第一，防火墙什么的都是第二位；</p>
<p>yum源一定复习明白了，否则小心阴沟翻船；</p>
<p>图形化界面不要过分依赖，用来考试还凑活，很多时候我们需要ssh到某台没有xorg服务的主机，命令行还是需要的。最好使用命令行下的图形化输出，比如setup这类的命令，又好用且不容易出错；</p>
<p>基础要扎实，水平在ct那里，就别去靠着培训考ce，冷博客敢说不参加rh300培训也能pass，这就是会者不难的道理。</p>
<p>有点儿晚了，冷博客先睡了，以后想起来在更新吧</p>
<p>最后，感谢老徐这几天精彩的课程~</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/rhce-experience.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>rhce pass</title>
		<link>http://loneblog.com/blog/rhce-pass.html</link>
		<comments>http://loneblog.com/blog/rhce-pass.html#comments</comments>
		<pubDate>Fri, 18 Feb 2011 17:13:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[生活]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rhce]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/rhce-pass.html</guid>
		<description><![CDATA[这篇纯属显摆，忽略吧
RHCT components score:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 100.0   RHCE components score:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 100.0    RHCE Certification:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PASS
]]></description>
			<content:encoded><![CDATA[<p>这篇纯属显摆，忽略吧</p>
<p>RHCT components score:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 100.0   <br />RHCE components score:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 100.0    <br />RHCE Certification:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; PASS</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/rhce-pass.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iptables&#124;Netfilter基本配置说明手册</title>
		<link>http://loneblog.com/blog/iptables-netfilter.html</link>
		<comments>http://loneblog.com/blog/iptables-netfilter.html#comments</comments>
		<pubDate>Thu, 10 Feb 2011 01:51:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[netfilter]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/iptables-netfilter.html</guid>
		<description><![CDATA[今天来说一下Netfilter相关事宜。
选取了培亚的培训视频截图（不知道算不算侵权），RHCE的课程中培亚的这一节课讲得非常好。

  
&#160;
iptables的三个tables，用-t表示
共3+3+2个chains
每个chain有若干rules
每个chain有个默认缺省的rule，称作policy，用-P表示
&#160;
filter 过滤封包

INPUT 进入本机的封包 
OUTPUT 从本机出去的封包 
FORWARD 经过本机路由转送的封包 

&#160;
nat 转译ip位置

PREROUTING 路由前 所有来的封包 
OUTPUT 从本机出去的封包 
POSTROUTING 路由后 所有出去的封包 

&#160;
mangle 改变封包内容

PREROUTING 路由前 所有来的封包 
OUTPUT 从本机出去的封包 

&#160;
下面这个图说明了封包经过这几个tables和chains的流程

下面介绍了rule的几种target
&#160;

分别为

DROP 直接丢弃 
ACCEPT 允许 
REJECT 退回错误信息并丢弃 
LOG 记录，不处理 

&#160;
chain的管理
-A 在chain末尾append若干条rule
-D 在chain中delete若干条rule
-I 在chain中指定位置insert若干条rule
还有 -R replace –L list –F flush –P policy 
–N new-chain –X delet-chain只能删除自定义的
&#160;

parameters的分类
-p protocal 可以是 tcp udp icmp
-s source 可以是 [...]]]></description>
			<content:encoded><![CDATA[<p>今天来说一下Netfilter相关事宜。</p>
<p>选取了培亚的培训视频截图（不知道算不算侵权），RHCE的课程中培亚的这一节课讲得非常好。</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/02/snapshot20110208215727.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="snapshot20110208215727" border="0" alt="snapshot20110208215727" src="http://loneblog.com/blog/wp-content/uploads/2011/02/snapshot20110208215727_thumb.jpg" width="400" height="300" /></a></p>
<p>  <span id="more-1477"></span>
<p>&#160;</p>
<p><span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/iptables" title="查看 iptables 的全部文章" target="_blank">iptables</a></span>的三个tables，用-t表示</p>
<p>共3+3+2个chains</p>
<p>每个chain有若干rules</p>
<p>每个chain有个默认缺省的rule，称作policy，用-P表示</p>
<p>&#160;</p>
<p><strong>filter 过滤封包</strong></p>
<ul>
<li>INPUT 进入本机的封包 </li>
<li>OUTPUT 从本机出去的封包 </li>
<li>FORWARD 经过本机路由转送的封包 </li>
</ul>
<p>&#160;</p>
<p><strong>nat 转译ip位置</strong></p>
<ul>
<li>PREROUTING 路由前 所有来的封包 </li>
<li>OUTPUT 从本机出去的封包 </li>
<li>POSTROUTING 路由后 所有出去的封包 </li>
</ul>
<p>&#160;</p>
<p><strong>mangle 改变封包内容</strong></p>
<ul>
<li>PREROUTING 路由前 所有来的封包 </li>
<li>OUTPUT 从本机出去的封包 </li>
</ul>
<p>&#160;</p>
<p>下面这个图说明了封包经过这几个tables和chains的流程</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/02/snapshot20110208224041.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="snapshot20110208224041" border="0" alt="snapshot20110208224041" src="http://loneblog.com/blog/wp-content/uploads/2011/02/snapshot20110208224041_thumb.jpg" width="400" height="300" /></a></p>
<p>下面介绍了rule的几种target</p>
<p>&#160;</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/02/rule-target.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="rule-target" border="0" alt="rule-target" src="http://loneblog.com/blog/wp-content/uploads/2011/02/rule-target_thumb.jpg" width="400" height="300" /></a></p>
<p>分别为</p>
<ul>
<li>DROP 直接丢弃 </li>
<li>ACCEPT 允许 </li>
<li>REJECT 退回错误信息并丢弃 </li>
<li>LOG 记录，不处理 </li>
</ul>
<p>&#160;</p>
<p><strong>chain的管理</strong></p>
<p>-A 在chain末尾append若干条rule</p>
<p>-D 在chain中delete若干条rule</p>
<p>-I 在chain中指定位置insert若干条rule</p>
<p>还有 -R replace –L list –F flush –P policy </p>
<p>–N new-chain –X delet-chain只能删除自定义的</p>
<p>&#160;</p>
<p><a href="http://loneblog.com/blog/wp-content/uploads/2011/02/filter-match.jpg" class="highslide-image" onclick="return hs.expand(this);"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="filter-match" border="0" alt="filter-match" src="http://loneblog.com/blog/wp-content/uploads/2011/02/filter-match_thumb.jpg" width="400" height="300" /></a></p>
<p><strong>parameters的分类</strong></p>
<p>-p protocal 可以是 tcp udp icmp</p>
<p>-s source 可以是 ip 或者 域名</p>
<p>-d destination 可以内容同上</p>
<p>-j jump 定义封包处理方法</p>
<p>-i in-interface 可以是eth0 或者子接口 或者eth+</p>
<blockquote><p>只能用在INPUT FORWARD和PREROUTING中</p>
</blockquote>
<p>-o out-interface 同上 只能用在OUTPUT FORWARD 和 POSTROUTING</p>
<p><strong>其中tcp参数的条件：</strong></p>
<p>&#8211;sport source-port 起始端口：终止端口</p>
<p>&#8211;dport destination-port 起始端口：终止端口</p>
<p>&#8211;tcp-flags 可以是SYN ACK FIN RST URG PSH </p>
<p>例如：&#8211;tcp-flags SYN,ACK,FIN,RST SYN 仅仅匹配带有SYN，而没有其他标志的</p>
<p>&#8211;syn 防止SYN攻击的参数 相当于匹配 –tcp-flags SYN,RST,ACK SYN</p>
<p><strong>其中udp参数的条件：</strong></p>
<p>&#8211;sport 与 &#8211;dport同上</p>
<p><strong>其中icmp参数的条件：</strong></p>
<p>&#8211;icmp-type icmp封包类型</p>
<p>&#160;</p>
<p><strong>owner模组</strong></p>
<p>只能用在OUTPUT chain</p>
<p>-m owner 要提前说明</p>
<p>&#8211;uid-owner 制定用户</p>
<p>&#8211;gid-owner 制定组</p>
<p>&#8211;pid-owner 制定进程</p>
<p>&#8211;sid-owner 制定子进程</p>
<p>&#8211;cmd-owner 指定指令</p>
<p>&#160;</p>
<p><strong>state模组</strong></p>
<p>&#8211;state 根据状态匹配</p>
<p>-m state 要提前说明</p>
<p>INVALID 未知封包</p>
<p>ESTABLISHED 已建立三次握手的封包</p>
<p>NEW 新建立连线</p>
<p>RELATED 再建立一条新连线的封包</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/iptables-netfilter.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux 编译新的驱动模块到内核</title>
		<link>http://loneblog.com/blog/linux-how-to-add-mod.html</link>
		<comments>http://loneblog.com/blog/linux-how-to-add-mod.html#comments</comments>
		<pubDate>Tue, 25 Jan 2011 02:50:00 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[modprobe.conf]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/linux-how-to-add-mod.html</guid>
		<description><![CDATA[这篇挺水的，老鸟略过吧
一、用命令自动添加模块
这个很简答，分为三步。
1.查看模块是否已经存在当前内核中
这里以ipip.ko这个模块为例，一般都没有被编译进去
#lsmod &#124; grep ipip   
如果没有的话，查看本地lib中是否有这个模块
#modprobe –l &#124; grep ipip   /lib/modules/2.6.18-194.el5/kernel/net/ipv4/ipip.ko    
或者手动查看/lib/modules/$(unmae -r)/kernel/
  
&#160;
2.使用mkinitrd新建内核
#mkinitrd &#8211;with=ipip /boot/initrd-2.6.18-194.ido.img $(uname -r)
3.修改grub.conf添加新启动项
root (hd0,0)   kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet    initrd /initrd-2.6.18-194.ido.img    
二、手工添加模块，编译initrd
手动添加比较繁琐，大概分为3大步
1.解压initrd文件
#cp /boot/initrd-2.6.18-194.el5.img /tmp
# file /tmp/initrd-2.6.18-194.el5.img   /tmp/initrd-2.6.18-194.el5.img: gzip compressed data, from Unix, [...]]]></description>
			<content:encoded><![CDATA[<p>这篇挺水的，老鸟略过吧</p>
<h1>一、用命令自动添加模块</h1>
<p>这个很简答，分为三步。</p>
<h2>1.查看模块是否已经存在当前内核中</h2>
<p>这里以ipip.ko这个模块为例，一般都没有被编译进去</p>
<p>#lsmod | grep ipip   </p>
<p>如果没有的话，查看本地lib中是否有这个模块</p>
<p>#modprobe –l | grep ipip   <br />/lib/modules/2.6.18-194.el5/kernel/net/ipv4/ipip.ko    </p>
<p>或者手动查看/lib/modules/$(unmae -r)/kernel/</p>
<p>  <span id="more-1442"></span>
<p>&#160;</p>
<h2>2.使用mkinitrd新建内核</h2>
<p>#mkinitrd &#8211;with=ipip /boot/initrd-2.6.18-194.ido.img $(uname -r)</p>
<h2>3.修改grub.conf添加新启动项</h2>
<p>root (hd0,0)   <br />kernel /vmlinuz-2.6.18-194.el5 ro root=LABEL=/ rhgb quiet    <br />initrd /initrd-2.6.18-194.ido.img    </p>
<h1>二、手工添加模块，编译initrd</h1>
<p>手动添加比较繁琐，大概分为3大步</p>
<h2>1.解压initrd文件</h2>
<p>#cp /boot/initrd-2.6.18-194.el5.img /tmp</p>
<p># file /tmp/initrd-2.6.18-194.el5.img   <br />/tmp/initrd-2.6.18-194.el5.img: gzip compressed data, from Unix, last modified: Sun Jan 16 20:30:13 2011, max compression</p>
<p>#gzip –dv –S .img&#160; /tmp/initrd-2.6.18-194.el5.img</p>
<p># file /tmp/initrd-2.6.18-194.el5   <br />/tmp/initrd-2.6.18-194.el5: ASCII cpio archive (SVR4 with no CRC)</p>
<p>#mkdir /tmp/initrd;cpio –id &lt; /tmp/initrd-2.6.18-194.el5</p>
<p>经过这些步骤，我们就在/tmp/initrd中看到了全部已经解压的文件</p>
<p>在lib中，有所有编译的模块，我们把需要的ipip.ko拷贝进去，然后再init中添加如下内容：</p>
<p>echo ‘Loading ipip mod…’</p>
<p>insmod /lib/ipip.ko</p>
<h2>2.压缩还原initrd</h2>
<p>#find /tmp/initrd &gt;/tmp/initrd.ls</p>
<p>#cpio –oc &lt; /tmp/initrd.ls &gt; /boot/initrd-2.6.18-194.ido</p>
<p>#gzip –v9 –S .img /boot/initrd-2.6.18-194.ido</p>
<h2>3.修改grub.conf重新启动</h2>
<p>这个步骤同上第一章   </p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/linux-how-to-add-mod.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>让RedHat使用CentOS yum源</title>
		<link>http://loneblog.com/blog/redhat-use-centos-yum-repo.html</link>
		<comments>http://loneblog.com/blog/redhat-use-centos-yum-repo.html#comments</comments>
		<pubDate>Sun, 23 Jan 2011 13:42:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[redhat]]></category>
		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/redhat-use-centos-yum-repo.html</guid>
		<description><![CDATA[由于正版的红帽需要RHN等注册才能使用yum服务源，因此对于我们这些实验用机很不柔道的说。因此我们要使用免费的centos做源！
方法是网上看来得，不过说实话对于版本兼容性问题，冷博客在这里还是打个问号的
不过一般实验用没问题，系统都是同根而生的呀
网上流传着南京啥啥大学ftp源，冷博客觉得这个不好，大学ftp说变就变，而且十有八九是教育网的速度不会很快，不如用163的。
这里特别谢谢163能提供国内知名的一个免费开源镜像！
  

方法如下：
[root@loneblog ~]# vim /etc/yum.repos.d/centos.repo
新建一个repo，填入如下内容，其实后几项没有必要，更新的时候特费时，把base 和 upate 填上就行！
[base]     name=CentOS-5-163-Base      baseurl=http://mirrors.163.com/centos/5.5/os/i386/      gpgcheck=0      gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5      [update]      name=CentOS-5-Updates      baseurl=http://mirrors.163.com/centos/5.5/os/i386/      [...]]]></description>
			<content:encoded><![CDATA[<p>由于正版的红帽需要RHN等注册才能使用<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/yum" title="查看 yum 的全部文章" target="_blank">yum</a></span>服务源，因此对于我们这些实验用机很不柔道的说。因此我们要使用免费的<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/centos" title="查看 centos 的全部文章" target="_blank">centos</a></span>做源！</p>
<p>方法是网上看来得，不过说实话对于版本兼容性问题，冷博客在这里还是打个问号的</p>
<p>不过一般实验用没问题，系统都是同根而生的呀</p>
<p>网上流传着南京啥啥大学ftp源，冷博客觉得这个不好，大学ftp说变就变，而且十有八九是教育网的速度不会很快，不如用163的。</p>
<p><font color="#ff0000">这里特别谢谢163能提供国内知名的一个免费开源镜像！</font></p>
<p>  <span id="more-1441"></span>
<p><font color="#ff0000"></font></p>
<p>方法如下：</p>
<p>[root@loneblog ~]# vim /etc/yum.repos.d/<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/centos" title="查看 centos 的全部文章" target="_blank">centos</a></span>.repo</p>
<p>新建一个repo，填入如下内容，其实后几项没有必要，更新的时候特费时，把base 和 upate 填上就行！</p>
<blockquote><p>[base]     <br />name=CentOS-5-163-Base      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5      <br />[update]      <br />name=CentOS-5-Updates      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5      <br />[addons]      <br />name=CentOS-5-Addons      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5</p>
<p>[extras]     <br />name=CentOS-5-Extras      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5</p>
<p>[centosplus]</p>
<p>name=CentOS-5-Plus     <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5</p>
<p>enabled=0      <br />#contrib &#8211; packages by Centos Users      <br />[contrib]      <br />name=CentOS-5-Contrib      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5</p>
<p>[dag]     <br />name=Dag RPM Repository for RHEL5      <br />enabled=1      <br />baseurl=http://mirrors.163.com/centos/5.5/os/i386/      <br />gpgcheck=0      <br />gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-5</p>
</blockquote>
<p>然后gpgkey神马的随意~</p>
<p>测试一下</p>
<blockquote><p>[root@loneblog ~]# yum reinstall nmap     <br />Loaded plugins: rhnplugin, security      <br />This system is not registered with RHN.      <br />RHN support will be disabled.      <br />Setting up Reinstall Process      <br />Resolving Dependencies      <br />&#8211;&gt; Running transaction check      <br />&#8212;&gt; Package nmap.i386 2:4.11-1.1 set to be updated      <br />&#8211;&gt; Finished Dependency Resolution</p>
<p>Dependencies Resolved</p>
<p>================================================================================     <br /> Package&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Arch&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Version&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Repository&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; Size      <br />================================================================================      <br />Reinstalling:      <br /> nmap&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; i386&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2:4.11-1.1&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; addons&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 672 k</p>
<p>Transaction Summary     <br />================================================================================      <br />Remove&#160;&#160;&#160;&#160;&#160;&#160;&#160; 0 Package(s)      <br />Reinstall&#160;&#160;&#160;&#160; 1 Package(s)      <br />Downgrade&#160;&#160;&#160;&#160; 0 Package(s)</p>
<p>Total download size: 672 k     <br />Is this ok [y/N]: y      <br />Downloading Packages:      <br /><font color="#ff0000">nmap-4.11-1.1.i386.rpm&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; | 672 kB&#160;&#160;&#160;&#160; 00:03       <br /></font>Running rpm_check_debug      <br />Running Transaction Test      <br />Finished Transaction Test      <br />Transaction Test Succeeded      <br />Running Transaction      <br />&#160; Installing&#160;&#160;&#160;&#160; : nmap&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1/1</p>
<p>Installed:     <br />&#160; nmap.i386 2:4.11-1.1</p>
<p>Complete!     </p>
</blockquote>
<p>看到了吧速度嗖嗖的，672kB用了3秒~呵呵   </p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/redhat-use-centos-yum-repo.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux Grub开机启动故障排查大全</title>
		<link>http://loneblog.com/blog/linux-grub-error.html</link>
		<comments>http://loneblog.com/blog/linux-grub-error.html#comments</comments>
		<pubDate>Sun, 23 Jan 2011 12:17:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/linux-grub-error.html</guid>
		<description><![CDATA[来源：http://servershuji.blog.51cto.com/1283121/340779
这个是原创滴，非常实用，特转之。
原文标题如下，冷博客觉得还是叫做 开机启动故障 比较好。
  
&#160;
RHEL服务器故障排除精粹
大家好！我是书记。今天给大家打来的是Linux服务器中常见故障的一些解决方案。
首先，我们要知道对Linux进行故障排错的学习方法和步骤：
一、要非常熟悉Linux的启动过程。    二、要学会查看日志的好习惯。     三、要具备常见的Linux故障的场景及解决方法的经验。     四、不断的积累、总结。
引导流程图：

（1）修复MBR扇区故障
故障原因：    &#160;&#160;&#160;&#160;&#160;&#160;&#160; One：一些病毒、木马等造成的破坏。     &#160;&#160;&#160;&#160;&#160;&#160;&#160; two：不正确的分区操作、磁盘读写的误操作。
故障现象：    &#160;&#160;&#160;&#160;&#160;&#160;&#160; one :无法加载OS，开机后出现黑屏。     &#160;&#160;&#160;&#160;&#160;&#160;&#160; two：找不到引导程序，启动过程中突然中断。     解决方案：
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one:应提前作好备份文件    &#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two:以RHEL5安装光盘引导进入急救模式   [...]]]></description>
			<content:encoded><![CDATA[<p>来源：<a title="http://servershuji.blog.51cto.com/1283121/340779" href="http://servershuji.blog.51cto.com/1283121/340779">http://servershuji.blog.51cto.com/1283121/340779</a></p>
<p>这个是原创滴，非常实用，特转之。</p>
<p>原文标题如下，冷博客觉得还是叫做 开机启动故障 比较好。</p>
<p>  <span id="more-1439"></span>
<p>&#160;</p>
<p>RHEL服务器故障排除精粹</p>
<p>大家好！我是书记。今天给大家打来的是<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/about-linux" title="查看 Linux 的全部文章" target="_blank">Linux</a></span>服务器中常见故障的一些解决方案。</p>
<p>首先，我们要知道对Linux进行故障排错的学习方法和步骤：</p>
<p>一、要非常熟悉Linux的启动过程。    <br />二、要学会查看日志的好习惯。     <br />三、要具备常见的Linux故障的场景及解决方法的经验。     <br />四、不断的积累、总结。</p>
<p>引导流程图：</p>
<p><img border="0" alt="" src="http://img1.51cto.com/attachment/201006/201006291277781938843.png" /></p>
<p>（1）修复MBR扇区故障</p>
<p>故障原因：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; One：一些病毒、木马等造成的破坏。     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; two：不正确的分区操作、磁盘读写的误操作。</p>
<p>故障现象：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :无法加载OS，开机后出现黑屏。     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; two：找不到引导程序，启动过程中突然中断。     <br />解决方案：</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one:应提前作好备份文件    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two:以RHEL5安装光盘引导进入急救模式     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; three:从备份文件中恢复</p>
<p>Example：</p>
<p>1.备份MBR扇区数据    <br />&#160;&#160;&#160; dd if=/dev/sda of =/backup/sda.mbr.bak bs=512 count=1</p>
<p>2.模拟MBR被破坏额故障    <br />&#160;&#160;&#160; dd if=/dev/sda of=/dev/sda bs=512 count=1</p>
<p><img border="0" alt="" src="http://img1.51cto.com/attachment/201006/201006291277782147828.png" /></p>
<p>3.RHEL5关盘引导，进入到急救模式</p>
<p>&#160;&#160;&#160;&#160; boot:linux resure</p>
<p>4.从备份文件中恢复MBR扇区    <br />&#160;&#160;&#160;&#160; dd if=/tempdir/sda.mbr.bak of=/dev/sda bs=512 count=1</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>&#160; (2)修复GRUB引导故障 </p>
<p>故障原因:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :MBR中的GRUB引导程序遭到破坏     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; two :<span class='wp_keywordlink_affiliate'><a href="http://loneblog.com/blog/tag/grub" title="查看 grub 的全部文章" target="_blank">grub</a></span>.conf文件丢失、引导配置有误</p>
<p>故障现象:</p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; 系统引过程中停止不前，显示“grub&gt;”提示符</p>
<p><img border="0" alt="" src="http://img1.51cto.com/attachment/201006/201006291277782162375.png" /></p>
<p>解决方案：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 手动输入引导命令     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 进入急救模式，从备份中恢复grub.conf配置文件     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 向MBR扇区中重建grub程序</p>
<p>Example:</p>
<p>1.在“grub&gt;”提示符后，手动输入引导命令,    <br />成功进入系统后，恢复或重建 grub.conf 配置文件</p>
<p>grub&gt; root&#160; (hd0,0)    <br />grub&gt; kernel&#160; /vmlinuz-2.6.9-5.EL ro root=LABEL=/ rhgb quiet     <br />grub&gt; initrd&#160; /initrd-2.6.9-5.EL.img     <br />grub&gt; boot     <br />==================================================================     <br />[root@localhost ]# cd&#160; /boot/grub/     <br />[root@localhost ]# cp&#160; grub.conf.bak&#160; grub.conf </p>
<p>==================================================================</p>
<p>2.进入急救模式，从备份文件中恢复 grub.conf 文件,    <br />向MBR扇区中重建GRUB程序</p>
<p>sh-3.1# chroot&#160; /mnt/sysimage    <br />sh-3.1# cd&#160; /boot/grub/     <br />sh-3.1# cp&#160; grub.conf.bak&#160; grub.conf     <br />sh-3.1# grub-install&#160; /dev/sda</p>
<p>(3)etc/inittab文件丢失</p>
<p>故障原因:    <br />inittab文件被误删除，或者存在配置上的问题</p>
<p>故障现象：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one:启动中提示 “&#8230; INIT: No inittab file found”</p>
<p><img border="0" alt="" src="http://img1.51cto.com/attachment/201006/201006291277783432859.png" /></p>
<p>&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two:系统停滞，无法完成初始化</p>
<p>解决方案：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; One：进入急救模式，从备份文件中恢复     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two: 在急救模式中重新安装 initscripts 软件包     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; rpm&#160; -ivh &#8211;aid &#8211;force &#8211;replacepkgs&#160; initscripts-8.45.14.EL.i386.rpm</p>
<p>(4)etc/fstab文件丢失</p>
<p>故障原因:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; fstab文件被误删除，或者存在配置错误</p>
<p>故障现象:    <br />&#160;&#160;&#160;&#160;&#160; one:启动中提示 “&#8230; /etc/fstab: No such file or directory”</p>
<p><img border="0" alt="" src="http://img1.51cto.com/attachment/201006/201006291277783495671.png" /></p>
<p>&#160;&#160;&#160;&#160;&#160; two :系统停滞，无法完成初始化</p>
<p>解决方案：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one&#160; :进入急救模式，手动查找并挂载根分区     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 查找逻辑卷：lvm vgscan     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 激活指定的逻辑卷：lvm vgchange -ay&#160; /dev/VolGroup00     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two :恢复或重建fstab配置文件</p>
<p>（5）忘记root用户的密码 </p>
<p>故障原因：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 忘记root用户的密码</p>
<p>故障现象：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :无法进行需要root权限的管理操作     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two :若没有其他可用帐号，将无法登录系统</p>
<p>解决方案：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :引导进入单用户模式（runlevel=1），然后重设密码     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; grub &gt; kernel&#160; &#8230;&#160; single 或 s 或 1     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two :进入急救模式，然后重设密码 </p>
<p>(6)软件包类故障 —— rpm数据库损坏 </p>
<p>故障原因:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 非正常关机、误删除运行中的程序文件     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; RPM数据文件被误写或删除</p>
<p>故障现象:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 不能正常查询rpm包信息 rpm -ql ; rpm -qa &#8230;..     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 无法安装、升级或卸载软件包等 rpm -U ; rpm -i&#8230;&#8230;     <br />解决方案：     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 重建RPM数据库     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 重建命令：rpm&#160; &#8211;rebuilddb 或 rpm&#160; &#8211;initdb</p>
<p>（7）磁盘资源耗尽故障</p>
<p>故障原因:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :磁盘空间已被大量的数据占满，空间耗尽     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two :虽然还有可用空间，但文件数i节点耗尽 </p>
<p>故障现象:    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; one :无法写入新的文件，提示“… : 设备上没有空间”     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; two : 部分程序无法运行，甚至系统无法启动</p>
<p>解决方案：    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 1. 清理磁盘空间，删除无用、冗余的文件     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 2 .转移或删除占用大量i节点的琐碎文件     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 3. 进 入单用户模式、急救模式进行修复     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; 4.用户设置磁盘配额&#8212;系统管理中必做的</p>
<p>一些细节上的故障，只要我们做了必要的备份的话， 解决这个问题不会很难。好了，就到这吧！同时祝愿大家天天好心情，偶也!</p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/linux-grub-error.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Can&#8217;t locate RRDs.pm in @INC 类似问题的解决</title>
		<link>http://loneblog.com/blog/cant-locate-rrds-pm.html</link>
		<comments>http://loneblog.com/blog/cant-locate-rrds-pm.html#comments</comments>
		<pubDate>Fri, 21 Jan 2011 13:32:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[redhat]]></category>

		<guid isPermaLink="false">http://loneblog.com/blog/cant-locate-rrds-pm.html</guid>
		<description><![CDATA[ 上篇文章说了关于smokeping的安装，他是基于perl语言的。
其实使用perl加上模块跑的软件，如果没处理好其中任何一个环节，都会报错，而且让你根本不知道哪里出的错。
冷博客在安装smokeping的时候就报错，差点儿重做系统。
首先，一个通用的检测perl+RRDs的方法
perl -MRRDs -le &#8216;print q(ok!)&#8217;
如果显示ok!就证明你的perl+MRRDs工作正常
报错的话，两种已知错误。
Can&#8217;t locate RRDs.pm in @INC (@INC contains:     /usr/lib/perl5/5.8.5/i386-linux-thread-multi      
ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/RRDs.pm \   /usr/lib/perl5/5.8.5/i386-linux-thread-multi/
Can&#8217;t locate loadable object for module RRDs in @INC (@INC contains:     /usr/lib/perl5/5.8.5/i386-linux-thread-multi      
ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/auto/RRDs/RRDs.so \   [...]]]></description>
			<content:encoded><![CDATA[<p> 上篇文章说了关于smokeping的安装，他是基于perl语言的。</p>
<p>其实使用perl加上模块跑的软件，如果没处理好其中任何一个环节，都会报错，而且让你根本不知道哪里出的错。</p>
<p>冷博客在安装smokeping的时候就报错，差点儿重做系统。</p>
<p>首先，一个通用的检测perl+RRDs的方法</p>
<p>perl -MRRDs -le &#8216;print q(ok!)&#8217;</p>
<p>如果显示ok!就证明你的perl+MRRDs工作正常</p>
<p>报错的话，两种已知错误。</p>
<p><strong>Can&#8217;t locate RRDs.pm in @INC (@INC contains:     <br />/usr/lib/perl5/5.8.5/i386-linux-thread-multi      <br /></strong></p>
<p>ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/RRDs.pm \   <br />/usr/lib/perl5/5.8.5/i386-linux-thread-multi/</p>
<p><strong>Can&#8217;t locate loadable object for module RRDs in @INC (@INC contains:     <br />/usr/lib/perl5/5.8.5/i386-linux-thread-multi      <br /></strong></p>
<p>ln -sv /usr/local/rrdtool/lib/perl/5.8.5/i386-linux-thread-multi/auto/RRDs/RRDs.so \   <br />/usr/lib/perl5/5.8.5/i386-linux-thread-multi/    </p>
]]></content:encoded>
			<wfw:commentRss>http://loneblog.com/blog/cant-locate-rrds-pm.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

