Bug #11494
closedWireguard interface sends ICMP Redirect when routing between two peers
0%
Description
When PFSense is used to route traffic between two WireGuard peers, it send ICMP Redirect when both peers are on the same WireGuard interface.
Example topology
Home PFSense
- LAN 172.20.20.0/24
- WG0 172.20.50.10/32
Concentrator PFSense
- WG0 172.20.50.1/24
MacOS Client
- WG0 172.20.50.20/32
Abridge Concentrator WG Config
- Peer: ConcentratorToHome
[Peer]
AllowedIPs = 172.20.20.0/24, 172.20.50.10/32
- Peer: ConcentratorToMacbook
[Peer]
AllowedIPs = 172.20.50.20/32
In this scenario, with traffic being allowed from 172.20.50.20 (MacBook Source) -> 172.20.50.1 (Concentrator router #1) -> 172.20.50.10 (Home router #2) -> 172.20.20.0/24 (destination) you will see something like the following
64 bytes from 172.20.20.1: icmp_seq=0 ttl=63 time=68.083 ms
92 bytes from 172.20.50.1: Redirect Host(New addr: 172.20.20.1)
I believe this is occurring because from Concentrator's perspective, the source and destination all route through the same interface. In most situations I think this behavior is correct, however in the case of WireGuard where multiple peers exist on the same interface I think ICMP Redirect should not be sent.