NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

npf and carp



I am trying to get npf to play nicely with a carp interface and am having trouble.  The basic setup is that two hosts share in IP via carp and I want to connect to that interface (i.e., either host) via ssh.  The following works:

- Carp will switch the interface from host to host
- Ssh connects to either host via its native IP
- Ssh connects to a carp IP only if npf is not active; this is the problem.

I have tried to simplify the npf rules as much as possible to try to isolate the problem.  Below is the npf.conf I am using.  Note that the rules for the native interface (group "external") are equivalent to those for the carp interface (group "external_carp") except for the rule passing the multicast address for carp, which allows the carp switching to take place.  I do not understand why one of the ssh rules works and the other does not.

I would appreciate any help you can offer.  Thanks a lot.

Cheers,
Brook


# /etc/npf.conf

$ext_if = inet4(xennet3)
$ext_if_carp = inet4(carp0)

$localnet = { XXX.XXX.XXX.0/24 }
$multicast_carp = { 224.0.0.18 }

alg "icmp"

procedure "log" {
        log: npflog0
}

group "external" on $ext_if {
        pass stateful out final all
        pass stateful in final family inet4 proto tcp to $ext_if port ssh apply "log"
}

group "external_carp" on $ext_if_carp {
        pass stateful out final all
        pass stateful in final family inet4 proto tcp to $ext_if_carp port ssh apply "log"
pass in final from $localnet to $multicast_carp
}

group default {
pass stateful final proto icmp all apply "log"
block in all
block out all
}



Home | Main Index | Thread Index | Old Index