jlijian3 / lvs-snat

85 stars 33 forks source link

messages 报错 #6

Open dhh123 opened 5 years ago

dhh123 commented 5 years ago

HI 大神: 我在2.6.32-358 内核版本成功编译了lvs-snat 但是在接入流量后,经常会报以下错误 May 5 03:31:02 00 kernel: __ratelimit: 3 callbacks suppressed May 5 03:31:02 00 kernel: IPVS: SNAT: no destination available May 5 03:31:03 00 kernel: IPVS: SNAT: no destination available May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_fill_snat_rule error. May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error. May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_fill_snat_rule error. May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error. May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_fill_snat_rule error. May 5 03:31:03 00 kernel: IPVS: ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error. May 5 03:31:04 00 kernel: IPVS: SNAT: no destination available May 5 03:31:04 00 kernel: IPVS: SNAT: no destination available

但是我没看到网卡丢包等错误出现。。求解答

lvsgate commented 5 years ago

ipvsadm -Ln 能看到snat 规则吗?

dhh123 commented 5 years ago

image

lvsgate commented 5 years ago

"SNAT: no destination available"是报文没有匹配到snat规则,比如来源地址不在规则列表里面

“”ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error“ 这个我要再看下代码

dhh123 commented 5 years ago

"SNAT: no destination available"是报文没有匹配到snat规则,比如来源地址不在规则列表里面

“”ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error“ 这个我要再看下代码

好的,辛苦。。目前我能确实的是加的那些规则里面的IP是能够转发流量出去的(ping tcp)

lvsgate commented 5 years ago

@dhh123 有没有“nl_stats == NULL”这个错误信息

dhh123 commented 5 years ago

@dhh123 有没有“nl_stats == NULL”这个错误信息

没有

lvsgate commented 5 years ago

@dhh123 ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error, 是在用ipvsadm -ln查看规则的时候,规则太多了,skb空间不足放不下了,内核无法返回所有规则给用户空间。 你是不是只能看到一部分规则。 这个要看下有没有办法扩大skb空间。 if (unlikely(skb_tailroom(skb) < nla_total_size(attrlen))) return -EMSGSIZE;

dhh123 commented 5 years ago

@dhh123 ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error, 是在用ipvsadm -ln查看规则的时候,规则太多了,skb空间不足放不下了,内核无法返回所有规则给用户空间。 你是不是只能看到一部分规则。 这个要看下有没有办法扩大skb空间。 if (unlikely(skb_tailroom(skb) < nla_total_size(attrlen))) return -EMSGSIZE;

@dhh123 ip_vs_genl_dump_dest(): ip_vs_genl_fill_dest error, 是在用ipvsadm -ln查看规则的时候,规则太多了,skb空间不足放不下了,内核无法返回所有规则给用户空间。 你是不是只能看到一部分规则。 这个要看下有没有办法扩大skb空间。 if (unlikely(skb_tailroom(skb) < nla_total_size(attrlen))) return -EMSGSIZE;

您好, 我看了ipvsadm -ln 和ipvsadm --save 返回规则的数量是一样的。是ipvsadm --save 也不能返回所有的规则了吗? 是否有内核参数调整skb 空间呢