У меня была такая же проблема с другим типом устройства, и я придумал, как это сделать. Вам нужна комбинация iptables mangle и ip route
Дайте каждому интерфейсу уникальный IP-адрес (192.168.44.8 ниже )в той же подсети, что и устройство. В этом примере виртуальный IP-адрес для первого устройства — 192.168.44.9
.Все мои физические устройства находились по адресу 192.168.44.1 на 4 разных интерфейсах, и с помощью этого шаблона и виртуальных IP-адресов я мог надежно связываться со всеми из них.
iptables -t mangle -A PREROUTING -d 192.168.44.9 -j MARK --set-mark 0x01
iptables -t nat -A PREROUTING -m mark --mark 0x01 -d 192.168.44.9 -j DNAT --to-destination 192.168.44.1
iptables -t nat -A POSTROUTING -m mark --mark 0x01 --destination 192.168.44.1 -j SNAT --to-source 192.168.44.8
После этого добавьте следующие маршруты.
ip route add 192.168.44.0/24 dev eth4 table 1
ip rule add from all fwmark 1 table 1
ip route flush cache
Вы можете повторять этот паттерн любое количество раз, просто увеличивайте отметку и адреса для того, сколько интерфейсов у вас есть.
Надеюсь, это будет полезно другим пользователям, имеющим дело с дубликатами адресов на разных сетевых интерфейсах.