OID [210:1][Entry]: [Active = Yes] [Protocal = TCP] [SrcIP = ] [STARTPORT = 9090] [INTPORT = 9090] [LOCALIP = 192.168.10.10] [MapName = DomainNameServer] tcapi show VirServer tcapi show webcurset 当选中条目的时候,virserver_id会出现在当前的wencurset中 tcapi show waninfo.common OID [209:1][VirServer]: OID [210:2][Entry]: [Active = Yes] [Protocal = TCP/UDP] [SrcIP = ] [STARTPORT = 53] [INTPORT = 909] [LOCALIP = 192.168.10.7] [MapName = DomainNameServer1 将信息写入到 /var/run/%s/vserver%s [add/del] [interface name#] [Rule#] Chain VS_nas0_0 (1 references) pkts bytes target prot opt in out source destination 0 0 DNAT tcp -- nas0_0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7070 to:192.168.10.10:7070 0 0 DNAT tcp -- nas0_0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 to:192.168.10.10:8080 0 0 DNAT tcp -- nas0_0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:9090 to:192.168.10.10:9090 0 0 DNAT tcp -- nas0_0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:7070 to:192.168.10.10:7070 OID [209:1][VirServer]: OID [210:1][Entry]: [Active = Yes] [Protocal = TCP] [SrcIP = ] [STARTPORT = 9090] [INTPORT = 9090] [LOCALIP = 192.168.10.10] [MapName = liyong] [ActiveIFName = nas0_0] wan_pvc tcapi set virserver_entry ActiveIFName nas0_0 wan.pvc.1.entry.1 tcapi show waninfo_common OID [153:1][Common]: [NoGUIAccessLimit = 1] [DefRouteIndexv4 = 0] [DefRouteIndexv6 = N/A] [CycleIdx = 7] [VirServerCycleValue = liyong,liyong2,liyong3,N/A,N/A,N/A,N/A,N/A,N/A,N/A,] [CurIFIndex = 1] [BindStatus = No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,No,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1] [CycleJump = 0] iptables -t nat -I VS_nas0_1 -p tcp --dport 9998 -i nas0_1 -j DNAT --to 192.168.1.10:9998 添加宏:CSUPPORT_TOTALPLAY totalpaly中需要添加ActiveIFName的接口 ActiveIFName /etc/igmpproxy.conf cfg_get_object_attr("root.IGMPproxy.Entry", "Robustness", robustness, sizeof(robustness)); cfg_get_object_attr("root.IGMPproxy.Entry", "QueryInterval", query_inter, sizeof(query_inter)); *cfg_get_object_attr("root.IGMPproxy.Entry", "QueryResInterval", query_response_inter, sizeof(query_response_inter)); *cfg_get_object_attr("root.IGMPproxy.Entry", "LastMemQueryInterval", last_query_inter, sizeof(last_query_inter)); cfg_get_object_attr("root.IGMPproxy.Entry", "UnsolicitedReportInterval", unsolicited_report_inter, sizeof(unsolicited_report_inter)); cfg_get_object_attr("root.IGMPproxy.Entry", "SSMEnable", ssm_en, sizeof(ssm_en)); TCWebApi_set("IGMPproxy_Entry","Active","ProxyActive") TCWebApi_set("IGMPproxy_Entry","UpstreamIF","WanIF") TCWebApi_set("IGMPproxy_Entry","Robustness","Robustness_Value") TCWebApi_set("IGMPproxy_Entry","QueryInterval","QueryInterval_Value") TCWebApi_set("IGMPproxy_Entry","QueryResInterval","QueryResInterval_Value") TCWebApi_set("IGMPproxy_Entry","LastMemQueryInterval","LastMemQueryInterval_Value") TCWebApi_set("IGMPproxy_Entry","UnsolicitedReportInterval","UnsolicitedReportInterval_Value") TCWebApi_set("IGMPproxy_Entry","SSMEnable","SSMEnable_Value") 添加对应的string字符: <%tcWebApi_get("String_Entry","IGMPMLD8Text","s")%> 添加告警:string TCWebApi_set("VirServer_Entry_Entry","LOCALIP","InternalClient") *************************************************************** "<%if tcWebApi_get("IGMPproxy_Entry","Robustness","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","Robustness","s") end if%>" "<%if tcWebApi_get("IGMPproxy_Entry","QueryInterval","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","QueryInterval","s") end if%>" "<%if tcWebApi_get("IGMPproxy_Entry","QueryInterval","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","QueryInterval","s") end if%>" "<%if tcWebApi_get("IGMPproxy_Entry","QueryResInterval","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","QueryResInterval","s") end if%>" "<%if tcWebApi_get("IGMPproxy_Entry","LastMemQueryInterval","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","LastMemQueryInterval","s") end if%>" "<%if tcWebApi_get("IGMPproxy_Entry","UnsolicitedReportInterval","h") <> "N/A" then tcWebApi_get("IGMPproxy_Entry","UnsolicitedReportInterval","s") end if%>" TCWebApi_set("IGMPproxy_Entry","SSMEnable","SSMEnable_Value") IGMPMLD1Alert=Robustness:1-7 IGMPMLD2Alert=QueryInterval:30-300s IGMPMLD3Alert=QueryResInterval:1-60s IGMPMLD4Alert=LastMemQueryInterval:1-7s IGMPMLD5Alert=UnsolicitedReportInterval:1-60s IGMPMLD1Vlaue=value:1-7 IGMPMLD2Vlaue=value:30-300s IGMPMLD3Vlaue=value:1-60s IGMPMLD4Vlaue=value:1-7s IGMPMLD5Vlaue=value:1-60s IGMPMLD1Key=Robustness IGMPMLD2Key=QueryInterval IGMPMLD3Key=QueryResInterval IGMPMLD4Key=LastMemQueryInterval IGMPMLD5Key=UnsolicitedReportInterval IGMPMLD6Key=SSMEnable *************************************************************** Robustness: 1-7 2 QueryInterval:30-300秒 125秒 QueryResInterval:1-60秒 10 LastMemQueryInterval:1-7秒 1 UnsolicitedReportInterval:1-60秒 1 SSMEnable: 全局轮询间隔: 4、query-interval 取值范围30-300秒(默认125秒) 这里仅针对下行通用查询报文。 网元下行通用查询包间隔时间,用来判断用户口是否仍为组播动态成员。这里仅针对通用查询报 查询次数: 5、robustness 取值范围1-7(默认2) 这里针对下行特定查询报文。 成员端口上行发送离开报文后,网元下行发送robustness个特定查询报文,如果端口在这段特定查询时间范围内没有回应加入报文,则网元将成员从组播组中移除。 需配置:成员端口不是组播快速离开的。如果是快速离开,则网元不下发特定查询报文,直接移除。 这里也针对上行加入和离开报文。 客户端回应超时间隔: QueryResInterval ****************************************************************** 开启代理查询器功能: ip igmp snooping querler 设置查询间隔时间 ip igmp snooping query-interval 10 设置查询最大响应时间 ip igmp snooping query-response-interval ********************************************************************* ***************************************************************************** igmp lastmember-queryinterval 命令用来在接口上配置IGMP查询器在收到主机发送的IGMP离开报文时, 发送IGMP特定组\源组查询报文的时间间隔 undo igmp lastmember-queryinterval命令用来恢复IGMP特定组\源组查询报文的发送时间间隔为缺省值。 缺省情况下,IGMP特定组\源组查询报文的发送时间间隔是1秒。 LastMemQueryInterval: ******************************************************************************* ***************************************************************************************** UnsolicitedReportInterval: unsolicited-report-interval 取值范围1-60秒(默认1秒)。 只针对上行加入/离开报文。 在Proxy模式下的主动上报加入和离开报文的时间间隔。若robustness为1,则只有一个加入/离开包;若robustness为2-7,则这2-7个加入/离开包的时间间隔为unsolicited-report-interval秒。 ———————————————— 版权声明:本文为CSDN博主「BigDeng_2014」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/BigDeng_2014/article/details/54669773 ***************************************************************************************** 具体的信息需要程序查找参数表 先做页面 # Global igmp configurationigmp robustness-variable 2 igmp query-interval 70 igmp query-response-interval 10 igmp last-member-query-interval 1 igmp unsolicited-report-interval 1 igmp ssm-enable true ##add interfaces -- as available in the system.# # interface br0 interface nas2 upstream Robustness_Value QueryInterval_Value QueryResInterval_Value LastMemQueryInterval_Value UnsolicitedReportInterval_Value SSMEnable_Value robustness是查询次数 interval_query是全局轮询间隔 interval_query_response是客户端回应超时间隔 quickleave要设置为0,不然就不会发起查询而是直接切断组播转发了。 https://github.com/cayxxx/igmpproxy 编译时替换掉原来的package/network/services/igmpproxy即可。 TCSUPPORT_TOTALPLAY "<%tcWebApi_get("WebCurSet_Entry","CurrentAccess","s")%>" tcapi get dynDisp_Entry CurMaskBit0 tcapi get dynDisp_Entry CurMaskBit0
IGMP参数
这篇博客详细介绍了网络配置中的IGMP代理设置,包括查询间隔、响应超时、组播代理等关键参数。讲解了如何通过tcapishow命令查看和设置这些参数,并涉及iptables规则和接口配置。还提到了全局轮询间隔、查询次数、客户端回应超时间隔等概念,以及其在IGMP协议中的作用。同时,文章讨论了启用代理查询器功能及其配置方法。
摘要由CSDN通过智能技术生成