Two NIC in two different vLANs

Hi,
I am running HAOS on an ESXi. My network is divided in several vLANs which typically works relatively well. However, I do have an issue with my solar inverter (E3DC) and its modbus implementation. Apparently this implementation only talks to devices which are on the same network (IP range) as the inverter. My currently vLAN design puts them in two separated vLAN’s and I would want to keep the vLAN design in place.

The easy solution would be to make the HA installation being dual homed (i. e. one interface in each of the two vLAN’s). However, when i try to set this up (add another NIC to the VM which is connected to the other vLAN), then HA becomes unavailable through the network. Can anyone tell me how I can get this implemented?

Something like this? Setup VLAN and HA tutorial

I have it setup now for ages and it migrated from version to version. I remember doing something with nmcli. Make sure that router and DNS are set for all interfaces. Only the default VLAN should be untagged, all others must be tagged.

Or you could just do source NAT on your router? That way Inverter would see a connection coming from the same subnet.

Thanks. That was my first thought, too. However, this doesn’t seem to be that easy in my environment (UDM-Pro with USW-Pro-PoE). So the dual home setup is my plan B already. :wink:

Played a bit more with the system. Apparently the second NIC is registered and is working fine. So once I add the second vLAN the entire installation of HA is switching over. I can hence reach the HA UI via the new IP but I can’t reach it via the old IP. In the network settings both are shown, however the new interface is marked as default (and I can’t find a way to change that).

You should be able to reach HA on both NICs, but all multicast will be probably be limited to just one of the NICs and multicast is normally used for discovery services, which also include mDNS that translate your homeassistant.local.
In other words IP addresses should work on both NICs.

How are you defining the IP on the second NIC? Is it static? It should be because only one NIC should have a gateway; generally the one you are going to use for management. The other NIC just needs an IP and Network Mask configured on it. You will confuse your HA if you have two gateways.

The OS can easily manage multiple gateways, because each gateway will be given a metric value that sets it priority, but if the NICs are set to DHCP, then the user might have an issue in following these metric values.

True about the metrics, but there is no good reason to have a second default gateway and that should only be set if you plan on using the second NIC as a fail-over NIC in case the primary goes down. Best practice is to not set a gateway on the second NIC if it’s just used to talk to devices local on that specific VLAN.

Source: I’m a Network Engineer

Unfortunately this is not the case in my environment. I always access HA via its IP’s and have no internal DNS in this network segment. I have read about the limitations of multicast and this is in general fine for me. The majority of my devices are added explicitly anyway (due to the pre-existing vlan structure and my job induced security paranoia ;-)). From all tutorials I would have expected that HA would be available via both NIC and its IP’s, too. Is there a way to debug this?

@Tylan: IP’s are assigned static. However, both do have a gateway and the HA UI doesn’t even let me remove the gateway for the new vLAN. One of the interfaces (in my case the new one) is tagged as “default” and I wasn’t able to find a way to change that. Any idea how this could be done? Maybe this is a way to get my “old” IP back working as normal.

Did you ever find a solution? I’d like to do something similar in my network.

Use your router and its firewall to route and block connection between your VLANs.
It is what it is made to do.

Your will get much trouble with all the network services that both run a client and server application, because these usually gather a list from the network and then broadcast it again to service devices.
This is not just multicast. It is all kind of discovery services.

If you really want to do it, then switch to HA supervised installation, because you are going to have to make a complex network setup and you need to understand network settings, routes, application bindings and how application use their information on the network.

@Jo-Highness, I’m having the same issue. I have Sense monitoring and it worked best under a separate network. However, it only detects devices connected to it. I’m pushing information from HA to Sense via Emulated Kasa, but that runs through my main network. I used to be able to run instances of HA in both networks at the same time, allowing discovery and actual management on both. Was able to do this when I used Virtualbox with no issues. Now that I switched to VMWare, it doesn’t allow for both to work at the same time. Have you found a solution?

Discovery have never worked on multiple LANs. It will require a very special setup to avoid one LAN’s discovery not polluting the other one’s.
If it worked in VirtualBox, then it sounds like you had the network configured to actually use the same virtual network, but with different subnet configurations. Discovery often do not use subnets, so they do not care.