Openwrt旁路由的网络模式使用keepalived双机热备
设备情况
设备信息 | 设备型号 | 设备IP |
---|---|---|
主路由 | 华硕AC-GT5300 | 192.168.43.1 |
旁路由 | openwrt | 192.168.43.2 |
虚拟Ip | 192.168.43.3 |
旁路由模式网关互指的缺点,如果旁路由死机,那么全部设备都无法上网,keeoalived则可以解决这个问题
1.安装keepalied
主路由和旁路由都执行命令
opkg update
opkg install keepalived
2.主路由配置keepalived
- 查看主路由ip为
192.168.43.1
的网卡信息1
ifconfig
有上图可见,
192.168.43.1
的网卡名字为br0
- 修改
/opt/etc/keepalived/keepalived.conf
配置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
26
27
28
29
30
31
32global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
router_id 132
## 修改执行脚本的用户为root
script_user root
enable_script_security
## 默认是224.0.0.18
vrrp_mcast_group4 224.0.0.18
}
vrrp_instance VI_1 {
state BACKUP ## 主节点为MASTER,备份节点为BACKUP
interface br0 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(服务器主机网卡)
virtual_router_id 130 ## 虚拟路由ID号(主备节点一定要相同)
mcast_src_ip 192.168.43.1 ## 本机ip地址
priority 80 ##优先级配置(0-254的值)
advert_int 1 ## 组播信息发送间隔,俩个节点必须配置一致,默认1s
authentication { ## 认证匹配
auth_type PASS ## 认证方式:PASS
auth_pass keepalived ## 认证密码
}
## ipv4的虚拟ip
virtual_ipaddress {
192.168.43.3 ## 虚拟ip,可以指定多个
}
## ipv6的虚拟ip
virtual_ipaddress_excluded {
fe80::7285:c2ff:fea9:1/64
}
} - 添加启动文件
/opt/etc/init.d/S07keepalived
配置权限1
2
3
4
5
6
7
8
9
10!/bin/sh
ENABLED=yes
PROCS=keepalived
ARGS="-n -f /opt/etc/keepalived/keepalived.conf"
PREARGS=""
DESC=$PROCS
PATH=/opt/sbin:/opt/bin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. /opt/etc/init.d/rc.funcchmod +x /opt/etc/init.d/S07keepalived
3.旁路由配置
- 查看主路由ip为
192.168.43.2
的网卡信息1
ifconfig
有上图可见,
192.168.43.2
的网卡名字为eth0
- 修改
/etc/keepalived/keepalived.conf
配置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
26
27
28
29
30
31
32
33global_defs {
# 路由id:当前安装keepalived的节点主机标识符,保证全局唯一
router_id 131
## 修改执行脚本的用户为root
script_user root
enable_script_security
## 默认是224.0.0.18
vrrp_mcast_group4 224.0.0.18
}
vrrp_instance VI_1 {
state MASTER ## 主节点为MASTER,备份节点为BACKUP
interface eth0 ## 绑定虚拟IP的网络接口(网卡),与本机IP地址所在的网络接口相同(服务器主机网卡)
virtual_router_id 130 ## 虚拟路由ID号(主备节点一定要相同)
mcast_src_ip 192.168.43.2 ## 本机ip地址
priority 100 ##优先级配置(0-254的值)
advert_int 1 ## 组播信息发送间隔,俩个节点必须配置一致,默认1s
authentication { ## 认证匹配
auth_type PASS ## 认证方式:PASS
auth_pass keepalived ## 认证密码
}
# ipv4的虚拟ip
virtual_ipaddress {
192.168.43.3 ## 虚拟ip,可以指定多个
}
# ipv6的虚拟ip
virtual_ipaddress_excluded {
fe80::7285:c2ff:fea9:1/64
}
} - 修改启动文件
/etc/init.d/keepalived
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
26
27
28
29
30
31
32!/bin/sh /etc/rc.common
Copyright (C) 2007-2015 OpenWrt.org
START=70
STOP=01
USE_PROCD=1
KEEPALIVED_CONF=/etc/keepalived/keepalived.conf
service_triggers() {
procd_add_reload_trigger "keepalived"
}
reload_service() {
#SIGHUP is used by keepalived to do init.d reload
procd_send_signal keepalived
}
start_service() {
procd_open_instance
procd_set_param command /usr/sbin/keepalived
procd_append_param command -n # don't daemonize, procd will handle that for us
procd_append_param command -f "$KEEPALIVED_CONF"
# set auto respawn behavior
procd_set_param respawn
procd_close_instance
}
4.修改路由器配置
- 主路由配置 ipv4的网络配置 内网网络(LAN) -> DHCP服务器, 修改默认网关和DNS服务器为虚拟ip:
192.168.43.3
ipv6的网络配置 将IPV6 DNS服务器改为虚拟Ip的
fe80::7285:c2ff:fea9:1
- 旁路由配置 将ipv4网卡指向主路由Ip地址 DNS服务器指向自己的ip地址
5.重启主路由和旁路由
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Chc-个人数据程序主页!