OpenWRT VRRP协议配置:
OpenWRT上需要安装keepalived,安装命令:

opkg update & opkg install keepalived
COPY
然后,修改配置文件 /etc/keepalived/keepalived.conf,内容如下(没有就自行新建):

global_defs {
   router_id LVS_DEVEL
}
vrrp_instance VI_1 {
  interface br-lan #指定连接ROS的接口,默认为LAN接口的桥接
  state BACKUP #默认状态是BACKUP,也可以指定为MASTER
  virtual_router_id 51 #和ROS保持一致即可
  priority 110 # 本机优先级为110,主路由,ROS优先级为100
  advert_int 1

  virtual_ipaddress {
    192.168.88.8 # 虚拟网关地址,和ROS保持一致
  }
}

划重点
OpenWrt安装后,启动时候会自动执行配置命令,故:每次配置完毕后,一旦重启OpenWrt,配置文件会丢失。解决办法是注释掉以下配置,代码位置:/etc/init.d/keepalived

reload_service() {
        #process_config   这行代码是需要注释的
        #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"

        #process_config    这行代码也是需要注释的

        # set auto respawn behavior
        procd_set_param respawn
        procd_close_instance
}

启动 /usr/sbin/keepalived -n -f /etc/keepalived/keepalived.conf(可略,参见下面的附录)
查看服务情况 ps -ef | grep keepalived
查看服务状态service keepalived status
重载配置文件 service keepalived reload
启动服务 service keepalived start
停止服务 service keepalived stop

附录:

由于keepalived启动时候指定了配置文件,故在/etc/init.d/keepalived文件的首几行可以修改指定配置文件

#KEEPALIVED_CONF=/tmp/keepalived.conf 这行注释掉,或者改成如下:
KEEPALIVED_CONF=/etc/keepalived/keepalived.conf
COPY
这样,Openwrt重启后,配置文件就不会丢失且会自动按配置文件/etc/keepalived/keepalived.conf来启动keepalived

本文为原创,转载请预留本文地址。https://www.mmgg.net/archives/301

文档更新时间: 2023-08-09 02:20   作者:月影鹏鹏