1.1.1.1 and 2.2.2.2 (real IPs replaced) are the WAN addresses of both routers, and 10.254.254.1/30 and 10.254.254.2/30 are the addresses of both sides of the tunnel. I have created exceptions in the firewall to allow UDP 13231 to the router from WAN on the firewall of both ends. I have confirmed that both WAN endpoints are pingable from each other.
The tunnel does not stand up at this point and I get the following log message repeatedly: wireguard-poc734: [wireguardpeer-poc734] [key redacted]: Handshake for peer did not complete after 5 seconds, retrying (try 2)
I am left scratching my head at what could be missing, as far as I can see the instructions have been followed correctly and all the necessary parts of the config are there.
Purpose is to share network resources behind each router with each other - a machine on one router’s internal network should be able to ping a device in the other router’s network etc. R1 would be the server or hub, with R2 being the client - perhaps I need to set one side to responder? I am not sure of the requirement there. Routing is not set up for getting between networks at the moment, I was planning on getting that up after the tunnel was finished.
One thing I have noticed while doing some packet captures for troubleshooting, is I can see the wireguard packet leave the WAN interface on each router, but the other router never sees a wireguard packet received. This is really mysterious to me as I can ping each router and get a response, and had previously set up a GRE tunnel (which I abandoned in hopes of setting up wireguard) which came up and was able to communicate just fine. I even changed the ports on both ends just in case something was getting filtered out on my ISP’s network, however the situation hasn’t changed - both routers can transmit their initial handshake packet, but the other router never sees it. I even put a very basic firewall rule at the very top of the list to allow this traffic but I am not seeing it in the captures.
Well, I managed to get it working after taking the remote router and plugging it into a different internet connection - I think it’s safe to say that either my DOCSIS modem or ISP doesn’t like it when WireGuard or IPsec (tried that for tunneling too!) packets attempt to reach another WAN host on the same modem (both have a public IP address), but ICMP and GRE across the WAN is apparently ok with that topology. Super mysterious.
Edit: My config is finalized and the tunnel is up and passing traffic, this seems to work well with the spoke endpoint having an unknown/dynamic IP address. Here it is for self-documentation’s sake:
When you post full config on both
/export file=anynameyouwish ( minus router serial number, any public WANIP information, keys etc.)
I will gladly address some of the errors shown.