Forum Discussion
Francisco_30437
Nimbostratus
Jul 28, 2010Configure 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
- hoolio
Cirrostratus
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 - Francisco_30437
Nimbostratus
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 - hoolio
Cirrostratus
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 - Francisco_30437
Nimbostratus
Hello Aaron,
Netbios query has lots of zeros. I'll investigate further your second and third choices.
Thanks.
Francisco
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects