如何定义防火墙的规则iptables

防火墙,位于网络之间的,根据所定义的股则对进出网络的数据包进行匹配,病匹配到包用制定的处理机制进行处理的硬件、软件或者二者的结合
防火墙按照对数据包的获取方式进行分类,可以分为两大类:
1、包过滤防火墙(IP Filter):iptables
有状态检测
简单包过滤
2、网关代理型防火墙(Proxy):应用层防火墙,效率较低,安全性较好
iptables 是 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。
iptables的四张表:
(1)filter:管理本机进出的数据包
INPUT:主要与想要进去Linux本机的数据包有关
OUTPUT:主要与本机想要送出的数据包有关
FORWORD:与Linux本机无关,可以将数据包转发到后端的计算 机中,与NAT的table相关性很高
(2)NAT :这个表格主要用于来源地与目的地的IP或port转换,与Linux本机无关,主要与Linux主机的局域网内的计算机相关
PREROUTING:在进行路由判断之前执行的规则
POSTROUTING:在进行路由判断之后执行的规则
OUTPUT:与发送出去的数据包相关
(3)mangle :这个表格主要是与特殊数据包的路由标记有关
把封装得数据包重新进行修改,先拆开,再封装,在INPUT,OUTPUT,FORWARD,PREROUTING,POSTROUTING5个地方任意一个地方都可以
(4)raw
优先级:1 mangle,2 nat,3 filter
#iptables [-t table] sub_command CHAIN[Num] [匹配条件]
-t 指定表格
sub_command:子命令
rule: -A 追加,在最后边追加一条规则
-I 插入一条规则,-I INPUT 3 –>指定第三条规则
-D 删除一条规则,指定号码或规则就行     -R 替换一条规则
chain: 规则链相关的
-F (flush):清空所有链
-N :新建一条链
-X : 删除一条链
-Z:清空计数器  (每一条规则都有两个计数器,一个用于记录被本条规则所匹配到的包的个数,另一个用户记录所有匹配到包的体积之和)
-E 重命名链
iptables -L 列出来
iptables -L -n 不进行IP与hostname的反查,显示速度会更快
-v 显示详细信息,v越多越详细
-x 与L一块用显示精确值
iptables -L –line-numbers 显示行号
匹配条件:
一、通用匹配
-s IP/NETWORK 指定源地址
-d IP/NETWORK 指定目的地址
-p 用户定义协议后跟{tcp|udp|icmp}
-i interface 指定INPUT接口,一般不能用在OUTPUT和POSTROUTING
-o interface 指定OUTPUT接口,不能跟在INPUT和PREROUTING
二、扩展匹配
(1)隐式扩展:一般只对-p选项中指定的协议进行扩展
-p tcp
- -sport PORT 指定源端口
- -dport PORT 指定目的端口
- -tcpflags 要检查的标记必须为1的标记(剩余的必须为0)
- -tcpflags SYN,ACK,RST,FIN SYN
0   0   0   1
-p udp
- -sport PORT 指定源端口
- -dport PORT 指定目的端口
-p icmp
- -icmp-type 后边跟0或8
type的类型有echo-request:8 请求的数据包
echo-reply:0 响应的数据包
-j TARGET 跳转
ACCEPT通过
DROP 含蓄的拒绝
REJECT 直接拒绝
(2)显式扩展:一般必须使用-m选项明确指定要加载扩展模块,扩展模块小写,状态大写
state 连接状态:有四种
-m state - -state 状态
四种状态:
NEW:新发起的请求
ESTABLISHED:所有已建立的请求
RELATED:相关联的
INVALID:无法识别的,非上边的三种状态
指定多端口:
-m {mport|multiport}
- -source-ports 源端口
- -destination-port 目标端口
- -ports
eg: #iptables -A INPUT -d 172.16.100.1 -p tcp -m mport - -destination-port 80,22,23,110,143,25 -m state - -state NEW,ESTABLISHED -j ACCEPT
-m iprange IP地址范围扩展
[!]- -src-range ip-ip 源地址范围
[!]- -dst-range ip-ip 目标地址范围
eg:#iptables -A INPUT -d 172.16.100.1 -m iprange - -src-range 192.168.1.1-192.168.1.200 -p tcp - -dport 80 -m state - -state ESTABLISHED -j ACCEPT
-m connlimit 限制某个IP地址上并发连接请求个数限制
[!]- -connlimit-above N 超过这个数的请求都拒绝
一般都是 !- -connlimit-above     -j ACCEPT
-m limit 数据包个数的发送速率的限制
- -limit rate
- -limit-burst number 突发限制的数量,当为空时第一次发送的数量
eg:-m limit - -limit 20/second - -limit-burst 30 -j ACCEPT
流量控制:通过令牌桶过滤器
-m time在某个时间运行某个请求
- -timestart Value
- -timestop Value
- -days Listofdays 星期几,默认是ereryday
- -datestart Date
- -datestop Date
eg:iptables -A INPUT -d 172.16.37.1 -p tcp –dport 80 -m time - -datestart 2012:02:18:08:30:00 - -datestop 2.12:02:26:14:30:00 -j ACCEPT
-m string 字符的匹配
- -algo bm|kmp <–字符串匹配算法
- -string pattern 我们可以把字符串转换成二进制格式的,这个匹配的速度会更快

如何保存iptables定义的规则
iptables一但重启将会清空所有规则
#service iptables save   保存iptables的规则,保存到/etc/sysconfig/iptables 文件中
#iptables-save > /etc/sysconfig/iptables.test 保存到这个文件中

#iptables-restore  <  /etc/syscofig/iptables.test 生效保存的规则

转载于:https://my.oschina.net/qihh/blog/87914

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值