<?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>IPCPU——网络之路 &#187; Linux</title>
	<atom:link href="http://www.ipcpu.com/category/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ipcpu.com</link>
	<description></description>
	<lastBuildDate>Sat, 17 Jul 2010 11:04:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>关于find中的atime、ctime、mtime的区别</title>
		<link>http://www.ipcpu.com/2010/07/linux-find-atime-ctime/</link>
		<comments>http://www.ipcpu.com/2010/07/linux-find-atime-ctime/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 11:04:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[find]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[命令]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=673</guid>
		<description><![CDATA[这几天碰到的一个面试题。 find用法：     -atime n               File was last accessed n*24 hours ago.  访问（读取文件或执行文件）         -ctime n               File’s status was last changed n*24 hours ago.  写入修改 更改属主  -mtime n               File’s  data was last modified n*24 hours ago.  写入修改    -amin n               File was last accessed n minutes ago.这是按分钟来算的一般不用  -cmin n               File’s [...]]]></description>
			<content:encoded><![CDATA[<p>这几天碰到的一个面试题。</p>
<p><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/find/" title="View all posts in find" target="_blank">find</a></span>用法：<br />
 <br />
  -atime n<br />
              File was last accessed n*24 hours ago.  访问（读取文件或执行文件）<br />
      <br />
 -ctime n<br />
              File’s status was last changed n*24 hours ago.  写入修改 更改属主</p>
<p> -mtime n<br />
              File’s  data was last modified n*24 hours ago.  写入修改<br />
 <br />
 -amin n<br />
              File was last accessed n minutes ago.这是按分钟来算的一般不用<br />
 -cmin n<br />
              File’s status was last changed n minutes ago.</p>
<p>关于+n还是-n</p>
<p>        +n     for greater than n,  #N天以外的，N天前的</p>
<p>        -n     for less than n,     #N天以内的</p>
<p>        n      for exactly n.     #正好的</p>
<p>例子：<br />
-bash-3.2$ ll<br />
total 24<br />
-rw-r&#8211;r&#8211; 1 wss8848 member    6 2010-07-13 20:58 1.txt<br />
-rw-r&#8211;r&#8211; 1 wss8848 member   63 2010-07-11 21:08 awk.txt<br />
-rwxr&#8211;r&#8211; 1 wss8848 member  160 2010-<span style="color: #ff0000;">07-04</span> 00:00 if.sh<br />
-bash-3.2$ <span style="color: #ff0000;"><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/find/" title="View all posts in find" target="_blank">find</a></span> -atime +8</span><br />
<span style="color: #ff0000;">./if.sh</span><br />
-bash-3.2$ date<br />
Tue <span style="color: #ff0000;">Jul 13</span> 21:31:04 CST 2010<br />
-bash-3.2$</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/linux-find-atime-ctime/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux学习笔记之LVS的DR方式</title>
		<link>http://www.ipcpu.com/2010/07/lvs-dr-basic/</link>
		<comments>http://www.ipcpu.com/2010/07/lvs-dr-basic/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 11:00:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[DR]]></category>
		<category><![CDATA[LVS]]></category>
		<category><![CDATA[调度]]></category>
		<category><![CDATA[负载均衡]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=671</guid>
		<description><![CDATA[DR最常用方式，拓扑如下： client   &#124;   &#124; Internet   &#124;   &#124; Router(GW)：192.168.0.1   &#124; LB：192.168.0.3   &#124; RS1:192.168.0.4 RS2:192.168.0.5 ============================ 调度器配置 vi  /tmp/lvs.sh #!/bin/bash vip=192.168.0.200 rs1=192.168.0.4 rs2=192.168.0.5 gw=192.168.0.1 #set virttual ip address /sbin/ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up /sbin/route add -host $vip dev eth1:0 #clear ipvs tables /sbin/ipvsadm -C #set LVS  Server /sbin/ipvsadm [...]]]></description>
			<content:encoded><![CDATA[<p><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/dr/" title="View all posts in DR" target="_blank">DR</a></span>最常用方式，拓扑如下：</p>
<p>client<br />
  |<br />
  |<br />
Internet<br />
  |<br />
  |<br />
Router(GW)：192.168.0.1<br />
  |<br />
LB：192.168.0.3<br />
  |<br />
RS1:192.168.0.4<br />
RS2:192.168.0.5<br />
============================</p>
<p><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e8%b0%83%e5%ba%a6/" title="View all posts in 调度" target="_blank">调度</a></span>器配置</p>
<p>vi  /tmp/lvs.sh<br />
#!/bin/bash<br />
vip=192.168.0.200<br />
rs1=192.168.0.4<br />
rs2=192.168.0.5<br />
gw=192.168.0.1</p>
<p>#set virttual ip address<br />
/sbin/ifconfig eth0:0 $vip broadcast $vip netmask 255.255.255.255 up<br />
/sbin/route add -host $vip dev eth1:0<span id="more-671"></span></p>
<p>#clear ipvs tables<br />
/sbin/ipvsadm -C</p>
<p>#set <span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/lvs/" title="View all posts in LVS" target="_blank">LVS</a></span>  Server<br />
/sbin/ipvsadm -A -t $vip:80 -s rr<br />
/sbin/ipvsadm -a -t $vip:80 -r $rs1:80 -g<br />
/sbin/ipvsadm -a -t $vip:80 -r $rs2:80 -g</p>
<p>#run lvs<br />
/sbin/ipvsadm<br />
===============<br />
RS配置<br />
把下面四句添加在/etc/sysctl.conf 文件最后：</p>
<p>net.ipv4.conf.lo.arp_ignore = 1<br />
net.ipv4.conf.lo.arp_announce = 2<br />
net.ipv4.conf.all.arp_ignore = 1<br />
net.ipv4.conf.all.arp_announce = 2</p>
<p>sysctl -p 刷新</p>
<p>#ifconfig lo:0 192.168.1.230 netmask 255.255.255.255 broadcast</p>
<p>192.168.1.230 up</p>
<p># route add -host 192.168.1.230 dev lo:0</p>
<p>把以上二句写 /etc/rc.local 最后，避免重启再输入。</p>
<p>参考资料：</p>
<p><a href="http://g.51cto.com/88/80231">http://g.51cto.com/88/80231</a><br />
<a href="http://xuchengji.blog.51cto.com/160472/326059">http://xuchengji.blog.51cto.com/160472/326059</a><br />
<a href="http://linux.net527.cn/Linuxfuwuqijiqun/Linuxfuwuqijiqungainian/2007.h">http://linux.net527.cn/Linuxfuwuqijiqun/Linuxfuwuqijiqungainian/2007.h</a></p>
<p>tml<br />
<a href="http://bbs.linuxtone.org/thread-1077-1-1.html">http://bbs.linuxtone.org/thread-1077-1-1.html</a><br />
使用脚本操作<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/lvs/" title="View all posts in LVS" target="_blank">LVS</a></span>注意事项</p>
<p>1.系统重启后，原有数据是否保留<br />
2.重启网卡后，原有数据是否保留<br />
3.RealServer是Windwos怎么办</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/lvs-dr-basic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux快速判断网卡名称和物理位置</title>
		<link>http://www.ipcpu.com/2010/07/linux-net-adapter-name/</link>
		<comments>http://www.ipcpu.com/2010/07/linux-net-adapter-name/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 12:38:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[网卡]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=652</guid>
		<description><![CDATA[某Linux系统有两块网卡，都是Realtek 8139的卡一模一样，ifconfig看不出什么区别，如何找出对应的网卡名称和物理位置？ 方法一：给其中一个配IP地址，拿个同网段笔记本挨个试。ping测试。 方法二：把其中一个网线拔下来，插上，拔下来用dmesg查看最后一条信息 eth0: link down可判断，FreBSD测试同样可以。]]></description>
			<content:encoded><![CDATA[<p>某<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/linux/" title="View all posts in Linux" target="_blank">Linux</a></span>系统有两块<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e7%bd%91%e5%8d%a1/" title="View all posts in 网卡" target="_blank">网卡</a></span>，都是Realtek 8139的卡一模一样，ifconfig看不出什么区别，如何找出对应的<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e7%bd%91%e5%8d%a1/" title="View all posts in 网卡" target="_blank">网卡</a></span>名称和物理位置？</p>
<p>方法一：给其中一个配IP地址，拿个同网段笔记本挨个试。ping测试。</p>
<p>方法二：把其中一个网线拔下来，插上，拔下来用dmesg查看最后一条信息<br />
eth0: link down可<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e5%88%a4%e6%96%ad/" title="View all posts in 判断" target="_blank">判断</a></span>，FreBSD测试同样可以。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/linux-net-adapter-name/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Linux学习笔记之LVS二NAT方式</title>
		<link>http://www.ipcpu.com/2010/07/lvs-two-nat/</link>
		<comments>http://www.ipcpu.com/2010/07/lvs-two-nat/#comments</comments>
		<pubDate>Sat, 10 Jul 2010 12:20:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[LVS]]></category>
		<category><![CDATA[NAT]]></category>
		<category><![CDATA[学习笔记]]></category>
		<category><![CDATA[调度]]></category>
		<category><![CDATA[负载均衡]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=648</guid>
		<description><![CDATA[LVS是Linux Virtual Server的简写，意即Linux虚拟服务器，是一个虚拟的服务 器集群系统。本项目在1998年5月由章文嵩博士成立，是中国国内最早出现的自 由软件项目之一。 章文嵩现在是淘宝基础核心软件研发负责人。 =========================== VS/NAT工作方式 这是最好理解的方式 从外部请求的数据包结构如下： SOURCE 202.100.1.2:3456 DEST 202.103.106.5:80 调度器将目的地址和端口进行改写： SOURCE 202.100.1.2:3456 DEST 172.16.0.3:8000 真是服务器返回数据经过调度器 SOURCE 172.16.0.3:8000 DEST 202.100.1.2:3456 调度器在此更改源地址和端口，再发出去 SOURCE 202.103.106.5:80 DEST 202.100.1.2:3456 =========================== 问题1：能否将80口指向RealServer的其他端口8080等？ 可以，官网有例子，测试也没问题。 问题2：RealServer的网管必须指向调度器吗？ 是的。如果指向其他，数据包能出去，但源地址和请求主机中的源地址对应不起 来，会被丢弃，无法通信。所以必须通过调度器进行改写源地址。 问题3：RealServer要上网的话，调度器要做NAT？ 必然，VS/NAT方式中，调度器充当的就是路由器的角色。 问题4：VS/NAT方式性能怎样? 由于进行地址改写，大量消耗资源，性能不好，一般不用。 问题5：NAT方式能不能把 流量抛到 其他网络上 （WAN），就像nginx的反向代理 ？ 既然我们说，调度器就是路由器，那只能去调度内网接口的数据，需要被调度的资源位于内网口以内。]]></description>
			<content:encoded><![CDATA[<p><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/lvs/" title="View all posts in LVS" target="_blank">LVS</a></span>是<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/linux/" title="View all posts in Linux" target="_blank">Linux</a></span> Virtual Server的简写，意即<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/linux/" title="View all posts in Linux" target="_blank">Linux</a></span>虚拟服务器，是一个虚拟的服务</p>
<p>器集群系统。本项目在1998年5月由章文嵩博士成立，是中国国内最早出现的自</p>
<p>由软件项目之一。<br />
章文嵩现在是淘宝基础核心软件研发负责人。</p>
<p>===========================<br />
VS/<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/nat/" title="View all posts in NAT" target="_blank">NAT</a></span>工作方式</p>
<p>这是最好理解的方式</p>
<p><a href="http://www.ipcpu.com/wp-content/uploads/2010/07/RunningExample.gif"><img class="aligncenter size-full wp-image-649" title="RunningExample" src="http://www.ipcpu.com/wp-content/uploads/2010/07/RunningExample.gif" alt="" width="389" height="332" /></a></p>
<p>从外部请求的数据包结构如下：</p>
<p>SOURCE 202.100.1.2:3456 <span style="color: #339966;">DEST 202.103.106.5:80</span></p>
<p><span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e8%b0%83%e5%ba%a6/" title="View all posts in 调度" target="_blank">调度</a></span>器将目的地址和端口进行改写：</p>
<p>SOURCE 202.100.1.2:3456 <span style="color: #339966;">DEST 172.16.0.3:8000</span></p>
<p>真是服务器返回数据经过<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e8%b0%83%e5%ba%a6/" title="View all posts in 调度" target="_blank">调度</a></span>器</p>
<p><span style="color: #339966;">SOURCE 172.16.0.3:8000</span> DEST 202.100.1.2:3456</p>
<p>调度器在此更改源地址和端口，再发出去</p>
<p><span style="color: #339966;">SOURCE 202.103.106.5:80</span> DEST 202.100.1.2:3456</p>
<p>===========================</p>
<p>问题1：能否将80口指向RealServer的其他端口8080等？<br />
可以，官网有例子，测试也没问题。</p>
<p>问题2：RealServer的网管必须指向调度器吗？<br />
是的。如果指向其他，数据包能出去，但源地址和请求主机中的源地址对应不起</p>
<p>来，会被丢弃，无法通信。所以必须通过调度器进行改写源地址。</p>
<p>问题3：RealServer要上网的话，调度器要做<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/nat/" title="View all posts in NAT" target="_blank">NAT</a></span>？<br />
必然，VS/<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/nat/" title="View all posts in NAT" target="_blank">NAT</a></span>方式中，调度器充当的就是路由器的角色。</p>
<p>问题4：VS/NAT方式性能怎样?<br />
由于进行地址改写，大量消耗资源，性能不好，一般不用。</p>
<p>问题5：NAT方式能不能把 流量抛到 其他网络上 （WAN），就像nginx的反向代理 ？<br />
既然我们说，调度器就是路由器，那只能去调度内网接口的数据，需要被调度的资源位于内网口以内。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/lvs-two-nat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>unix-center体验服务器地址列表</title>
		<link>http://www.ipcpu.com/2010/07/unix-center-server-list/</link>
		<comments>http://www.ipcpu.com/2010/07/unix-center-server-list/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 13:35:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Unix]]></category>
		<category><![CDATA[地址]]></category>
		<category><![CDATA[服务器]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=614</guid>
		<description><![CDATA[免费提供Unix/Linux体验的环境 http://www.unix-center.net/（先注册） 到目前为止，本站已经正式投入使用的服务器系统如下： T1000/Solaris系统： 硬件环境：1 颗UltraSPARC T1芯片，CPU 主频为1.0 GHz，八核四线程配置8 GB内存 软件环境：Solaris 10 Update 3 for SPARC 机器域名：t1000.unix-center.net（公网），t1000-edu.unix-center.net（教育网） X4100/Solaris系统： 硬件环境：2 颗双核单线程的AMD Opteron 280芯片，CPU 主频为2.4 GHz，配置4 GB内存 软件环境：Solaris 10 Update 3 for x86/x64 机器域名：x4100.unix-center.net（公网），x4100-edu.unix-center.net（教育网） PE860/OpenSolaris系统： 硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存 软件环境：OpenSolaris 2009.06 for x86/x64 机器域名：solaris.unix-center.net（公网），solaris-edu.unix-center.net（教育网） PE860/Fedora系统： 硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存 软件环境：Fedora Core [...]]]></description>
			<content:encoded><![CDATA[<p>免费提供<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/unix/" title="View all posts in Unix" target="_blank">Unix</a></span>/<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/linux/" title="View all posts in Linux" target="_blank">Linux</a></span>体验的环境<br />
<a href="http://www.unix-center.net/">http://www.unix-center.net/</a>（先注册）</p>
<p>到目前为止，本站已经正式投入使用的<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/%e6%9c%8d%e5%8a%a1%e5%99%a8/" title="View all posts in 服务器" target="_blank">服务器</a></span>系统如下：</p>
<p>T1000/Solaris系统：<br />
硬件环境：1 颗UltraSPARC T1芯片，CPU 主频为1.0 GHz，八核四线程配置8 GB内存<br />
软件环境：Solaris 10 Update 3 for SPARC<br />
机器域名：t1000.unix-center.net（公网），t1000-edu.unix-center.net（教育网）</p>
<p>X4100/Solaris系统：<br />
硬件环境：2 颗双核单线程的AMD Opteron 280芯片，CPU 主频为2.4 GHz，配置4 GB内存<br />
软件环境：Solaris 10 Update 3 for x86/x64<br />
机器域名：x4100.unix-center.net（公网），x4100-edu.unix-center.net（教育网）</p>
<p>PE860/OpenSolaris系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存<br />
软件环境：OpenSolaris 2009.06 for x86/x64<br />
机器域名：solaris.unix-center.net（公网），solaris-edu.unix-center.net（教育网）<span id="more-614"></span></p>
<p>PE860/Fedora系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存<br />
软件环境：Fedora Core 10<br />
机器域名：fedora.unix-center.net（公网），fedora-edu.unix-center.net（教育网）</p>
<p>PE860/Ubuntu系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存<br />
软件环境：Ubuntu 8.04<br />
机器域名：ubuntu.unix-center.net（公网），ubuntu-edu.unix-center.net（教育网）</p>
<p>PE860/FreeBSD系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置8 GB内存<br />
软件环境：FreeBSD 6.2<br />
机器域名：freebsd.unix-center.net（公网），freebsd-edu.unix-center.net（教育网）</p>
<p>P510/AIX系统：<br />
硬件环境：2 颗双核单线程的Power 5芯片，CPU 主频为2.0 GHz，配置2 GB内存<br />
软件环境：AIX 5 Release 3<br />
机器域名：aix.unix-center.net（公网），aix-edu.unix-center.net（教育网）</p>
<p>龙芯福珑系统：<br />
硬件环境： 3 台配置龙芯2E处理器的龙芯福珑计算机，CPU 主频为666 MHz，配置256 MB内存<br />
软件环境：Debian <span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/linux/" title="View all posts in Linux" target="_blank">Linux</a></span> for MIPS<br />
机器域名：仅限内网连接</p>
<p>PE860/MySQL系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置4 GB内存<br />
软件环境：Solaris 10 Update 3 for x86/x64, MySQL 6<br />
机器域名：mysql （内网）</p>
<p>PE860/AMP系统：<br />
硬件环境：1 颗双核单线程的Intel Xeon 3050芯片，CPU 主频为2.13 GHz，配置4 GB内存<br />
软件环境：Fedora Core 10<br />
机器域名：my.unix-center.net</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/unix-center-server-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>linux学习笔记之iptables</title>
		<link>http://www.ipcpu.com/2010/07/linux-iptables-2010-07/</link>
		<comments>http://www.ipcpu.com/2010/07/linux-iptables-2010-07/#comments</comments>
		<pubDate>Sat, 03 Jul 2010 13:22:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[学习笔记]]></category>

		<guid isPermaLink="false">http://www.ipcpu.com/?p=609</guid>
		<description><![CDATA[表和链的关系 一共三个表，每个表有好几个链，每个链有很多规则 表和链如下： filter：INPUT FORWARD OUTPUT nat：PREROUTING OUTPUT POSTROUTING mangle：不知道，没用过 常用命令： iptables Commands:   &#8211;append  -A chain            #Append to chain     #在链尾插入一条规则   &#8211;delete  -D chain            #Delete matching rule from chain   &#8211;delete  -D chain rulenum    #删除规则                                 #Delete rule rulenum (1 = first) from chain   &#8211;insert  -I chain [rulenum]  #在特定条目前插入规则                                 #Insert in chain [...]]]></description>
			<content:encoded><![CDATA[<p><strong>表和链的关系</strong></p>
<p>一共三个表，每个表有好几个链，每个链有很多规则</p>
<p>表和链如下：</p>
<p>filter：INPUT FORWARD OUTPUT<br />
nat：PREROUTING OUTPUT POSTROUTING<br />
mangle：不知道，没用过</p>
<p>常用命令：<br />
<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/iptables/" title="View all posts in iptables" target="_blank">iptables</a></span><br />
<strong>Commands:</strong></p>
<p>  &#8211;append  -A chain            #Append to chain<br />
    #在链尾插入一条规则<br />
  &#8211;delete  -D chain            #Delete matching rule from chain<br />
  &#8211;delete  -D chain rulenum    #删除规则<br />
                                #Delete rule rulenum (1 = first) from chain<br />
  &#8211;insert  -I chain [rulenum]  #在特定条目前插入规则<br />
                                #Insert in chain as rulenum (default 1=first)<br />
  &#8211;replace -R chain rulenum    #替换某条规则<br />
                                #Replace rule rulenum (1 = first) in chain<br />
  &#8211;list    -L [chain [rulenum]]#显示规则<br />
                                #List the rules in a chain or all chains<br />
  &#8211;flush   -F [chain]          #清空所有规则<span id="more-609"></span><br />
    #Delete all rules in  chain or all chains<br />
  &#8211;zero    -Z [chain]          #Zero counters in chain or all chains<br />
    #清空计数器<br />
  &#8211;delete-chain  #清空链的内容<br />
            -X [chain]          #Delete a user-defined chain<br />
  &#8211;policy  -P chain target #更改默认策略（DROP ACCEPT）<br />
                                #Change policy on chain to target<br />
<strong> <br />
Options:</strong><br />
  &#8211;proto       -p [!] proto    #protocol协议<br />
  &#8211;source      -s [!] address[/mask]<br />
                                #source specification源地址<br />
  &#8211;destination -d [!] address[/mask]<br />
                                #destination specification目的地址<br />
  &#8211;in-interface -i [!] input name[+]<br />
                                #network interface name ([+] for wildcard)入口网卡名称<br />
  &#8211;jump        -j target<br />
                                #target for rule (may load target extension)动作<br />
 <br />
  &#8211;match       -m match<br />
                                #extended match (may load extension)匹配<br />
  &#8211;numeric     -n              #numeric output of addresses and ports<br />
  &#8211;out-interface -o [!] output name[+]<br />
                                #network interface name ([+] for wildcard)指定出接口<br />
  &#8211;table       -t table        #table to manipulate (default: `filter&#8217;)指定表名<br />
  &#8211;verbose     -v              #verbose mode<br />
  &#8211;line-numbers                #print line numbers when listing显示行号<br />
  &#8211;exact       -x              #expand numbers (display exact values)<br />
  &#8211;fragment    -f              #match second or further fragments only<br />
  &#8211;modprobe=&lt;command&gt;          #try to insert modules using this command<br />
  &#8211;version     -V              #print package version.显示版本号</p>
<p>保存<br />
<span class='wp_keywordlink_affiliate'><a href="http://www.ipcpu.com/tag/iptables/" title="View all posts in iptables" target="_blank">iptables</a></span>-save<br />
service iptables save<br />
效果是把当前配置保存成/etc/sysconfig/iptables，原配置备份成old。</p>
<p><strong>常见规则</strong></p>
<p><strong>1.拒绝所有</strong><br />
iptables -F<br />
iptables -t nat -F              #清空原有规则<br />
iptables -P INPUT DROP<br />
  -P FORWARD DROP<br />
iptables -t nat -P PREROUTING ACCEPT<br />
    #默认策略，拒绝所有</p>
<p><strong>2.允许环回口</strong></p>
<p>iptables -A INPUT -i lo -j ACCEPT</p>
<p><strong>3.状态化连接设置</strong></p>
<p>iptables -A INPUT -m state &#8211;state ESTABLISHED,RELEATED -j ACCEPT<br />
iptables -A FORWARD -m state &#8211;state ESTABLISHED,RELEATED -j ACCEPT</p>
<p><strong>4.允许DNS、HHTP、ICMP穿越</strong></p>
<p>iptables -A FORWARD -p udp &#8211;dport 53 -j ACCEPT<br />
iptables -A FORWARD -p udp &#8211;dport 80 -j ACCEPT<br />
iptables -A FORWARD -p icmp -j ACCEPT<br />
TCP的DNS一般不用做，要是不放心，自己添加<br />
QQ可以通过80口登录，要彻底禁止需要封腾讯IP</p>
<p><strong>5.转跳（透明代理，计费网关）</strong></p>
<p>iptables -A PREROUTING -i eth1 -p tcp -m tcp –dport 80</p>
<p>-j REDIRECT –to-ports 3128</p>
<p><strong>6.NAT（网关）</strong></p>
<p>iptables -t nat -A POSTROUTING -s 192.168.100.17 -j SNAT &#8211;to-destination 205.254.211.17<br />
iptables -t nat -A POSTROUTING -s 192.168.100.17 -j MASQUERADE</p>
<p><strong>7.DNAT（内部发布网站）</strong></p>
<p>iptables -t nat -A PREROUTING -i eth2 -p tcp &#8211;dport 80<br />
-j DNAT &#8211;to-destination 192.168.0.3:8080</p>
<p>iptables -A FORWARD -p tcp &#8211;dport 8080 -j ACCEPT</p>
<p>看清这两条规则，注意表和链的顺序<br />
可参考：<a href="http://redking.blog.51cto.com/27212/143185">http://redking.blog.51cto.com/27212/143185</a></p>
<p>======================================</p>
<p>新补充资料 2010-07-12</p>
<p><strong>Iptables的规则表和链：<br />
</strong>Iptables采用“表”和“链”的分层结构。在REHL4中是三张表五个链。现在REHL5成了四张表五个链了，不过多出来的那个表用的也不太多，所以基本还是和以前一样。下面罗列一下这四张表和五个链。注意一定要明白这些表和链的关系及作用，因为很多的人就是在这一块不清楚。万一不行就把它背下来在慢慢地去体会。<br />
<strong>规则表:</strong><br />
1.       filter表——三个链：INPUT、FORWARD、OUTPUT<br />
作用：过滤数据包  内核模块：iptables_filter.<br />
2.       Nat表——三个链：PREROUTING、POSTROUTING、OUTPUT<br />
作用：用于网络地址转换（IP、端口） 内核模块：iptable_nat<br />
3.       Mangle表——五个链：PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD<br />
作用：修改数据包的服务类型、TTL、并且可以配置路由实现QOS<br />
内核模块：iptable_mangle<br />
(别看这个表这么麻烦，咱们设置策略时几乎都不会用到它)<br />
4.       Raw表——两个链：OUTPUT、PREROUTING<br />
作用：决定数据包是否被状态跟踪机制处理  内核模块：iptable_raw<br />
(这个是REHL4没有的，不过不用怕，用的不多)<br />
<strong>规则链：</strong><br />
1.       INPUT——进来的数据包应用此规则链中的策略<br />
2.       OUTPUT——外出的数据包应用此规则链中的策略<br />
3.       FORWARD——转发数据包时应用此规则链中的策略<br />
4.       PREROUTING——对数据包作路由选择前应用此链中的规则<br />
（记住！所有的数据包进来的时侯都先由这个链处理）<br />
5.       POSTROUTING——对数据包作路由选择后应用此链中的规则<br />
<strong>规则表之间的优先顺序：</strong><br />
Raw——mangle——nat——filter<br />
<strong>规则链之间的优先顺序（分三种情况）：</strong><br />
第一种情况：入站数据流向<br />
从外界到达防火墙的数据包，先被PREROUTING规则链处理（是否修改数据包地址等），之后会进行路由选择（判断该数据包应该发往何处），如果数据包的目标主机是防火墙本机（比如说Internet用户访问防火墙主机中的web服务器的数据包），那么内核将其传给INPUT链进行处理（决定是否允许通过等），通过以后再交给系统上层的应用程序（比如Apache服务器）进行响应。<br />
第二冲情况：转发数据流向<br />
来自外界的数据包到达防火墙后，首先被PREROUTING规则链处理，之后会进行路由选择，如果数据包的目标地址是其它外部地址（比如局域网用户通过网关访问QQ站点的数据包），则内核将其传递给FORWARD链进行处理（是否转发或拦截），然后再交给POSTROUTING规则链（是否修改数据包的地址等）进行处理。<br />
第三种情况：出站数据流向<br />
防火墙本机向外部地址发送的数据包（比如在防火墙主机中测试公网DNS服务器时），首先被OUTPUT规则链处理，之后进行路由选择，然后传递给POSTROUTING规则链（是否修改数据包的地址等）进行处理。</p>
<p>参考资料：<a href="http://zpp2009.blog.51cto.com/730423/285192">http://zpp2009.blog.51cto.com/730423/285192</a></p>
<p>资料来源于互联网，如有错误，敬请指正，谢谢！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ipcpu.com/2010/07/linux-iptables-2010-07/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
