keepalived virtual MAC doesn't work

Bug #1946041 reported by Leroy Tennison
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
keepalived (Ubuntu)
Expired
Undecided
Unassigned

Bug Description

Description: Ubuntu 18.04.6 LTS
Release: 18.04
Source:
http://archive.ubuntu.com/ubuntu/pool/universe/k/keepalived

apt-cache policy keepalived
keepalived:
  Installed: 1:1.3.9-1ubuntu0.18.04.2
  Candidate: 1:1.3.9-1ubuntu0.18.04.2
  Version table:
 *** 1:1.3.9-1ubuntu0.18.04.2 500
        500 http://us.archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        500 http://us.archive.ubuntu.com/ubuntu bionic-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1:1.3.9-1build1 500
        500 http://us.archive.ubuntu.com/ubuntu bionic/main amd64 Packages

Configuration being used after "apt install keepalived":

global_defs # Block id
{
notification_email {
        <email address hidden>
}

        notification_email_from <email address hidden>
        smtp_server 192.168.1.254 # IP
        smtp_connect_timeout 30 # integer, seconds
        router_id u18.04svr # string identifying the machine,
                                     # (doesn't have to be hostname).
        vrrp_mcast_group4 224.0.0.18 # optional, default 224.0.0.18
        vrrp_mcast_group6 ff02::12 # optional, default ff02::12
        enable_traps # enable SNMP traps
}

vrrp_instance websrvr {
        state MASTER
        interface enp1s0
        virtual_router_id 51
        priority 100
        advert_int 1
        smtp_alert
        # Using the below for additional text messaging
        authentication {
                auth_type PASS
                auth_pass 8charmax
        }
        virtual_ipaddress {
                192.168.1.20
        }
        use_vmac
        vmac_xmit_base
}

If the last two lines (use_vmac and vmac_xmit_base) communication with 192.168.1.20 (the virtual_ipaddress) fails, if they are commented out communication works. No firewall is being used on the system. rfc3768 section 7.3 provides the specifics about virtual mac addresses. The keepalived implementation creates an additional NIC and assigns the virtual_ipaddress to it if the vmac configuration is used. If they aren't used and a failover occurs then connectivity is lost to the virtual IP address until arp cache timeout occurs on client devices and the different mac address is learned.

I have a suspicion that this is systemd related. The reason is that, when installed on Devuan [Devuan GNU/Linux 2.1 (ascii) - a non-systemd distribution of Debian] it works. I even de-installed the Ubuntu version, downloaded the keepalived.deb (1:1.3.2-1) on the Devuan system, transferred it to the Ubuntu system, installed it and resolved dependencies, used the same keepalived.conf from Devuan changing only the interface name and started keepalived (keepalived on Devuan was shut down for the test). I got the same results as with the Ubuntu version. This problem also existed on Ubuntu 16.04 LTs which used an even older version of keepalived.

Revision history for this message
Lucas Kanashiro (lucaskanashiro) wrote :

Thanks for taking the time to file this bug and try to make Ubuntu better.

Could you please also share the logs? Are you running this on bare metal or for instance in a public cloud provider?

I've found some issues on the web regarding multicast and vmac under certain circumstances if you can provide more info we can try to pinpoint the issue here.

I am setting the status of the bug to Incomplete, once you provide more info please set it back to New and we will take a look.

Changed in keepalived (Ubuntu):
status: New → Incomplete
Revision history for this message
Leroy Tennison (ltennison) wrote :

I apologize, I'm now having trouble reproducing the problem. If it re-occurs I'll immdeiately capture the log.

Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for keepalived (Ubuntu) because there has been no activity for 60 days.]

Changed in keepalived (Ubuntu):
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers