carp and rtadvd
Mark Felder
feld at FreeBSD.org
Thu Jan 30 00:55:20 UTC 2014
On Jan 28, 2014, at 7:07, Ole Myhre <ole at dataoppdrag.no> wrote:
> Hi,
>
> I have a simple setup with two 10.0-RELEASE firewalls running carp, a
> virtual IPv6 address and running rtadvd:
>
> (applied to both firewalls)
>
> # kldload carp
> # ifconfig em2 inet6 2001:db8::1/64 vhid 1 up
> # sysctl net.inet6.ip6.forwarding=1
> # echo 'rtadvd_enable="YES"' >> /etc/rc.conf
> # echo 'rtadvd_interfaces="em2"' >> /etc/rc.conf
> # service rtadvd start
>
> This works fine, one firewall is MASTER, the other BACKUP and the
> clients behind em2 gets a prefix in the 2001:db8::/64 subnet. However
> both firewalls are sending router advertisements (only one being MASTER)
> with the LL-address of the physical em2 interface as the gateway. This
> causes clients that supports multiple default gateways to select both
> firewalls as their default gateway, and sending traffic to both the
> MASTER and BACKUP firewall.
>
> Is there a way to make only the MASTER send router advertisements or
> (preferably only the MASTER) sending router advertisements with a
> virtual LL-address?
>
What I would do is use devd to start/stop the rtadvd service based on whether or not you're master.
# notify 30 {
# match "system" "IFNET";
# match "subsystem" "carp0";
# match "type" "LINK_UP";
# action "/path/to/script/or/command";
# };
#
# notify 30 {
# match "system" "IFNET";
# match "subsystem" "carp0";
# match "type" "LINK_DOWN";
# action "/path/to/script/or/command";
# };
More information about the freebsd-net
mailing list