Forum Discussion

Francisco_30437's avatar
Francisco_30437
Icon for Nimbostratus rankNimbostratus
Jul 28, 2010

Configure Health Monitor for Netbios Name Server UDP/137 on F5 big-ip

Hello all,

 

 

I'm wondering if it's possible to configure a health monitor to check if a WINS server is active. Now I have configured a default udp monitor and when I stop the WINS service on the server, F5 doesn't detect anything, the server remains up in the pool and F5 still continue sending traffic to the server. This is because using default udp monitor, if F5 doesn't get any error reply, assumes the service is UP.

 

 

I have read info about external monitors for dns service but to use the same solution we need an application similar to nslookup or dig to send requests to WINS servers. Anyone knows a netbios client for F5 big-ip?

 

 

Thanks for your comments.

 

 

Francisco

4 Replies

  • Hi Francisco,

     

     

    I think you could continue using the UDP monitor if that's successfully checking when the service is up. However, if you're using a default UDP monitor with no send string, I don't think it's a good check of whether the service is up. You could try using nmblookup (http://linux.die.net/man/1/nmblookup) to test to a WINS server, record the request string and try configuring that as the UDP monitor send string. For the receive string, you'd want to look for something that only occurs in successful responses.

     

     

    You could then combine the UDP monitor with an ICMP monitor together. The UDP monitor expects to receive an ICMP port unreachable response from the server if the UDP service is down. So you can use an ICMP monitor to ensure that the pool member is still marked down if the server is down and not sending the ICMP service unavailable message.

     

     

    If you can't get the UDP monitor working for this, you could search for a Perl library that supports querying WINS servers and use that in an external monitor. Or you could copy nmblookup to LTM and use that in an external monitor. The latter option wouldn't be supported by F5, but could work.

     

     

    For example external monitors, you can check the Codeshare:

     

     

    http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/codeshare

     

    http://devcentral.f5.com/wiki/default.aspx/AdvDesignConfig/TemplateForExternalLtmMonitors.html

     

     

    Aaron
  • Hello Hoolio,

     

     

    Thanks for your answer. Your first option is very interesting. I already was thinking about it but I though it were no possible to replicate a query netbios packet from a string. I can capture a query and reply netbios packet using a sniffer but the most important thing is to know what info copy to paste it on big-ip.

     

     

    From the sniffer capture I could get the packet info in hex or ascii format. Which format is best? I think the hex format is best because in ascii there's a lot of bytes missing (lots of .. ..). But how could I paste the hex bytes in the monitor string of big-ip?

     

     

    Thanks for your comments.

     

     

    Francisco
  • Are there any nulls in the string you want to send? If so, you'll need to use an external monitor as the inbuilt monitors don't support nulls. If you are able to use an inbuilt monitor, you can encode the characters using the format \x 20 (without the space between the \x and 20).

     

     

    Aaron
  • Hello Aaron,

     

     

    Netbios query has lots of zeros. I'll investigate further your second and third choices.

     

     

    Thanks.

     

     

    Francisco