I am trying to bridge two LANs at Layer 2 between two sites that have no possible cable path between them (about 70 m apart, reinforced concrete, one site is an underground garage). Both sites have mobile-only WAN, two separate SIMs from the same Italian carrier. A Tesla Wall Connector in the garage has to sit on the same flat L2 segment as a Powerwall Gateway in the house, because pairing and daily charge management rely on mDNS/broadcast discovery. A routed L3 VPN is not enough, and this has to be a permanent link.
**Setup**
● Site A (house): Chateau 5G R17 ax, RouterOS 7.23.3. Main router, bridge `bridge`, LAN 192.168.88.0/16, DHCP server on 192.168.88.1.
● Site B (garage): Chateau LTE12, RouterOS 7.23.3. Bridge `bridge1`, management address 192.168.88.254/16, no DHCP server.
● A FRITZ!Box 3490 in AP mode (DHCP disabled) cabled to the LTE12 provides WiFi to the Wall Connector.
● Both SIMs are behind CGNAT on IPv4. Both get a dynamic IPv6 /64, but the carrier blocks all inbound IPv6 — verified with explicit ICMPv6 and UDP accept rules in place, no reply on either global address.
**What I built**
ZeroTier on both routers as the transport, with an EoIP tunnel between the two ZeroTier addresses, bridged at both ends:
```
/interface eoip add name=eoip-box remote-address=10.81.124.187 tunnel-id=100 mtu=1400
/interface eoip add name=eoip-casa remote-address=10.81.124.250 tunnel-id=100 mtu=1400
```
The EoIP interface is a bridge port on both sides, so the two LANs form one flat segment with a single DHCP server on the house side. Broadcast is enabled on the ZeroTier network, multicast limit 32. MTU also tested at 1350 and 1300, with `clamp-tcp-mss=yes`.
**Bench test: passed.** With both routers side by side on a desk and the garage router on its own SIM (not a LAN cable, to avoid a bridge loop), a laptop on the FRITZ!Box WiFi got 192.168.88.183 from the house DHCP through the tunnel and reached the house LAN with 0% packet loss.
**Production: failed.** Once the LTE12 was installed in the garage, unicast still works — ICMP across the tunnel is fine both ways — but broadcast does not. No client on the garage side ever gets an address. A sniffer on the LTE12 shows the DHCP Discover frames leaving the garage bridge; the DHCP log on the house router shows nothing arriving.
**Cause:** the two ZeroTier peers never establish a direct path. The house node presents itself over IPv4 from behind CGNAT, the garage node over IPv6. The two families cannot meet, so everything goes through ZeroTier's public relays, and the relays do not carry broadcast/multicast. On the bench the two nodes were on the same LAN and peered directly, which is exactly why the bench test passed.
**Where I am now**
The plan is to replace ZeroTier with Back To Home as the transport, keeping the same EoIP-over-VPN architecture: BTH relays plain WireGuard, so an EoIP payload including broadcast should pass through untouched. I have read the thread here about creating a BTH user on one router, exporting its WireGuard config and importing it on the second router with `wg-import`, and it looks like exactly what I need.
Both routers are on 7.23.3. I am aware 7.24 was released a few days ago, and I have read the WireGuard fixes in it — endpoint domain name now printed by `wg-export`, whitespace handling in AllowedIPs during `wg-import`, wg-quick specific keys now ignored on import — which all look directly relevant to the export/import step this method depends on. I have not upgraded yet: the house router carries a home automation controller that has only just been stabilised, and I would rather not put a few-days-old release on it before the tunnel itself is proven. If the export/import step misbehaves on 7.23.3 I will upgrade, starting with the remote router.
Before I commit to it, a few questions to anyone who has run this in production:
1. How stable is the BTH relay over weeks for a permanent low-bandwidth link (a few kbit/s, 24/7)? Are there session timeouts or keepalive settings I should set from the start?
2. Any recommended EoIP MTU for EoIP encapsulated in WireGuard over LTE? I am starting from 1400 with MSS clamping, but I would rather begin from a value someone has actually measured.
3. Does anything change if both ends are behind CGNAT rather than just one? In my case neither router can be reached from outside.
4. One thing I ran into that others may want to avoid: with the remote end powered off, the EoIP interface left enabled as a bridge port kept changing state, and the RSTP topology-change notifications flushed the bridge MAC table every few minutes. A home automation controller on the same bridge lost connectivity roughly every five minutes until I disabled the port. I will be setting `edge=yes` on the tunnel port this time — is that the right approach, or would you use `protocol-mode=none` or a separate bridge instead?
5. Has anyone set up BTH site-to-site on 7.24 specifically? If those `wg-export` / `wg-import` fixes make the difference between a working and a broken import, that is worth knowing before starting rather than after.
Supout files and `/export` output from either router available if useful. Thanks.