LINUX环境下iptables安装及应用技巧

一、iptanles介绍

iptables 是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。Linux中使用netfilter/iptanles架构实现网络防火墙的基本功能。

iptables是Linux系统中为用户提供的netfilter管理工具,用于实现对Linux内核中网络防火墙的管理。

二、iptables规则表

  iptables缺省具有3个规则表
–Filter:用于设置包过滤
–NAT:用于设置地址转换
–Mangle:用于设置网络流量整形等应用
不同的规则表由不同的规则链组成
–Filter:INPUT、FORWARD、OUTPUT
–NAT:PREROUTING、POSTROUTING、OUTPUT
–Mangle:PREROUTING、POSTROUTING、INPUT、OUTPUT和FORWARD
三、iptables的安装
1.检查iptables是否已经安装
在默认情况下,iptables已经被安装好了。可以使用rpm -qa命令来查看默认安装了那些软件。
#rpm -qa | grep iptables
2.iptables服务的启动
#server iptables start
3.iptables服务的停止
#server iptables stop
4.iptables服务的重新启动
#server iptables restart
5.自动加载iptables服务
(1)chkconfig。

    使用chkconfig命令自动加载iptables服务,如下所示。

#chkconfig --level 3 iptablea on #运行级别3自动加载
#chkconfig --level 3 iptables off #运行级别3不自动加载

(2)ntsysv。

使用ntsysv命令,利用文本图形界面对iptables自动加载进行配置。


四、iptables的基本语法

如果想灵活运用iptables来加固系统安全的话,就必须熟练地掌握iptables的语法格式。

iptables的语法格式如下。


     1.表选项

   iptables内置了filter、nat和mangle3张表,使用-t参数来设置对哪张表生效。例如,如果对nat表设置规则的话,可以在-t参数后面加上nat,如下      所示。


-t参数是可以省略的,如果省略了-t参数,则表示对filter表进行操作。例如:


2.命令选项

命令选项是指定对提交的规则要做什么样的操作。例如添加/删除规则,或者查看规则列表等。下面先来介绍一些最为常用的命令。

(1)-P或--policy。

作用:定义默认的策略,所有不符合规则的包都被强制使用这个策略。例如:

iptables  -t  filter   -P  INPUT   DROP

注意:只有内建的链才可以使用规则。

(2)-A或--append。

作用:在所选择的链的最后添加一条规则。例如:

iptables   -A  OUTPUT  -p  tcp --sport   22   DROP

(3)-D或--delete。

作用:从所选链中删除规则。例如:

iptables   -D  OUTPUT   1

注意:删除规则的时候可以把规则完整写出来删除,就像创建规则时一样,但是更快的是指定规则在所选链中的序号。

(4)-L或--list。

作用:显示所选链的所有规则。如果没有指定链,则显示指定表中的所有链。例如:

iptables   -t   nat   -L

    注意:如果没有指定-t参数,就显示默认表filter中的所有链。

(5)-F或--flush。

作用:清空所选的链中的规则。如果没有指定链,则清空指定表中的所有链的规则。例如:

iptables   -F   OUTPUT

(6)-I或--insert。

作用:根据给出的规则序号向所选链中插入规则。如果序号为1,规则会被插入链的头部。如果序号为2,则表示将规则插入第二行,依次类推。例如:

iptables   -I  INPUT   2   -p  tcp  --dport  80   -j    ACCEPT

注意:iptables对参数的大小写敏感,也就是说大写的参数-P和小写的参数-p表示不同的意思。

(1)-p或--protocol。

作用:匹配指定的协议。例如:

iptables    -A  INPUT   -p  udp -j   DROP

注意:设置协议时可以使用它们对应的整数值。例如ICMP的值是1,TCP是6,UDP是17,默认设置为ALL,相应数值是0,仅代表匹配TCP、UDP和ICMP协议。

(2)--sport或--source-port。

作用:基于TCP包的源端口来匹配包,也就是说通过检测数据包的源端口是不是指定的来判断数据包的去留。例如:

iptables  -A   INPUT  -p  tcp  --sport   80  -j ACCEPT

注意:如果不指定此项,则表示针对所有端口。

(3)--dport或 --destination-port。

作用:基于TCP包的目的端口来匹配包,也就是说通过检测数据包的目的端口是不是指定的来判断数据包的去留。端口的指定形式和--sport完全一样。例        如:


(4)-s或--src或--source。

作用:以IP源地址匹配包。例如:

    

注意:在地址前加英文感叹号表示取反,注意空格,如:-s !192.168.0.0/24表示除此地址外的所有地址。

(5)-d或--dst或--destination。

作用:基于TCP包的目的端口来匹配包,也就是说通过检测数据包的目的端口是不是指定的来判断数据包的去留。端口的指定形式和-sport一致。例如:

iptables  -I  OUTPUT  -d  192.168.1.0/24   -j  ACCEPT

(6)-i或--in-interface

作用:以数据包进入本地所使用的网络接口来匹配。例如:

iptables  -A INPUT  -i  eth0 -j  ACCEPT

注意:这个匹配操作只能用于INPUT、FORWARD和PREROUTING这3个链,否则会报错。在接口前加英文感叹号表示取反,注意空格,如:-i  !eth0意思是匹       配来自eth0外的所有数据包

(7)-o或--out-interface

作用:以包离开本地所使用的网络接口来匹配包。接口的指定形式和-i一致。例如:

iptables  -A   OUTPUT      -o  eth1    -j    ACCEPT

3.保存规则与恢复

      iptables提供了两个很有用的工具来保存和恢复规则,这在规则集较为庞大的时候非常实用。它们分别是iptables-save和iptables-restore。

iptables-save用来保存规则,它的用法比较简单,命令格式如下。


-c:保存包和字节计数器的值。这可以使在重启防火墙后不丢失对包和字节的统计。

-t:用来选择保存哪张表的规则,如果不跟-t参数则保存所有的表。

可以使用重定向命令来保存这些规则集,如下所示。


iptables-restore用来装载由iptables-save保存的规则集。其命令格式如下所示。


-c:如果加上-c参数,表示要求装入包和字节计数器。

-n:表示不要覆盖已有的表或表内的规则。默认情况是清除所有已存在的规则。

使用重定向来恢复由iptables-save保存的规则集,如下所示。


所有的添加、删除、修改规则都是临时生效。当重新启动系统后,恢复成原有的配置,如果想保持所做的修改在重新启动系统后依旧生效,可以使用以下命令来保存iptables的规则配置,如下所示。









  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值