Скорее всего проблема в этом. Примените патч:
--- sys/netinet/in.c.old Mon Sep 5 11:48:29 2005
+++ sys/netinet/in.c Mon Sep 5 11:50:07 2005
@@ -67,6 +67,10 @@
static int subnetsarelocal = 0;
SYSCTL_INT(_net_inet_ip, OID_AUTO, subnets_are_local, CTLFLAG_RW,
&subnetsarelocal, 0, "Treat all subnets as directly connected");
+static int sameprefixcarponly = 0;
+SYSCTL_INT(_net_inet_ip, OID_AUTO, same_prefix_carp_only, CTLFLAG_RW,
+ &sameprefixcarponly, 0,
+ "Refuse to create same prefixes on different interfaces");
struct in_multihead in_multihead; /* XXX BSS initialization */
@@ -801,10 +805,17 @@
/*
* If we got a matching prefix route inserted by other
- * interface address, we are done here.
+ * interface address, we are done here. If we are
+ * configured to refuse such configuration, then refuse.
*/
- if (ia->ia_flags & IFA_ROUTE)
- return 0;
+ if (ia->ia_flags & IFA_ROUTE) {
+ if (sameprefixcarponly &&
+ target->ia_ifp->if_type != IFT_CARP &&
+ ia->ia_ifp->if_type != IFT_CARP)
+ return (EEXIST);
+ else
+ return (0);
+ }
}
/*
И вот это net.inet.ip.same_prefix_carp_only=1 в /etc/sysctl.conf