网络资源控制-Netfiter防火墙设置

Netfilter概述

。在和心中过滤:没有进程
。在OSI参考模型中2,3和4层评估策略
。仅仅监控数据包头
。由内核中netfilter模块,和iptables用户使用软件组成

默认针对第2(mac,src,dst),3(ip),4(tcp,udp)层进行控制,还有协议,总共7种进行设置。

ratelimit网速;time时间设置

#/etc/init.d/iptables restart  //刷新iptables规则

采用linux内核linux-2.6.30.5

#make menuconfig打开内核配置界面

匹配规则
。规则按次序列出
。包按照每个规则顺序测试
。当首先匹配,将评估目的地:通常退出检测链
。规则可以指定用啦匹配的多个文件
。在一条规则中每个条件都必须满足才认定为匹配(逻辑和关系)
。如果没有相匹配的将应用规则链的策略

Netfilter表和链

filtering point Table
filter nat mangle
INPUT X   X
FORWARD X   X
OUTPUT X X X
PREROUTING   X X
POSTROUTING   X X

从一个网段发往另一个网段,一般走的是forward(抓发)并没有input和output

简单例子:

链基本操作
。列出链或表中的规则(-L或者-vL)(list)
。追加一条规则到链中(-A)(append)
。插入规则到链中(-I)(insert)
    。-I  CHAIN(作为第一条规则插入)
    。-I  CHAIN3(插入作为第三条规则)
。删除单独一条规则(-D)
    。-D CHAIN3(删除链中第三条规则)
    。-D CHAIN RULE(显式的删除规则)

#iptables -L -n  //查看防火墙规则,L是列出 ,-n是以数字显示出端口,不然会以字母形式显示端口,加上n直接解析成数字,--line-number会显示规则编号,-F(flush)清空规则

#system-config-securitylevel  //将红帽默认规则添加起来。

删除规则第三条规则:

常见匹配条件
。IP地址或网络
    。-s 192.168.0.0/24  //s是源头发送
    。-d 192.168.0.1  //目标地址
。网络接口
    。-i lo  //inbound
    。-o eth1  //outbound
。条件可以使用“!”取反
    。-i eth0 -s "!" 192.168.0.0/24
规则的目的地
。内置目的地:DROP,ACCEPT
。扩展的目的地:LOG,REJECT,自定义链
    。REJECT    发送通告返回给发送者
    。LOG    连接到系统日志Kernel设备
    。    LOG匹配不会退出检测链
。目的地是可选的,但每条规则不能多于一个,如果缺少的话,采用此链的缺省策略
通用匹配条件 续
。传输协议和端口
    。-p tcp --dport 80    //p代表协议类型,dport目的端口
    。-p udp --sport 53    //sport源地址端口
    。指定一段端口可以使用start:end //连续端口
。ICMP类型
    。-p icmp --icmp-type host-unreachable
规则的永久生效
。iptables不是一个进程,仅用来转载 规则的
。规则在重启后不会生效
    。service iptables save将保存规则到/etc/sysconfig/iptables中(确保这个文件有着正确的SELinux上下文属性!)
    。可以使用SysV方式管理,它在配置网络之前运行

#iptables-restore /root/iptables.orginal  //将规则写入文件,使用iptable-restore直接读取  

# tcpdump表达式匹配,可以捕捉很多种类型
#tcpdump -i eth0 -n tcp port 80  //抓取tcp协议80端口信息
#tcpdump -i eth0 -n tcp port 80  -w test.dump    //抓取tcp协议80端口信息保存到test.dump文件中
利用tcpdump抓包,画图,使用iptables写入规则,之后测试规则是否生效。

跟踪连接
。提供了监控包的“状态”
    。可以测试包的特定上下文信息
。简化了规则
    。不适用跟踪连接,规则通常成对定义(入方向&出方向)
。实现“状态”扩展匹配方式
。识别的状态:NEW,established,related,invalid
。需要更多的内存

#modprobe -l  //打印所有内核信息

#modprobe -l | grep conntr  

猜你喜欢

转载自www.cnblogs.com/hongjinping/p/13179648.html