Check_ping options not built in - use ping?
Andreas Ericsson
ae at op5.se
Thu Jun 16 14:18:02 CEST 2005
Dave Stubbs wrote:
> Andreas Ericsson wrote:
>
>> Dave Stubbs wrote:
>>
>>> Hello all,
>>>
>>> I need to be able to specify a source address for check_ping when
>>> querying certain hosts. The ping command has this option with -I
>>> (see man ping). Is there any way to do this with check_ping? Does
>>> check_ping have the ping command built into itself? Or does it call
>>> the ping binary?
>>>
>>
>> check_ping calls the ping binary. check_icmp has it built-in. It's
>> fairly easy to write such spoofing code when one has access to raw
>> sockets, but I never saw the need for it in a good honest application.
>> If you could sketch out the basics of your network setup and provide a
>> decent reason why the source IP should be user-definable I might add
>> it to check_icmp.
>>
> Wow - now that's a quick response!
>
> Basically the main reason for this request is OpenSWAN. I happen to run
> Nagios on the same machine that is my OpenSWAN gateway. A simple
> diagram is like this:
>
> Europe LAN-------- EuGate ---- Internet ---- NAGate ---- North America
> LAN Europe Private IP North
> America Priv IP
> 10.1.1.0/24 10.2.1.0/24
>
> Of course, on both the North America and Europe side, there are more
> routers on the LANs which connect to other networks.
>
> EuGate has a private IP of 10.1.1.1 and Public IP 212.3.3.3 (for instance)
> NAGate has a private IP of 10.2.1.1 and Public IP 24.3.3.3(for instance)
>
> Nagios runs on the NAGate machine, which does IPSec policy-based routing
> to send packets through the tunnel from the North America LAN to the
> Europe LAN and back:
>
> EuGate: Source Traffic 10.1.1.0/24 Destination 10.2.1.0/24 - Tunnel
> NAGate: Source Traffic 10.2.1.0/24 Destination 10.2.2.0/24 - Tunnel
>
> The IPSec policy applies to the Private IPs on either end.
> BUT here's where the problem begins. Because OpenSWAN uses IPSec
> policy-based routing instead of normal IP routing (with proper
> interfaces) the routes in this system look weird, but work ok.
>
> For instance, the route on NAGate that sends traffic through the tunnel
> is like this:
>
> Dst: 10.1.1.0
> Mask: 255.255.255.0
> GW: 24.3.3.1 - NAGate's ISP
>
> If you just look at that from a normal network routing perspective, you
> would say that it would never work. There's no way the Europe-bound
> traffic would ever make it to the Europe LAN by simply passing it to the
> ISP. But at this point the IPSec policy-based routing takes over, and
> redirects the traffic through the tunnel (which indeed still goes right
> to the ISP on the way to Europe)
>
> Soooooo... If I send a PING command from NAGate to the EuGate private
> IP or any other private IP on the Europe LAN, such as some host at
> 10.1.1.23, the originating address on the ping is the PUBLIC address of
> NAGate - 24.3.3.3. Because the originating address doesn't match the
> IPSec routing policy, it doesn't get encrypted and sent through the tunnel.
>
> BUT (here's the important part) if I specify my ping on the NAGate host
> like this:
>
> ping -I eth1 10.1.1.23 (eth1 is the private interface 10.2.1.1) the
> pings go through ok because their source address now fits the IPSec policy.
>
> If I was running Nagios on any other host on the network except the
> IPSec gateways, this wouldn't be a problem, but because it runs ON the
> gateway itself, the challenge arises.
>
> Is this non-convoluted enough to justify the change? :-)
>
Yes, but it's a fairly specific situation. I'd suggest you change the
ping command in config.h after having run ./configure. You can then set
the parameters to whatever you like. If you ever move your nagios
installation to another gateway (or change IP) you'd have to do the same
again.
--
Andreas Ericsson andreas.ericsson at op5.se
OP5 AB www.op5.se
Lead Developer
-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
Nagios-users mailing list
Nagios-users at lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nagios-users
::: Please include Nagios version, plugin version (-v) and OS when reporting any issue.
::: Messages without supporting info will risk being sent to /dev/null
More information about the Users
mailing list