上网行为管理软件已经很多了,然而很多种都无法实现跨NAT设备的监控,这是因为无法定位到真实的源IP地址,在NAT设备前面的设备看来,所有的流量都是NAT设备发起的,NAT设备的存在为其后面的主机提供了一层屏障。那么有没有什么办法可以精确定位真实源IP地址呢?办法是有的,只是需要NAT设备的配合。
1.使用conntrack-tools监控事件
在Linux上,NAT一般是由ip_conntrack机制实现的,Linux本身肯定可以精确定位到真实的转换前的地址,需要做的仅仅是将这些信息传递给上网行为管理系统即可,这些信息可以在/proc/net/ip_conntrack中看到,然而我们关注的不是这些信息本身,而是针对这些信息的一系列的事件,比如某IP在某时间发起了一个到某目标地址的连接,某时间段后拆除了该连接等等。
conntrack-tools工具是Netfilter社区提供的一款功能强大的ip_conntrack信息操作工具,可以方便实时的管理ip_conntrack信息,比如删除某条记录,提取事件等等。Linux的机制在内核实现,所谓的conntrack-tools只是一个用户态的信息操作工具,如果想监控ip_conntrack事件,则只需要执行conntrack -E即可
关于更多的conntrack-tools信息,请参考:
http://conntrack-tools.netfilter.org/manual.html2.总体原理
以下是一条conntrack -E的输出:
[NEW] tcp 6 120 SYN_SENT src=128.129.0.3 dst=9.24.15.123 sport=4592 dport=8080 [UNREPLIED] src=9.24.15.123 dst=9.24.15.222 sport=8080 dport=4592该条信息的意义不言自明,从字面意义上肯定是做了NAT,将源地址128.129.0.3转换为了9.24.14.222,如果说能将这类信息传递给监控网关,那么就可以做到针对真实源地址的监控,在监控网关上需要做的就是数据的整理。我们知道在监控网关上肯定有下列信息:
9.24.15.222:4592这个地址访问了9.24.15.123:8080该数据和上述的conntrack -E输出的数据做一个汇总就能得到:
128.129.0.3:4592这个地址访问了9.24.15.123:80803.ip_conntrack信息导出
如果NAT设备不配合或者根本就不是Linux系统,那么就需要其它的方案来拿到NAT设备上的连接信息。因此为了使这一切可用,有两种办法,一种是提供一个针对熟知NAT设备系统的连接信息导出接口以及规定一种文件格式或者协议格式,自行开发信息导出机制,当然对于Linux的NAT设备,就是上面说的那样;另一种方法就是直接强制使用基于Linux的NAT,不过这种方法有点流氓,你必须要做到的就是你的Linux NAT设备既便宜又好用...
注解:
conntrack-tools工具功能强大,一般用于无缝双机热备环境,Linux主机可以实时的将一台机器的conntrack信息同步到相应的备机上,一旦主机宕机IP地址漂到备机,流量就会无缝的经过备机,而不需要在流量经过备机时重新生成conntrack信息(因为在重新生成的情况下,对于已经建立连接的TCP流量会有问题的)
分享到:
相关推荐
基于Linux的NAT技术研究.pdf
VMware虚拟机Linux通过NAT方式上网
通过图文说明的方式详细的讲解了关于使用nat方式连接互联网,而且是指定ip
本文件是基于 Linux 平台下的软件网关。在运行前需要 用 chmod 命令将该文件的权限设置成可执行权限。也可 以将该文件添加到自启动文件中。 其中:eth0 是连接互联网的网络接口。 需要注意一点:文件中的IPADDR、...
VMware虚拟机linux和XP怎么配置上网?VMware Bridged和NAT 连接不上网络?本文档将为大家介绍Bridged和NAT两种上网方式,VMware Linux和XP都可以实现。
linux的nat实现原理,包括nat介绍,nat原理分析
VMWARE ESXi服务器配置NAT上网教程。单IP设置虚拟机共享上网和NAT设置。
虽然IPv6技术可以根本解决这个难题,但是它的完全应用还需要一段很长的时间,因此在这种情况下NAT技术就应运而生.NAT技术带来的不光是日益缺乏的网络地址的解决办法,而且还带来了更为安全的网络环境,因此使其在企业...
在VMware ESXi服务器上配置NAT上网
nats-mon, 基于实时网络的nat监控 mon基于实时网络的nat监控目录快速入门生成状态覆盖范围屏幕截图Bug 和功能请求 。版本管理创建者版权和许可证许可快速启动安装 natgit clone https://github.com/re
linux下NAT配置详解 linux下NAT配置详解 linux下NAT配置详解
不错的nat,供学习
一种基于linux环境下NAT技术的实现.pdf
快速配置Linux NAT服务器.pdf
虚拟机linuxNAT方式上网图文详解宣贯.pdf
分析防火墙技术原理和防火墙类别,结合校园网实际设计使用Linux下的Iptables 防火墙NAT 方案,能够实现NAT和对网络进行用户管理和信息过滤,并能防范一定的网络攻击手段和防病毒 能力,保护校园网内主机的安全和重要...
在FreeBSD Linux下利用NATD IPNAT 等工具实现NAT。
基于PC架构Linux NAT性能优化.pdf
linux 服务配置 讲解 nat 地址转换配置 解决地址需求问题和一些安全问题 隐藏内部网络
基于Netfilter的NAT技术及其应用