我已经设置了 keepalived 来管理两个主机之间的虚拟 IP。
我的设置如下
Server #1: Hostname folmer, ip 192.168.0.1/22 dev p2p1
Server #2: Hostname flemming, ip 192.168.0.2/22 dev p2p1
VIP: 192.168.0.3/22
Keepalived 正在运行,当一台服务器出现故障时,VIP 会在服务器之间切换。
问题:在本地网络上,我可以 ping 通 192.168.0.3,但是当我将默认路由设置为 192.168.0.3 而不是 192.168.0.1 时,我无法再通过服务器 #1 访问互联网。
服务器#1上的Keepalived配置:
global_defs {
notification_email {
[SNIP]
[SNIP]
}
notification_email_from [SNIP]
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id folmer
}
vrrp_instance VI_1 {
state MASTER
interface p2p1
virtual_router_id 52
priority 150
advert_int 1
garp_master_delay 2
smtp_alert
authentication {
auth_type PASS
auth_pass [SNIP]
}
virtual_ipaddress {
192.168.0.3 label p2p1:0
}
}
服务器 #1 ip:
p2p1 Link encap:Ethernet HWaddr 00:0a:f7:40:d7:5f
inet addr:192.168.0.1 Bcast:192.168.3.255 Mask:255.255.252.0
inet6 addr: fe80::20a:f7ff:fe40:d75f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:11446972 errors:0 dropped:0 overruns:0 frame:0
TX packets:11382043 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:5461610409 (5.4 GB) TX bytes:9274459351 (9.2 GB)
Interrupt:16
p2p1:0 Link encap:Ethernet HWaddr 00:0a:f7:40:d7:5f
inet addr:192.168.0.3 Bcast:0.0.0.0 Mask:255.255.255.255
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Interrupt:16
编辑
仍然无法正常工作。只要客户端使用 IP192.168.0.1
作为网关而不是192.168.0.1
,路由就已配置并正常工作。显然我希望它能与 一起工作192.168.0.3
。
答案1
我猜可能是
ip addr show | grep global
将显示你的虚拟地址是
192.168.0.3/32
/32 通常不是所需的结果,因此您应该添加例如/24:
virtual_ipaddress {
192.168.0.3/24 label p2p1:0
}