Linux防火墙介绍(一)(2)

时间:2017-08-13 我要投稿
; 指定本规则对匹配数据包的处理策略:ACCEPT、DENY或REJECT。-l            在系统日志/var/log/messages中记录与该规则匹配的数据包。
#ipchains –A input –s 201.202.203.58/32 www –p tcp –j DENY地址201.202.203.58送到www(HTTP)端口的任何TCP包都将被屏蔽。先创建一个名为check的新链,然后再把所有发送到输入链的包送到check链:#ipchains –N check#ipchains –A check –s 201.202.203.0/24 –j ACCEPT#ipchains –A check –s !201.202.203.0/24 –j DENY#ipchains –A input –j check系统会接受(只会接受)从201.202.203.0发送的所有软件包,式中感叹号(!)代表的意思是“非”,匹配“非201.202.203.0端口”。禁止telnet(端口23)连接:#ipchains –I forward –s 0.0.0.0 23 –j DENY
Iptables的规则要素:
指定表(table)
指定操作命令(command)
指定链(chains)
指定规则匹配器(matcher)
指定目标动作(target)
表。Iptables从其使用的3个表而得名,分别是filter、nat和mangle。对于包过滤防火墙只使用filter表。表filter是默认的表。
操作命令。包括添加、删除、更新等。
链。对于包过滤防火墙可操作filter表中的INPUT链、OUTPUT链和FORWARD链。也可以操作由用户自己定义的自定义链。
规则匹配器。可以指定各种规则匹配,如IP地址、端口、包类型等。
目标动作。当规则匹配一个包时,真正要执行的任务用目标标识。最常用的内置目标分别是:
ACCEPT表示允许包通过。
DROP表示被丢弃。
REJECT表示拒绝包,丢弃包的同时给发送者发送没有接受的通知。
LOG表示包的有关信息被记录入日志。
TOS表示改写包的ToS的值。
Iptables的语法通常可以简化为:iptables[-t table]CMD[chain][rule-matcher][-j target]其中:table为表名,CMD为操作命令,chain为链名,rule-matcher为规则匹配器,target为目标动作。
操作命令:
-A 或—append  在所选链的链尾加入一条或多条规则-D 或—delete  从所选链中删除一条或多条匹配的规则-R 或—replace 在所选链中替换一条匹配的规则-I 或—insert  以给出的规则号在所选链中插入一条或多条规则。如果规则号是1,插入的规则在链的头部-L 或—list  列出指定链的所有规则。如果没有指定链,将列出所有链中的所有规则-F 或—flush  清除指定链和表中的所有规则。假如不指定链,那么所有链都将被清空-N 或—new-chain 以给定的名字创建一条新的用户自定义链。不能与已有的链同名-X 或—delete-chain 删除指定的用户定义链,必须保证链中的规则都不在使用时才能删除链。若没有指定链,则删除所有的用户链-P 或—policy  为永远链指定默认规则(内置链策略)。用户定义链没有缺省规则也是规则链中的最后一条规则,用-L命令显时它在第一行显示-C 或—check  检查给定的包是否与指定链的规则相匹配-Z 或—zero  将指定链中所有的包字节记数器清零
规则匹配器:
-P,[!]protocol  指定要匹配的协议,可以是tcp、udp、icmp、all。协议名前缀“!”为逻辑非,表示除去该协议之外的所有协议。-s[!]address[/mask] 根据源地址或地址范围确定是否允许或拒绝数据包通过过滤器--sport[!]port[:port] 指定匹配规则的源端口或端口范围。可以用端口好,也可以用/etc/services文件中的文字-d[!]address[/mask] 根据目的地址或地址范围确定是否允许或拒绝数据包通过过滤器--dport[!]port[:port] 指定匹配规则的目的端口或端口范围。可以用端口号,也可以用/etc/services文件中的名字--icmp-type[1]typename  指定匹配规则的ICMP信息类型(可以使用iptables –p icmp –h 查看有效的icmp类型名)
Iptables软件包提供了两个命令分别用于保存和恢复规则集。可以使用命令转储在内存中的内核规则集。其中/etc/sysconfig/iptables是iptables守护进程调用的默认规则集文件:#/sbin/iptables-save>/etc/sysconfig/iptables要恢复原来的规则库,需使用命令:#/sbin/iptables-restore</etc/sysconfog/iptables为了使用得用iptables命令配置的规则在下次启动机器时还能被使用,有两种方法。
使用iptables得启动脚本实现。Iptables的启动脚本/etc/rc.d/init.d/iptables每次启动时都使用/etc/sysconfig/iptables所提供的规则进行规则恢复,并可以使用命令保存规则:#service iptables save
在自定义脚本中用iptables命令直接创建规则集。可以直接用iptables命令编写一个规则脚本,并在启动时执行这个脚本。若规则脚本的文件名为/etc/fw/rules,则可以在启动脚本/etc/rc.d/rc.local中加入的代码:if[-x /etc/fw/rules];then /etc/fw/rules;fi;如果使用此种方式,建议使用ntsysv命令关闭系统的iptables守护进程。

建立包过滤防火墙

  这个网络结构假设内部网有有效的Internet地址。为了将内部网段198.168.80.0/24与Internet隔离,在内部网络和 Internet之间使用了包过滤防火墙。防火墙的网接口是eth1(198.168.80.254),防火墙的Internet接口是eth0 (198.199.37.254)。加外,内网中有3台服务器对外提供服务。分别为:
WWW服务器:IP地址为198.168.80.251
FTP服务器:IP地址为198.168.80.252
E-mail服务器:IP地址为198.168.80.253
防火墙的建立过程
#!/sbin/bash在屏幕上显示信息:echo "Starting iptables rules..."#开启内核转发功能echo "1">;/proc/sys/net/

Linux防火墙介绍(一)(2)相关推荐
最新推荐
热门推荐