Здравствуйте. Настроил сервер Wireguard и успешно подключился с телефона. Всё работает штатно. На ноутбуке же не взлетело - судя по логам, пытается слать пакеты с IP WiFi-адаптера вместо IP интерфейса WG.
Пример логов сервера:
[ +0.000060] wireguard: wg0: Sending keepalive packet to peer 8 ("провайдерский IP":28858)
[ +0.212567] wireguard: wg0: Packet has unallowed src IP (192.168.1.103) from peer 8 ("провайдерский IP":28858)
[ +0.208706] wireguard: wg0: Packet has unallowed src IP (192.168.1.103) from peer 8 ("провайдерский IP":28858)
[ +0.238599] wireguard: wg0: Packet has unallowed src IP (192.168.1.103) from peer 8 ("провайдерский IP":28858)
[ +0.085003] wireguard: wg0: Packet has unallowed src IP (192.168.1.103) from peer 8 ("провайдерский IP":28858)
[ +0.739937] wireguard: wg0: Packet has unallowed src IP (192.168.1.103) from peer 8 ("провайдерский IP":28858)
Т.е. пир, в принципе, подключился, но пакеты шлёт с неправильного адреса.
Сообщения при поднятии WG на ноуте:
wg-quick up wg0-client
[#] ip link add wg0-client type wireguard
[#] wg setconf wg0-client /dev/fd/63
[#] ip -4 address add 10.13.37.3/32 dev wg0-client
[#] ip link set mtu 1420 up dev wg0-client
[#] resolvconf -a wg0-client -m 0 -x
[#] wg set wg0-client fwmark 51820
[#] ip -4 route add 0.0.0.0/0 dev wg0-client table 51820
[#] ip -4 rule add not fwmark 51820 table 51820
[#] ip -4 rule add table main suppress_prefixlength 0
[#] sysctl -q net.ipv4.conf.all.src_valid_mark=1
[#] iptables-restore -n
Таблицы маршрутизации на ноуте:
default dev wg0-client table 51820 scope link
default via 192.168.1.1 dev wlp8s0
default via 192.168.1.1 dev wlp8s0 proto dhcp metric 600
192.168.1.0/24 dev wlp8s0 proto kernel scope link src 192.168.1.103 metric 600
local 10.13.37.3 dev wg0-client table local proto kernel scope host src 10.13.37.3
broadcast 127.0.0.0 dev lo table local proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo table local proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo table local proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo table local proto kernel scope link src 127.0.0.1
broadcast 192.168.1.0 dev wlp8s0 table local proto kernel scope link src 192.168.1.103
local 192.168.1.103 dev wlp8s0 table local proto kernel scope host src 192.168.1.103
broadcast 192.168.1.255 dev wlp8s0 table local proto kernel scope link src 192.168.1.103
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev wlp8s0 proto kernel metric 600 pref medium
local ::1 dev lo table local proto kernel metric 0 pref medium
local fe80::5fc3:42e4:37a2:aef5 dev wlp8s0 table local proto kernel metric 0 pref medium
multicast ff00::/8 dev wlp8s0 table local proto kernel metric 256 pref medium
multicast ff00::/8 dev wg0-client table local proto kernel metric 256 pref medium
Конфиг клиента:
[Interface]
Address = 10.13.37.3/32
PrivateKey = "приватный ключ клиента"
DNS = 10.13.37.1
[Peer]
PublicKey = "публичный ключ сервера"
Endpoint = "IP сервера":49832
AllowedIPs = 0.0.0.0/0
PersistentKeepalive = 21
Ядро на клиенте:
Linux host 5.4.108-1-MANJARO #1 SMP PREEMPT Wed Mar 24 18:24:35 UTC 2021 x86_64 GNU/Linux
Конфиг сервера:
[Interface]
Address = 10.13.37.1/30
SaveConfig = true
ListenPort = 49832
PrivateKey = "приватный ключ сервера"
[Peer]
PublicKey = "публичный ключ беспроблемного клиента"
AllowedIPs = 10.13.37.2/32
Endpoint = "провайдерский IP":28826
[Peer]
PublicKey = "публичный ключ проблемного клиента"
AllowedIPs = 10.13.37.3/32
Endpoint = "провайдерский IP":29064
Оба клиента подключены к одной и той же точке доступа. Решение, конечно же, не гуглится. Буду рад любым подсказкам, куда копать.