PF学习(一)

2009-05-13 10:40:02来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

1
  内核加载
  device pf
  device pflog
  device pfsync
2
  rc.conf  文件
  pf_enable="YES"
#启用PF,不过我更喜欢放在cron里,不占地方     
  pf_rules="/etc/pf.conf"        
#PF的规则文件
  pflog_enable="YES"  
# 启用PF日志功能
  pflog_logfile="/var/log/pflog"  
#日志文件,要用tcpdump查看,直接打开时乱码
  gateway_enable="YES"
#如果启用nat,必须加上这条

3
  过滤语法规则
  动作-方向-[log]-[quick]-on-网卡-[af]-[协议]-from-源地址-[port 端口]
  -to-目标地址-[port 端口]-[TCP标记]-[状态]

  动作  容许/拒绝 (pass/block)
  方向  进出 (in/out)
  log   日志(记录所有日志为log-all)
  quick  跳出,相当于goto语句,遇到符合它的数据包,它后面的规则将都不 会被执行,直接跳出pf.conf,处理下个包
   on  在那个网卡上,这个关键词不能变,也不能省略
   网卡  要在那个网卡上做包过滤,最好看清楚前面的方向
   af  为数据包的地址类型,inet(ipv4) inet6(ipv6),不过一般不用加,pf可以自动识别,大多数是ipv4,v6还要等段时间啊,呵呵
   协议  tcp udp igmp icmp ......你要过滤包的协议,最好清楚包的类型
          刚开始没添加icmp,ping怎么都不通,郁闷啊
   from  从那到那,和后面的to对应,如果提示语法错误,一般是写成form了
   源地址 可以是ip地址,也可以是网段,还可以是能够被解析的主机名,不过我没试过,还有就是可以用网卡名,便于经常变动ip的网络接口
   端口 可以用134 80 ,也可以用服务名称telnet web ssh
   TCP标记
      flags check/mask
       mask指定要检查的几项,check检查指定项中标记为on的才匹配
****
TCP标记
   F:FIN 会话结束  
   S:SYN  同步,会话开始
   R:RST  复位
   P:PUSH  推送,数据包立即发送
   A:ACK   应答
   U:URG   紧急
   E:ECE   显示拥塞提醒回应
   W:CWR    拥塞窗口减少
//////////////////////////////////////
利用pf检测tcp标志的方法可以防御ddos,方法为代理握手,当有tcp请求,pf先回应一次ack,当有返回值时才转发给服务器,无回应的将丢弃。
应该叫做SYN Cookie,有这个想法,但目前还没能力实现,实现此功能,对机器的负载也相当大。
状态
keep satae 状态保持 简单的了解就是看门人,当一个外校的人找你,先通过
           他,然后当你们俩接上头后,在进进出出,看门人就不管了,就算 你俩做非法的事情。呵呵

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:图形截面配置Cisco 设备

下一篇:标准IMAP标志