防火墙基础和iptables基本配置

来源:互联网 发布:宝鸡加工中心编程招聘 编辑:程序博客网 时间:2024/05/22 23:59

1.从了解iptables开始

iptables 与最新版本Liunx内核集成的ip信息包过滤系统。

该系统是一种强大的工具可用于添加、编辑和除去规则,这些规则是做信息包过滤决定的,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux内核中。在信息包过滤过程中,规则被分组在我们所谓的链(chain)中。

虽然 netfilter/iptables IP 信息包过滤系统称为一个实体,实际由netfilter和iptables组成。

netfilter组件也称为内核空间(kernelspace),是内核的的一部分,由一些信息包过滤表组成,包含信息包过滤处理的规则集

iptables组件是一种工具,也称作用户空间(userpace),它使插入、修改和除去信息包过滤表中的规则变得容易。


2.安全控制手段

常用的安全控制手段有包过滤、状态检测、代理服务。

其中包过滤通过在网络间的相互连接的设备上加载允许、禁止来自特定的源地址、目的地址、TCP端口号等规则,对通过设备的包进行检查并限制进出内网。对于拥塞攻击,内存覆盖和病毒入侵缺无能为力


3.基础操作

(1)启动:service iptables start

重启:service iptables restart

关闭:service iptables stop

(2)表和链的概念

iptables具有filter nat mangle raw四个表;每个表上都列有不同的链

INPUT:处理来自外部的数据

OUTPUT:处理向外发送的数据

FORWAR:将数据转发到本机的其他网卡设备上

PREROUTING:处理到达本机并在路由转发前的数据包。转换数据包中IP地址,常用NAT转换

POSTROUTING:处理即将离开本机的数据包。转换数据包中的源IP地址


(3)表的三条规则

规则包括一个条件和一个目标;如满足条件,就执行目标中的规则或特定值;不满足条件,就判断下一条规则

-j+目标值

目标值:ACCEPT允许接收数据包;DROP:丢弃包;QUEUE:将数据移交到用户空间;RETURN停止执行当前的规则并返回链头重新判断

(4)配置常用口令

iptables -L:看当前所有策略

iptables -F/--flush :清空当前的策略

iptables -t filter/mangle/nat --list 看指定表内的规则

iptables  -t NAT -F 手动清除NAT表

永久保存这些规则的更改

iptables -save > /etc/iptables 备份

新建一个规则的脚本 并保存到/etc/network/if-pre-up.d/目录下,每次开机都会加载这个脚本

(5)追加规则

-A+链名+基本参数(通过firewall - rule 查看)

基本参数:

-p+协议名(tcp,udp,icmp)

-s+指定数据包的源地址 也可用-src

-d+指定数据包目的地址  -dst

-j+目标值(ACCEPT,DROP,QUEUE,REURN)/其他链

-i+输入接口(eth0)/ !-i 取反

-o+输出接口(eth0)

-sport +源端口号/服务名称,缺省下将匹配所有端口

-dport+目的端口号/服务名称

-tcp-flags (SYN,ACK,FIN,RST,URG,PSH)

-icmp-type 0 表示 Echo Reply

-icmp-type 8 表示 Echo


4.给出两脚本作为例子



企业防火墙概念图

防火墙将子网划分为多个部分,简短运行时间





0 0