用iptables做端口镜像(复制报文)

原文链接: https://blog.csdn.net/wesleyflagon/article/details/38588507

最近调试一个功能需要用到端口镜像技术,将一个网卡上经过的报文复制到另一个网卡上。试用了几个方法,发现iptables TEE不错。因为iptables能够指定各种规则,只复制需要的报文。这里介绍一下TEE的编译和使用。

操作系统是CentOS 6.3,64位(内核版本2.6.32-279),iptables版本是自带的v1.4.7。

首先去下载页面:

http://sourceforge.net/projects/xtables-addons/files/Xtables-addons/1.47/


下载xtables-addons-1.47.1.tar.xz。不要下载2.x版本,因为我发现2.4版本没有TEE模块,奇怪。

编译之前需要安装iptables-devel。

tar xvf xtables-addons-1.47.1.tar.xz
cd xtables-addons-1.47.1
./configure
先不要编译,打开当前目录下的mconfig文件,看看TEE模块是否配置上。没有的话,按如下修改:
build_TEE=m
好了,开始编译安装:

make && make install


我们的调试机器上有两块网卡,eth0和eth1,eth0是局域网,eth1能够上互联网。现在我们要把经过eth1的上网报文通过eth0镜像到另一个监控机器上(192.168.2.55):

iptables -A INPUT -i eth1 -p tcp -m tcp --sport 80 -j TEE --gateway 192.168.2.55
iptables -A OUTPUT -o eth1 -p tcp -m tcp --dport 80 -j TEE --gateway 192.168.2.55

一切正常的话,在192.168.2.55上面就能抓到镜像出来的报文了。需要注意的是,192.168.2.55这台机器上最好关闭forward功能,不然可能对局域网造成奇怪的影响,呵呵。
————————————————
版权声明:本文为CSDN博主「wesleyflagon」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/wesleyflagon/article/details/38588507

猜你喜欢

转载自blog.csdn.net/roshy/article/details/101464602
今日推荐