背景

最近一直在研究旁路监测,需要设置一个源端口镜像给两个目的端口(分别接两个监测设备),无奈ip-com交换机没配置明白,研究下使用软件实现暂时代替。

环境

发行版、内核、iptables版本信息如下

  1. [root@ted ~]# uname -a
  2. Linux ted 3.10.-.el7.x86_64 # SMP Thu Nov :: UTC x86_64 x86_64 x86_64 GNU/Linux
  1. [root@ted ~]# cat /etc/redhat-release
  2. CentOS Linux release 7.2. (Core)
  1. [root@ted ~]# rpm -qi iptables
  2. Name : iptables
  3. Version : 1.4.
  4. Release : .el7
  5. Architecture: x86_64

配置

部署图大致如下

办公网某主机IP: 192.168.118.1(演示时用的VMware的NAT模式,宿主机)

监测服务器A网卡eth0:192.168.118.134(演示时用的VMware的NAT模式,VM)

监测服务器A网卡eth1:192.168.12.13(演示时用的VMware的VMnet9,VM)

监测服务器B网卡eth0:192.168.12.12(演示时用的VMware的VMnet9,VM)

在监测服务器A上执行如下命令

查看路由设置

  1. [root@ted ~]# route -n
  2. Kernel IP routing table
  3. Destination Gateway Genmask Flags Metric Ref Use Iface
  4. 0.0.0.0 192.168.118.2 0.0.0.0 UG eth0
  5. 192.168.12.0 0.0.0.0 255.255.255.0 U eth1
  6. 192.168.118.0 0.0.0.0 255.255.255.0 U eth0

所有192.168.12.0网段的流量都走eth1网卡(此网卡与服务器B的eth0直连)

配置只需一条命令

  1. [root@ted ~]# iptables -I PREROUTING -t mangle -i eth0 -j TEE --gateway 192.168.12.12
  2. [root@ted ~]# iptables-save

所有eth0的进口流量包都会被复制一份发到192.168.12.12上(从路由表上看出,先走eth1网卡,再到服务器B的eth0)

使用

在服务器A上用tcpdump抓包(开两个终端)

  1. [root@ted ~]# tcpdump -i eth0 tcp port -w A-eth0.pcap
  2. [root@ted ~]# tcpdump -i eth0 tcp port -w A-eth1.pcap

在服务器B上用tcpdump抓包

  1. [root@min-base ~]# tcpdump -i eth0 tcp port -w B-eth0.pcap

在服务器A上开httpd服务器,用办公网主机访问该服务

结果

监测服务器A、B都得到了镜像流量。

这里为了演示,使用“办公机访问服务器A的httpd服务”代替“办公网镜像流量”,实际情况应该是服务器A网卡eth0是不配置IP的。

缺点

iptables-TEE实现端口镜像会改变源MAC、目的MAC

TODO

这里没有实现回包镜像,我再研究研究。。。

在服务器A上再执行一条iptables规则

  1. [root@ted ~]# iptables -I POSTROUTING -t mangle -o eth0 -j TEE --gateway 192.168.12.12

把从eth0出去的流量包都镜像一份发到192.168.12.12上就可以啦~~

哪位大神有更好的方案还请指点~

CentOS7 配置网卡端口镜像的更多相关文章

  1. CentOS7——配置阿里云镜像源

    CentOS7--配置阿里云镜像源 #下载CentOS 7的repo文件 curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun ...

  2. CentOS7配置网卡上网、安装wget、配置163yum源

    2019/09/12,CentOS 7 VMware 摘要:CentOS7安装完成(最小化安装)后,不能联网(已选择桥接网络),需要修改配置文件及配置yum源 修改配置文件 进入网卡配置目录 cd / ...

  3. CentOS7 配置光盘iso镜像为本地yum源

    因为系统使用的最小化安装,所以很多软件没有安装上,又无法上网,为了方便,所以直接将上传的iso镜像直接作为yum源. 我已经将光盘的iso镜像上传至服务器. 接下来就是将iso的光盘镜像进行挂载了 m ...

  4. Centos7安装成功后,网卡配置及更改镜像地址为国内镜像

    Centos7安装成功后,网卡配置及更改镜像地址为国内镜像 一.网卡配置 二.修改网络配置 踩坑一:IPADDR 踩坑二:网关,DNS与本地不一致 重启网络服务 三.镜像修改为aliyun 四.相关知 ...

  5. 华为S5300交换机配置基于VLAN的本地端口镜像

    配置思路 1.  将Ethernet0/0/20接口配置为观察端口(监控端口) 2.  将VLAN 1.11.12.13.14配置为镜像VLAN 配置步骤 1.  配置观察端口 <Switch& ...

  6. 华为S5300交换机配置基于接口的本地端口镜像

    配置思路 1.  将Ethernet0/0/20接口配置为观察端口(监控端口) 2.  将Ethernet0/0/1----Ethernet0/0/10接口配置为镜像端口 配置步骤 1.  配置观察端 ...

  7. S5700交换机配置端口镜像

    S5700交换机配置端口镜像 <Quidway>system-view    //进入系统视图 Enter system view, return user view with Ctrl+ ...

  8. H3c交换机配置端口镜像详情

    端口镜像 需要将G0/0/1口的全部流量镜像到G0/0/2口,即G0/0/1为源端口,G0/0/2为目的端口. 配置步骤 1.进入配置模式:system-view: 2.创建本地镜像组:mirrori ...

  9. 华为S5700配置端口镜像和华三S5120配置802.1X认证记录

    一.说明 事情的起因是我们部门有个华为的S5700交换机,想配置端口镜像抓包但让助理买的串口线很久都还没到:而昨天测试部的同事说他们那有台华三的S5120想要配802.1X认证,但只有华为交换机的文档 ...

随机推荐

  1. python中文字符乱码(GB2312,GBK,GB18030相关的问题)

    转自博主 crifan http://againinput4.blog.163.com/blog/static/1727994912011111011432810/ 在玩wordpress的一个博客搬 ...

  2. intellij idea使用

    第02章 IntelliJ IDEA起步 熟悉IntelliJ IDEA用户界面 05 状态条 如何使用intellij idea 从Eclipse转移到IntelliJ IDEA一点心得 Intel ...

  3. sd卡脱机烧写系统的方法(测试成功)

    一.sd卡烧写系统的基本思路: (1)把uboot.bin烧写到sd卡 (2)把image整个文件夹复制到sd卡 (3)开发板从sd卡启动,就开始自动烧写到nandflash中了. 二.烧写uboot ...

  4. hibernate模糊查询

    hibernate模糊查询-Restrictions.ilike & Expression.like Criteria criteria = session.createCriteria(Ta ...

  5. ACM: NBUT 1107 盒子游戏 - 简单博弈

     NBUT 1107  盒子游戏 Time Limit:1000MS     Memory Limit:65535KB     64bit IO Format:  Practice  Appoint ...

  6. 【BZOJ】3437: 小P的牧场

    题意 n个点,需要再一些点建立控制站,如果在第\(i\)个建站,贡献为\(a[i]\).假设前一个站为\(j<i\),则\([j+1, i]\)的点的贡献是\(\sum_{k=j+1}^{i} ...

  7. AngularJS 30分钟快速入门【译】

    引用自:http://www.revillweb.com/tutorials/angularjs-in-30-minutes-angularjs-tutorial/,翻译如下: 简介 我三年前开始使用 ...

  8. OSG中找到特定节点的方法

    OSG中找到特定节点的方法 转自:http://38288890.blog.163.com/blog/static/19612845320072721549504/ 为了在OSG中找到需要的节点并对节 ...

  9. easyUI下拉列表三级联动

    首先是先想好数据库的搭建,通过地区id,地区名称,上级地区id就可以实现,所有省市区的数据 例如: DAO层 service层 Servlet 页面 <!DOCTYPE html> < ...

  10. *HDU3486 RMQ+二分

    Interviewe Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total ...