我尝试安装 2 个带有 carp 接口的 freebsd 路由器。由于我只有一个 wan 地址,假设为:1.2.3.4,我想使用私有范围 ips 来执行 carp 工作:
10.0.0.1(路由器 1)别名(1.2.3.4)10.0.0.2(路由器 2)别名(1.2.3.4)
我的 ISP 网关是:1.2.3.5
因此当我 ping 1.2.3.5 时
ping:sendto:没有到主机的路由
这是可以预见的。
有些帖子正在讨论使用 pfsense 来完成这项工作。但是,我只有一个 freebsd 路由器。如果能得到一些帮助,我将不胜感激。
谢谢
答案1
你应该能够做到这一点别名接口。
主机 1 上的内容rc.conf
如下所示:
ifconfig_fxp0="inet 10.0.0.1/24"
ifconfig_fxp0_alias0="inet 1.2.3.4/24 vhid 100 传递 mekmitasdigoat"
在主机 2 上
ifconfig_fxp0="inet 10.0.0.2/24"
ifconfig_fxp0_alias0="inet 1.2.3.4/24 vhid 100 通过 mekmitasdigoat advskew 100"
只要 WAN 和私有地址位于不同的网络范围内,此方法即可奏效。否则,您必须使用 /32 子网掩码,如手册所述。例如,如果您的 WAN 地址是 10.0.0.3,则您需要在主机 1 上进行以下配置:
ifconfig_fxp0="inet 10.0.0.1/24"
ifconfig_fxp0_alias0="inet 10.0.0.3/32 vhid 100 传递 mekmitasdigoat"
在主机 2 上
ifconfig_fxp0="inet 10.0.0.2/24"
ifconfig_fxp0_alias0="inet 10.0.0.3/32 vhid 100 通过 mekmitasdigoat advskew 100"
答案2
我可能错了,但据我所知你需要三个地址。
OpenBSD 有 carpdev(4),它消除了对额外地址的需求