代码改变世界

CentOS6.3安装xtables-addons,实现流量复制&镜像克隆

2024-07-25 10:15  猎手家园  阅读(37)  评论(0编辑  收藏  举报

一、版本要求

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

其它版本没有测试。

ubuntu22.04上没有安装成功。

二、依赖安装

yum install gcc
yum install gcc-c++
yum install iptables-devel

三、下载安装包

下载地址:https://inai.de/files/xtables-addons/

下载 1.47.1 版本,并编译:

tar xvf xtables-addons-1.47.1.tar.xz
cd xtables-addons-1.47.1
./configure

开启TEE功能模块:

vim ./mconfig
build_TEE=m    #开启模块

四、安装

make && make install

五、报错

1、make: *** /lib/modules/2.6.32-754.el6.x86_64/build: No such file or directory.    

yum -y install kernel-devel

#安装完成后进入目录发现 build 的软连接是错误的:
cd /lib/modules/2.6.32-754.el6.x86_64

#删除,并重新建立软连接 rm -rf build ln -s ../../../usr/src/kernels/2.6.32-754.35.1.el6.x86_64/ build

2、extensions/compat_xtables.c:633: error: too few arguments to function ‘ipv6_find_hdr’

vim extensions/compat_xtables.c

#找到633行,注释掉 ipv6_find_hdr 相关的内容
/* 注释掉以下内容
int xtnu_ipv6_find_hdr(const struct sk_buff *skb, unsigned int *offset,
    int target, unsigned short *fragoff, int *fragflg)
{
        return ipv6_find_hdr(skb, offset, target, fragoff);
}
EXPORT_SYMBOL_GPL(xtnu_ipv6_find_hdr);
*/

 

六、命令

1、把指定源IP的包镜像到另一个IP

iptables -t mangle -A PREROUTING -s 192.168.1.100 -j TEE –gateway 192.168.1.200

2、把指定目的IP的包镜像到另一个指定的IP

iptables -t mangle -A POSTROUTING -d 192.168.1.100 -j TEE –gateway 192.168.1.200

3、把指定目的IP源IP的包都镜像到另一个指定的IP

iptables -t mangle -A PREROUTING  -s 192.168.1.100/24 -j TEE –gateway 192.168.1.200
iptables -t mangle -A POSTROUTING -d 192.168.1.100/24 -j TEE –gateway 192.168.1.200

4、可以实现一对多的镜像

iptables -t mangle -A PREROUTING -s 192.168.1.100 -j TEE –gateway 192.168.1.200
iptables -t mangle -A PREROUTING -s 192.168.1.100 -j TEE –gateway 192.168.1.201