一、iptables的软件包组成
1、在LINUX的网络防火墙管理中,netfilter功能是由LINUX内核实现的,而iptables管理工具需要安装名为iptables的软件包,该软件包在RHEL4系统中是默认安装的,可以使用rpm命令查询iptables软件包的信息。
#rpm -q iptables
2、iptables服务的启动与停止
#service iptables start|stop|restart|status
3、查看防火墙的基本状态
iptables [-t tables] -L
"iptables -L" 命令默认显示filter规则表的内容,如果需要显示其他的规则表需要使用-t选项指定规则表的名称。
二、iptables防火墙的手动配置过程
1、#iptables-save [> ipt.v1] 保存设置到指定文件
2、使用iptables-restore命令恢复设置
#iptables-restore < ipt.v1
3、使用iptables脚本保存防火墙设置
当管理员已经对LINUX防火墙设置完毕,并且需要永久保存防火墙的设置时,需要使用iptables启动脚本将设置内容保存到/etc/sysconfig/iptables文件中。在进行保存之前最好先将/etc/sysconfig/iptables文件的原有内容进行备份,以便出现错误时进行恢复。
#cp /etc/sysconfig/iptables iptables.bak
#service iptables save
4、使用防火墙的配置工具
#system-config-securitylevel-tui
三、iptables命令的使用
1、查看规则表和规则链的命令格式如下:
iptables [-t tables] -[L] [chain] [options]
2、清空表中的规则
iptables使用-F选项将清空规则表中所有规则链的规则,但是该命令不删除已经存在的规则链。
#iptables -F
3、删除表中的自定义规则链
iptables -X命令用于删除指定的规则链,如果不指定规则链名称作为参数,将删除表中的所有的自定义规则链。
#iptables -X
iptables -X命令通常与iptables -F命令一同使用,用于在重新设置防火墙规则之前对防火墙进行初始化。
4、添加规则
iptables -A命令用于为指定的规则链末尾添加规则,在添加规则的命令中使用-A选项指定需要添加规则的规则链;使用-i选项指定数据包流入的网络接口;使用-j选项设置对数据包的处理,-j ACCEPT表示允许数据包通过,-j DROP表示丢弃数据包。
例:在INPUT规则链中添加规则,允许来自lo网络接口中所有数据包
#iptables -A INPUT -i lo -j ACCEPT
在INPUT规则链中添加规则,允许eth0网络接口中来自192.168.1.0/24子网的所有数据包。
#iptables -A INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
5、删除规则
iptables -D命令用于删除指定规则链中的规则。
例如将INPUT规则链中最后添加的关于eth0网络接口的规则删除。
#iptables -L -v -n |head -4
注:-v选项表示显示详细信息,-n表示以数字表示网络地址和端口号等信息。
#iptables -D INPUT -i eth0 -s 192.168.1.0/24 -j ACCEPT
6、设置内置规则链的默认策略
iptables规则表中的内建规则链具有“默认策略”的属性,默认值是ACCEPT,即默认策略将接受不符合任何规则的数据包。iptables -P命令可以设置指定规则链的默认策略。
#iptables -L -v | head -4
#iptables -P INPUT DROP
#iptables -L -v | head -4
重启iptables服务后将恢复成默认策略的ACCEPT。
另:初始化filter表和nat表:
iptables -F
iptables -X
iptables -Z
iptables -F -t nat
iptables -X -t nat
iptables -Z -t nat
eg:禁止别人访问我的主机的21端口(即FTP)
#iptables -A INPUT -p tcp -d 192.168.1.251(本机IP) --dport 21 -j DROP
如果使用--dport指定端口号就需要同时使用-p选项指定协议类型(tcp|udp|icmp)
iptables -L -n(以数字形式显示) --line-numbers(显示规则的编号)
阅读(881) | 评论(0) | 转发(0) |