我正在 Linode 上运行一个应用程序。他们的网络不支持多播。许多用于故障转移的工具(keepalived、spread/wackamole、heartbeat)需要多播才能工作(据我所知)。我已经阅读了所有这些的文档,即使在“单播”模式下(如果有的话)它仍然通过多播发送。
我知道通过 GRE 隧道,我可以在路由器不知道的情况下有效地发送多播,这将使我能够使用其中一种工具(现在我想使用 keepalived)。
我在设备“gretun”上设置了我的隧道,如下所示:
10.0.0.1 是指向 www1
的隧道接口点 10.0.0.2 是指向 www2 的隧道接口点
我可以nc 10.0.0.2 80
从 www1 和nc 10.0.0.1 80
www2,所以它似乎正在工作。假设我要共享的公共 IP 是 69.164.69.69。
我有两个问题:
配置keepalived监控隧道(gretun)后,两台机器还是看不到对方。这是我的配置:
global_defs {
notification_email {
info@app.com
}
notification_email_from alerts@app.com
smtp_server localhost
smtp_connect_timeout 30
router_id www1.app.com
}
vrrp_script chk_haproxy {
script "killall -0 haproxy"
interval 2
weight 2
}
vrrp_instance VI_1 {
state MASTER
interface gretun
virtual_router_id 51
priority 100
advert_int 1
garp_master_delay 2
smtp_alert
authentication {
auth_type PASS
auth_pass …
Run Code Online (Sandbox Code Playgroud)