iptables的参数设定

运维 系统运维
iptables在Red Hat上的安装:为了运行iptables,需要在内核配置期间,选择一些选项,无论用什么命令。本文讲述的是iptables在Red Hat上的安装

iptables设定

  iptables-save用来把当前的规则存入一个文件里以备iptables-restore使用。它的使用很简单,只有两个参数:

  1.   iptables-save [-c] [-t table]  
  2.  

  参数-c的作用是保存包和字节计数器的值。这可以使我们在重启防火墙后不丢失对包和字节的统计。带-c参数的iptables-save命令使重启防火墙而不中断统计记数程序成为可能。这个参数默认是不使用的。

  参数-t指定要保存的表,默认是保存所有的表。下面给出未装载任何规则的情况下iptables-save的输出。

  1.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002  
  2.  
  3.   *filter  
  4.  
  5.   :INPUT ACCEPT [404:19766]  
  6.  
  7.   :FORWARD ACCEPT [0:0]  
  8.  
  9.   :OUTPUT ACCEPT [530:43376]  
  10.  
  11.   COMMIT  
  12.  
  13.   # Completed on Wed Apr 24 10:19:17 2002  
  14.  
  15.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002  
  16.  
  17.   *mangle  
  18.  
  19.   :PREROUTING ACCEPT [451:22060]  
  20.  
  21.   :INPUT ACCEPT [451:22060]  
  22.  
  23.   :FORWARD ACCEPT [0:0]  
  24.  
  25.   :OUTPUT ACCEPT [594:47151]  
  26.  
  27.   :POSTROUTING ACCEPT [594:47151]  
  28.  
  29.   COMMIT  
  30.  
  31.   # Completed on Wed Apr 24 10:19:17 2002  
  32.  
  33.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:17 2002  
  34.  
  35.   *nat  
  36.  
  37.   :PREROUTING ACCEPT [0:0]  
  38.  
  39.   :POSTROUTING ACCEPT [3:450]  
  40.  
  41.   :OUTPUT ACCEPT [3:450]  
  42.  
  43.   COMMIT  
  44.  
  45.   # Completed on Wed Apr 24 10:19:17 2002  
  46.  

  我们来解释一下这个输出格式。#后面的是注释。表都以* 开始,例如*mangle。每个表都包含链和规则,链的详细说明是: [ :]。例如,链的名字是 PREROUTING,策略是ACCEPT,然后是包记数器和字节计数器,这两个计数器和iptables -L -v输出中用到的计数器一样。每个表的描述都以关键字COMMIT结束,它说明在这一点,就要把规则装入内核了。

  上面的例子是最基本的,我想用一个简短的例子说明会更好,其中包含一个非常小的规则集Iptables-save ruleset。iptables-save的输出如下:

  1.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002  
  2.  
  3.   *filter  
  4.  
  5.   :INPUT DROP [1:229]  
  6.  
  7.   :FORWARD DROP [0:0]  
  8.  
  9.   :OUTPUT DROP [0:0]  
  10.  
  11.   -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT  
  12.  
  13.   -A FORWARD -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT  
  14.  
  15.   -A FORWARD -i eth1 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT  
  16.  
  17.   -A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT  
  18.  
  19.   COMMIT  
  20.  
  21.   # Completed on Wed Apr 24 10:19:55 2002  
  22.  
  23.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002  
  24.  
  25.   *mangle  
  26.  
  27.   :PREROUTING ACCEPT [658:32445]  
  28.  
  29.   :INPUT ACCEPT [658:32445]  
  30.  
  31.   :FORWARD ACCEPT [0:0]  
  32.  
  33.   :OUTPUT ACCEPT [891:68234]  
  34.  
  35.   :POSTROUTING ACCEPT [891:68234]  
  36.  
  37.   COMMIT  
  38.  
  39.   # Completed on Wed Apr 24 10:19:55 2002  
  40.  
  41.   # Generated by iptables-save v1.2.6a on Wed Apr 24 10:19:55 2002  
  42.  
  43.   *nat  
  44.  
  45.   :PREROUTING ACCEPT [1:229]  
  46.  
  47.   :POSTROUTING ACCEPT [3:450]  
  48.  
  49.   :OUTPUT ACCEPT [3:450]  
  50.  
  51.   -A POSTROUTING -o eth0 -j SNAT --to-source 195.233.192.1  
  52.  
  53.   COMMIT  
  54.  
  55.   # Completed on Wed Apr 24 10:19:55 2002  
  56.  

  每个命令前都有包和字节计数器,这说明使用了-c参数。除了有计数器,其他的都和普通的脚本一样。现在的问题是怎么把输出保存到文件中。非常简单,既然使用linux,你应该早就知道了,用重定向啊:

  iptables-save -c > /etc/iptables-save

  这就会把规则集保存到/etc/iptables-save中,而且还有计数器。

【编辑推荐】

iptables内核配置

Iptables相关命令说明

Iptables相关命令

责任编辑:zhaolei 来源: lupaworld
相关推荐

2010-03-29 16:31:48

2010-03-02 13:28:58

Linux setit

2011-03-18 10:16:20

iptablesman文档中文

2010-05-13 09:40:08

2011-03-15 09:59:57

2011-03-15 09:02:01

IPtables常用命令

2010-09-06 10:50:50

CSS边框

2010-09-07 15:20:46

pppoe serve

2010-07-27 17:03:33

2011-03-18 09:26:13

Iptables规则

2010-05-20 10:18:41

MySQL字符集设定

2011-03-16 11:17:56

IptablesICMP

2011-03-14 14:40:11

iptables编译

2010-08-06 12:47:18

Linux NFS

2010-07-12 17:23:14

2011-03-02 13:33:44

Pureftpd.co

2011-03-16 11:12:06

Iptables

2011-03-18 08:52:23

Iptables

2011-03-16 09:30:47

iptables过滤

2011-03-15 09:59:54

点赞
收藏

51CTO技术栈公众号