什么是raw表?做什么用的? iptables有5个链:PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING,4个表:filter,nat,mangle,raw. 4个表的优先级由高到低的顺序为:raw–>mangle–>nat–>filter 举例来说:如果PRROUTING链上,即有mangle表,也有nat表,那么先由mangle处理,然后由nat表处理 RAW表只使用在PREROUTING链和OUTPUT链上,因为优先级最高,从而可以对收到的数据包在连接跟踪前进行处理。一但用户使用了RAW表,在某个链上,RAW表处理完后,将跳过NAT表和 ip_conntrack处理,即不再做地址转换和数据包的链接跟踪处理了. RAW表可以应用在那些不需要做nat的情况下,以提高性能。如大量访问的web服务器,可以让80端口不再让iptables做数据包的链接跟踪处理,以提高用户的访问速度。 iptables的数据包的流程是怎样的? (流程介绍来源:http://selboo.com.cn/post/721/) 一个数据包到达时,是怎么依次穿过各个链和表的(图)。 基本步骤如下: 数据包到达网络接口,比如 eth0。 进入 raw 表的 PREROUTING 链,这个链的作用是赶在连接跟踪之前处理数据包。 如果进行了连接跟踪,在此处理。 进入 mangle 表的 PREROUTING 链,在此可以修改数据包,比如 TOS 等。 进入 nat 表的 PREROUTING 链,可以在此做DNAT,但不要做过滤。 决定路由,看是交给本地主机还是转发给其它主机。 到了这里我们就得分两种不同的情况进行讨论了,一种情况就是数据包要转发给其它主机,这时候它会依次经过: 进入 mangle 表的 FORWARD 链,这里也比较特殊,这是在第一次路由决定之后,在进行最后的路由决定之前,我们仍然可以对数据包进行某些修改。 进入 filter 表的 FORWARD 链,在这里我们可以对所有转发的数据包进行过滤。需要注意的是:经过这里的数据包是转发的,方向是双向的。 进入 mangle 表的 POSTROUTING 链,到这里已经做完了所有的路由决定,但数据包仍然在本地主机,我们还可以进行某些修改。 进入 nat 表的 POSTROUTING 链,在这里一般都是用来做 SNAT ,不要在这里进行过滤。 进入出去的网络接口。完毕。 另一种情况是,数据包就是发给本地主机的,那么它会依次穿过: 进入 mangle 表的 INPUT 链,这里是在路由之后,交由本地主机之前,我们也可以进行一些相应的修改。 进入 filter 表的 INPUT 链,在这里我们可以对流入的所有数据包进行过滤,无论它来自哪个网络接口。 交给本地主机的应用程序进行处理。 处理完毕后进行路由决定,看该往那里发出。 进入 raw 表的 OUTPUT 链,这里是在连接跟踪处理本地的数据包之前。 连接跟踪对本地的数据包进行处理。 进入 mangle 表的 OUTPUT 链,在这里我们可以修改数据包,但不要做过滤。 进入 nat 表的 OUTPUT 链,可以对防火墙自己发出的数据做 NAT 。 再次进行路由决定。 进入 filter 表的 OUTPUT 链,可以对本地出去的数据包进行过滤。 进入 mangle 表的 POSTROUTING 链,同上一种情况的第9步。注意,这里不光对经过防火墙的数据包进行处理,还对防火墙自己产生的数据包进行处理。 进入 nat 表的 POSTROUTING 链,同上一种情况的第10步。 进入出去的网络接口。完毕。 iptables raw表的使用 增加raw表,在其他表处理之前,-j NOTRACK跳过其它表处理 状态除了以前的四个还增加了一个UNTRACKED

阅读全文

在linux下有一个strace命令,可以用来追踪程序或进程的执行过程,从中查找和追踪程序的bug,及运行中的瓶颈等。

命令用法,主要有两种方式:

  1. strace 程序

strace会运行这个程序,并追踪。

  1. strace -p pid

这是追踪一个已经运行的程序。

另外还有一些参数也很有用,如-c可以生成一个统计结果,-o file可以把追踪信息输出到一个文件内。

阅读全文

Dell OpenManage可以查看dell服务器各个部件的运行状态,并且有配置存储,远程管理等功能,对远程管理服务器非常有用,之前只在windows 2003上安装过,在windows下安装起来很简单,今天因为要配置服务器的iDARC,又不能重启服务器,所以就在centos linux系统上安装了dell OpenManage,碰到了点麻烦,在这里记录下:

wget http://ftp.us.dell.com/sysman/OM_6.1.0_ManNode_A00.tar.gz
tar xvzf OM_6.1.0_ManNode_A00.tar.gz
cd linux/supportscripts
sh srvadmin-install.sh -x

提示:Unsupported Operating System. Can not proceed….

阅读全文

基本上所有的Dell服务器都带有iDRAC功能,利用它可以完成远程开机和关机等操作,非常方便,得少跑多少机房呀。哈哈。

iDRAC配置:

有两个方法可以配置

1) 服务器开机的时候有个提示Ctrl+E进去配置iDRAC,按Ctrl+E进去,配置好IP地址,Netmask,用户,密码等。

2)安装Dell openManage Server Administrator,进入Dell openManage Server Administrator,在系统->主系统机箱->远程访问内也可以配置。

阅读全文

有些网卡的中断没有用到多个cpu,只用到一个CPU,导致那个cpu的软中断是100%,系统缓慢。

[root@web ~]# cat /proc/interrupts
CPU0       CPU1      
0:  939474003          0    IO-APIC-edge  timer
1:          7          2    IO-APIC-edge  i8042
6:          2          3    IO-APIC-edge  floppy
7:          0          0    IO-APIC-edge  parport0
8:          1          0    IO-APIC-edge  rtc
9:          0          0   IO-APIC-level  acpi
12:          0        116    IO-APIC-edge  i8042
15:   47539568      94428    IO-APIC-edge  ide1
51:    4557238      12181   IO-APIC-level  ioc0
59:          0          0   IO-APIC-level  vmci
75:  101314205          0         PCI-MSI  eth0
NMI:          0          0
LOC:  998113903  999592029
ERR:          0
MIS:          0

阅读全文

抓哪个进程干坏事前要先停掉syslogservice syslog stop

打开block dump:echo 1 > /proc/sys/vm/block_dump

统计:

dmesg | egrep “READ|WRITE|dirtied” | egrep -o ‘([a-zA-Z]*)’ | sort | uniq -c | sort -rn | head
1423 kjournald
1075 pdflush
209 indexer
3 cronolog
1 rnald
1 mysqld

阅读全文

作者的图片

阿辉

容器技术及容器集群等分布式系统研究

容器平台负责人

上海