• 全部
  • 经验案例
  • 典型配置
  • 技术公告
  • FAQ
  • 漏洞说明
  • 全部
  • 全部
  • 大数据引擎
  • 知了引擎
产品线
搜索
取消
案例类型
发布者
是否解决
是否官方
时间
搜索引擎
匹配模式
高级搜索

【MVS】通过F5 iRule实现Virtual Servers虚服务DNAT与SNAT转换日志信息发送到远程日志主机

3天前 发表
  • 0关注
  • 0收藏 85浏览
胡伟 九段
粉丝:30人 关注:2人

问题描述

【MVS】通过F5 iRule实现Virtual Servers虚服务DNAT与SNAT转换日志信息发送到远程日志主机

解决方法

目标

  • 捕捉并记录客户端IP、端口、SNAT IP、端口、原始目的地IP、端口和服务器IP、端口信息。
  • 记录虚拟服务器名称。
  • 将日志信息发送到本地日志和远程日志主机。

iRule代码

以下是实现上述目标的iRule代码:

when CLIENT_ACCEPTED {

    # 获取虚拟服务器名称

    set vs_name [virtual]

 

    # 设置全局变量来保存客户端和原始目的地信息

    set client_ip [IP::client_addr]

    set client_port [TCP::client_port]

    set original_dst_ip [IP::local_addr]

    set original_dst_port [TCP::local_port]

 

    # 初始SNAT处理,如果没有SNAT则设置为空

    if { [IP::client_addr] ne [IP::remote_addr] } {

        set snat_ip [IP::remote_addr]

        set snat_port [TCP::remote_port]

    } else {

        set snat_ip $client_ip

        set snat_port $client_port

    }

}

 

when SERVER_CONNECTED {

    # 捕获服务器的IP和端口

    set server_ip [IP::remote_addr]

    set server_port [TCP::remote_port]

 

    # 综合记录所有信息,包括VS名称和SNAT信息

    set log_msg "VS Name - $vs_name; Client IP - $client_ip, Port - $client_port; SNAT IP - $snat_ip, Port - $snat_port; Original Destination IP - $original_dst_ip, Port - $original_dst_port; Server IP - $server_ip, Port - $server_port"

 

    # 本地日志记录

    log local0. $log_msg

 

    # 发送到远程日志主机

    log 192.168.254.120 local0. $log_msg

}

详细解析

  • CLIENT_ACCEPTED事件:
    • 获取并存储虚拟服务器名称。
    • 捕获客户端的IP和端口。
    • 捕获原始的目的地IP和端口。
    • 检测并存储SNAT后的IP和端口。如果没有进行SNAT,则保持SNAT IP和端口为客户端的IP和端口。
  • SERVER_CONNECTED事件:
    • 捕获服务器的IP和端口。
    • 综合所有信息,格式化为日志消息字符串。
    • 使用log local0.命令记录日志到本地。
    • 使用log <远程IP> local0.命令将日志消息发送到远程日志主机,替换其中的192.168.254.120为远程日志主机的IP地址。

应用和验证

  1. 应用iRule
    • F5管理控制台上,创建并应用上述iRule到相应的虚拟服务器。确保使用的虚拟服务器和iRule创建过程正确无误。
  1. 验证日志记录:
    • 本地日志:通过命令tail -f /var/log/ltm实时查看日志文件,确保日志信息已记录。
    • 远程日志:在远程日志主机上配置syslog接收器,并确保F5设备与远程主机网络连通。检查远程主机上的日志文件,确保日志信息已成功转发。

日志示例

成功配置后,日志条目应类似于以下内容:

Tue Jul 23 21:01:57 PDT 2024    info    bigip2    tmm3[7567]    Rule /Common/log <SERVER_CONNECTED>: VS Name - /Common/test_vs; Client IP - 192.168.120.120, Port - 6204; SNAT IP - 192.168.120.121, Port - 6204; Original Destination IP - 192.168.120.8, Port - 8080; Server IP - 192.168.254.120, Port - 10088

优点

  • 集中管理: 将日志信息发送到集中式日志管理系统,便于统一查看和分析。
  • 纠错和排障: 详细的日志信息有助于快速识别和解决网络问题。
  • 安全监控: 实时记录和监控网络流量,提升安全性。

注意事项

  • 性能影响: 大量日志记录可能会影响F5设备的性能,建议在生产环境中控制日志数量和频率。
  • 网络设置: 确保F5设备与远程日志主机之间的网络路径可达,且防火墙允许相关的SYSLOG流量。
  • 隐私和安全: 日志中可能包含敏感信息,应在日志传输过程中确保其安全性,例如使用加密通道。

总结

通过应用上述iRule,可以在F5设备上详细记录并集中管理网络流量日志信息。在实际操作中,除了记录和转发日志外,还需要考虑日志的安全传输和存储,以确保日志信息的机密性和完整性。这对于大规模网络环境中的故障排查和安全监控至关重要。

该案例对您是否有帮助:

您的评价:1

若您有关于案例的建议,请反馈:

0 个评论

该案例暂时没有网友评论

编辑评论

举报

×

侵犯我的权益 >
对根叔知了社区有害的内容 >
辱骂、歧视、挑衅等(不友善)

侵犯我的权益

×

泄露了我的隐私 >
侵犯了我企业的权益 >
抄袭了我的内容 >
诽谤我 >
辱骂、歧视、挑衅等(不友善)
骚扰我

泄露了我的隐私

×

您好,当您发现根叔知了上有泄漏您隐私的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您认为哪些内容泄露了您的隐私?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)

侵犯了我企业的权益

×

您好,当您发现根叔知了上有关于您企业的造谣与诽谤、商业侵权等内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到 pub.zhiliao@h3c.com 邮箱,我们会在审核后尽快给您答复。
  • 1. 您举报的内容是什么?(请在邮件中列出您举报的内容和链接地址)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
  • 3. 是哪家企业?(营业执照,单位登记证明等证件)
  • 4. 您与该企业的关系是?(您是企业法人或被授权人,需提供企业委托授权书)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

抄袭了我的内容

×

原文链接或出处

诽谤我

×

您好,当您发现根叔知了上有诽谤您的内容时,您可以向根叔知了进行举报。 请您把以下内容通过邮件发送到pub.zhiliao@h3c.com 邮箱,我们会尽快处理。
  • 1. 您举报的内容以及侵犯了您什么权益?(请在邮件中列出您举报的内容、链接地址,并给出简短的说明)
  • 2. 您是谁?(身份证明材料,可以是身份证或护照等证件)
我们认为知名企业应该坦然接受公众讨论,对于答案中不准确的部分,我们欢迎您以正式或非正式身份在根叔知了上进行澄清。

对根叔知了社区有害的内容

×

垃圾广告信息
色情、暴力、血腥等违反法律法规的内容
政治敏感
不规范转载 >
辱骂、歧视、挑衅等(不友善)
骚扰我
诱导投票

不规范转载

×

举报说明

提出建议

    +

亲~登录后才可以操作哦!

确定

亲~检测到您登陆的账号未在http://hclhub.h3c.com进行注册

注册后可访问此模块

跳转hclhub

你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作