客户的业务情况如下,我们连的 vpn2 上去部署的业务,一开始三台机器,上面只有 NC1 这一个网卡,客户给了个 vip 让我们配置上,说 vip 两个 vpn 都能访问到。后面实际配置完发现不通,沟通了一番了解清楚网络后,使用了如下方案。
NC1 的网络是 172.18.27.252/25 via 172.18.27.129
是默认路由,NC2 是 172.18.27.99/25 via 172.18.27.1
,两个网卡不同的 vlan,172.18.27.0/25
的网络里没有多少 IP 了,所以拿来做 VIP 的话得用 NC1 做心跳线。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| +---------------+ +--------------+ | VPN1 | | VPN2 | | | | | | | | | | | | | | | | | +-------------+-+ +-+--+---------+ | | | | | | | | | | | | +---------+--------------+ | | | | | | +------+ | | | v +-v-+ +--++ |NC2| |NC1| +----------------------------+ | | | ecs | | | | | +----------------------------+
|
keepalived 配置为如下:
1 2 3 4 5 6 7 8 9 10 11 12
| vrrp_instance "xxx" { unicast_src_ip 172.18.27.252 unicast_peer { 172.18.27.253 } ... interface enp1s0 #管理网 ... virtual_ipaddress { 172.18.27.99/25 dev enp3s0 # 业务 vip } }
|
配置完发现二层才能通,发现是 172.18.27.252 是默认路由,想了个解决办法就是 vip 的网卡 NC2 做默认路由,三台机器前两台才运行 keepalived,所以拿第三台机器当跳板机同一个二层内连前两台。里配置,大概配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| vrrp_instance "xxx" { unicast_src_ip 172.18.27.252 unicast_peer { 172.18.27.253 } ... interface enp1s0 #管理网 ... virtual_ipaddress { 172.18.27.99/25 dev enp3s0 # 业务网卡 } virtual_routes { 0.0.0.0/0 via 172.18.27.1 dev enp3s0 } }
|
参考