This is an automated archive.

The original was posted on /r/wireguard by /u/Schwippps on 2024-01-22 08:28:10+00:00.


Hi all,

I have two machines that I need to connect via Wireguard.Due to restrictive Firewall settings on my ISP side (which is totally fine with me), I would like to use pre defined ports on both machines.However once a handshake has been made, wireguard changes the port on one side, which ultimately is blocked. One side runs in a Podman container, but I don’t think that is part of the problem?I will refer as “Native” and “Podman” for the two peers / clients & server.See below my configs:

“Podman”

[Interface]

PrivateKey = ICZPq9iqKYxxxxxxI6B3FAA5hQHI=

Address = 10.0.0.2/32

ListenPort = 51822

[Peer]

PublicKey = KUPIzlIqXYHhxoesvexxxxxxxxxGfOaVixXj4=

Endpoint = 135.125.133.xxx:51820

AllowedIPs = 0.0.0.0/0

PersistentKeepalive = 25

**“Native”**Address = 10.0.0.1/32

SaveConfig = true

PreUp = iptables -t mangle -A PREROUTING -i wg0 -j MARK --set-mark 0x30

PreUp = iptables -t nat -A POSTROUTING ! -o wg0 -m mark --mark 0x30 -j MASQUERADE

PreUp = iptables -t nat -A PREROUTING -p tcp --dport 32400 -j DNAT --to-destination 10.0.0.2:32400

PreUp = iptables -t nat -A PREROUTING -p udp --dport 32400 -j DNAT --to-destination 10.0.0.2:32400

PostDown = iptables -t mangle -D PREROUTING -i wg0 -j MARK --set-mark 0x30

PostDown = iptables -t nat -D POSTROUTING ! -o wg0 -m mark --mark 0x30 -j MASQUERADE

PostDown = iptables -t nat -D PREROUTING -p udp --dport 32400 -j DNAT --to-destination 10.0.0.2:32400

PostDown = iptables -t nat -D PREROUTING -p tcp --dport 32400 -j DNAT --to-destination 10.0.0.2:32400

ListenPort = 51820

FwMark = 0xca6c

PrivateKey = aKl8mnu1Hoxxxxxxxxxn56hHWWNFiv2oRcmnw=

[Peer]

PublicKey = ZgOCElEHQ8j0X7ExxxxxxxKWHe1FMgiUiyQyU=

AllowedIPs = 10.0.0.2/32, 10.0.0.1/32, 10.0.0.0/24

Endpoint = 135.181.143.xxx:51822

Output before handshake:

**“Native”**alfred@Batarang:~$ sudo wg show wg0

interface: wg0

public key: KUPIzlIqXYxxxxxxxQSdlGfOaVixXj4=

private key: (hidden)

listening port: 51820

fwmark: 0xca6c

peer: ZgOCElEHQ8j0X7xxxxxxHe1FMgiUiyQyU=

*endpoint: 135.181.143.xxx:*51822

allowed ips: 10.0.0.2/32, 10.0.0.1/32, 10.0.0.0/24

Output after handshake:

“Native”

interface: wg0

public key: KUPIzlIqXYHhxoexxxxxdlGfOaVixXj4=

private key: (hidden)

listening port: 51820

fwmark: 0xca6c

peer: ZgOCElEHQ8j0X7EJnxxxxxxxxxcKWHe1FMgiUiyQyU=

endpoint: 135.181.143.xxx:52260

allowed ips: 10.0.0.2/32, 10.0.0.1/32, 10.0.0.0/24

transfer: 148 B received, 92 B sent

For whatever reason my port appears to be changing. Do you have any idea why?

Obviously, the changed port is not accessible through my firewall, leading to the fact that wireguard is not working.