linux防火墙(iptables)

防火墙就是一台主机,其安全防护措施被可以强化,且可信任,一定要坐落在网络的枢纽点,必须能够过滤往来网络的所有的包。

    由于linux内核中有一个称为netfilter的子系统,当包经过linux内核时候,必须一次经过此子系统的各个检查点,因此,放火墙就是我们通过命令行工具iptables设定的各个检查规则的总和。

   netfilter在防火墙的应用中可以对包进行三种处理方式,过滤filtering,拆分mangling,转址nating。

   过滤对于包的处理有几种,通过,丢弃,拒绝(丢弃则包来源不会收到任何的通知,而拒绝则会给包来源一个icmp通知)。而对于包的识别主要有以下几个条件:

协议类型:tcp udp icmp等

通信端口:tcp或者udp协议

包类型:syn/ack,数据,icmp echo request等

来源地址:

目的地址。

   ip过滤发生在网络层,所以,它无法识别出应用程序本身,也就是说,如果我们想封锁telnet包,只是封锁23端口是完全不行的,其完全可以用另一个端口,例如2323来访问,netfilter对此完全无能为力,需要用别的proxy server来封锁telnet服务。

  iptalbes将网络包处理规则归纳为三个表table,分别是filter,nat,mangle,每个表由若干个链chain组成,每条链由一系列规则rule组成,每条规则描述一种匹配条件match和一种目标target,其中,匹配条件挑选包,而目标是对包的处理。

    iptables的优势在于规则比较简单明了,可以用有限的规则写出比较强大的防火墙,并且逻辑很清楚。写防火墙规则的步骤,基本上是用文字描述出想要达到的目的,然后用iptables实现。

    iptables在内核对于包的处理过程中定义了5个检查点hook point,每个检查点对应一组链。分别是PREROUTING INPUT FORWARD POSTROUTING OUTPUT。这些链供管理员安排过滤表规则,每一个规则代表一次检测或者影响包流动的机会。

FORWARD 经过网关(从某接口近来,再从另一个接口处去)的包。 (mangle filter)

INPUT即将递交给本地进程的包(mangle filter)

OUTPUT本地进程刚刚产生的包(mangle nat filter)

POSTROUTING即将进入网络接口而离开的包(mangle nat)

PREROUTING刚从网络接口进入的有效包。(mangle nat)

 iptables主要命令以及参数列表:

命令:command

-t table: nat mangle filter

-A  增加一条规则

-D 删除一条规则

-I 插入一条规则

-R 替换一条规则

-L 列出指定链的规则,如果不指定链,将列出所有的规则

-F 清空链表

-Z 计数值归零

-N 创建新链

-X 删除用户自定义链

-P 默认targer,默认处理方式

-E 重命名链

-h 帮助

参数: parameters

-p 协议:tcp udp icmp all

-s 源地址

-d 目的地址

-j 处理方式 ACCEPT DROP REJECT or USER-SPECIFIED

-g goto

-i 从某网络设备进入

-o 从某网络设备出去

[!] -f 处理碎片包 fragment

-c 初始化计数值

-v verbose输出,通常用来统计流量

-n numeric 以ip形式显示

-x 准确的输出流量,不用M K等显示

-line-numbers 在列出的每一个规则之前加上行号

-m 加载需要的模块

 

 

一些匹配条件

mac  --mac-source

icmp --icmp-type

udp  --destnation-port   --dport  --source-port  -sport

tcp  --dport  --mss  --sport  --syn  --tcp-flags  --tcp-option

一些有用的扩展模块

1、limit

--limit rate   n/second  n/minute  n/hour  n/day

--limit-burst

2、account

--aaddr  netword/netmask   192.168.0.0/24

--aname 定义统计保存的文件名字

--ashort  记录较简短的统计信息

读取计数 cat  /proc/net/ip_account/Xxx

3、connlimit

限定每一个ip地址的tcp并发访问数量

--connlimit-above

--connlimit-mask

target扩展

DNAT 用在nat表的OUTPUT PREROUTING

--to-destination

SNAT 用在nat表的POSTROUTING链

--to-source

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值