The problem isn’t limited to Windows.
It’s the same with Linux!
I installed a Linux Mint VM on a test PC with three network cards: two green and one blue.
I created three fixed leases in DHCP for each card, each with a different name.
/var/ipfire/dhcp/fixleases
00:0c:29:86:74:c9,192.168.20.11,on,,,,mintPC
00:0c:29:86:74:d3,192.168.20.20,on,,,,mintPC2
00:0c:29:86:74:dd,192.168.10.10,on,,,,mintPCBlue
I created the same addresses in hosts
/var/ipfire/main/hosts
on,192.168.20.11,mintPC,localdomain,on
on,192.168.20.20,mintPC2,localdomain,on
on,192.168.10.10,mintPCBlue,localdomain,on
I connected the three network cards alternately, disconnecting the previous one each time.
And here’s what I get in my Linux Mint terminal:
phili@linuxmint:~$ ssh -p 222 root@192.168.20.1
root@192.168.20.1's password:
Last login: Mon Apr 28 20:51:04 2025 from 192.168.20.20
[root@ipfireTest ~]# unbound-control list_local_data | grep linuxmint
10.10.168.192.in-addr.arpa. 60 IN PTR linuxmint.localdomain.
11.20.168.192.in-addr.arpa. 60 IN PTR linuxmint.localdomain.
20.20.168.192.in-addr.arpa. 60 IN PTR linuxmint.localdomain.
linuxmint.localdomain. 60 IN A 192.168.10.10
linuxmint.localdomain. 60 IN A 192.168.20.20
linuxmint.localdomain. 60 IN A 192.168.20.11
[root@ipfireTest ~]# nslookup linuxmint 192.168.20.1
Server: 192.168.20.1
Address: 192.168.20.1#53
Name: linuxmint.localdomain
Address: 192.168.10.10
Name: linuxmint.localdomain
Address: 192.168.20.20
Name: linuxmint.localdomain
Address: 192.168.20.11
[root@ipfireTest ~]# unbound-control list_local_data | grep 10.10
110.100.in-addr.arpa. 10800 IN NS localhost.
110.100.in-addr.arpa. 10800 IN SOA localhost. nobody.invalid. 1 3600 1200 604800 10800
10.10.168.192.in-addr.arpa. 60 IN PTR linuxmint.localdomain.
10.10.168.192.in-addr.arpa. 60 IN PTR mintPCBlue.localdomain.
linuxmint.localdomain. 60 IN A 192.168.10.10
mintPCBlue.localdomain. 60 IN A 192.168.10.10
[root@ipfireTest ~]# unbound-control list_local_data | grep 20.11
linuxmint.localdomain. 60 IN A 192.168.20.11
mintPC.localdomain. 60 IN A 192.168.20.11
[root@ipfireTest ~]# unbound-control list_local_data | grep 20.20
20.20.168.192.in-addr.arpa. 60 IN PTR linuxmint.localdomain.
20.20.168.192.in-addr.arpa. 60 IN PTR mintPC2.localdomain.
linuxmint.localdomain. 60 IN A 192.168.20.20
mintPC2.localdomain. 60 IN A 192.168.20.20
phili@linuxmint:~$ host linuxmint
linuxmint.localdomain has address 192.168.20.20
linuxmint.localdomain has address 192.168.20.11
linuxmint.localdomain has address 192.168.10.10