Почему-то Wireguard сервер на Ubuntu 22.04 Server не видит сеть 10.90.90.0/24 которая у меня на Mikrotik CHR 7.1.3 на тестовом сервере под связкой Debian 10 + Proxmox 6.4-13, где внутри сети 10.90.90.0/24 у меня развернут почтовый сервер на базе Exchange 2010 для домена @ekzorchikdom.ru где я обкатываю настройки и изучаю как работает почтовый сервер так как до этой работы в плотную не сталкивался, все уже было и только поддерживал, а тут все что я хочу, я все делаю с нуля от и до: Установка, Настройка, Бекап, Восстановление, Тюнинг, Анализ ошибок и написание инструкций.

Связал

Связываем Wireguard на Mikrotik 7.11.2 и VPS в Беларуссии

из хоста 10.90.90.5 (Поднимаем почтовый сервер Exchange 2010 для домена ekzorchikdom.ru) я в интернет выхожу как WAN IP VPS Ubuntu 22.04 Server, но с хоста где Wireguard не вижу сеть 10.90.90.0/24

ekzorchik@mail:~$ sudo nano /etc/wireguard/wg0.conf
#Mikrotik CHR 7.11.2
[Peer]
PublicKey = B+PQsuxDg1h22QjkR9MrpNCk/qnCPb1XV74IOwBPVnE=
AllowedIPs = 20.20.20.5/32, 10.90.90.0/24
ekzorchik@mail:~$ sudo systemctl stop wg-quick@wg0.service
ekzorchik@mail:~$ sudo systemctl start wg-quick@wg0.service
ekzorchik@mail:~$ sudo systemctl status wg-quick@wg0.service
● wg-quick@wg0.service - WireGuard via wg-quick(8) for wg0
     Loaded: loaded (/lib/systemd/system/wg-quick@.service; enabled; vendor preset: enabled)
     Active: active (exited) since Mon 2023-11-27 14:53:30 MSK; 4s ago
       Docs: man:wg-quick(8)
             man:wg(8)
             https://www.wireguard.com/
             https://www.wireguard.com/quickstart/
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg-quick.8
             https://git.zx2c4.com/wireguard-tools/about/src/man/wg.8
    Process: 143214 ExecStart=/usr/bin/wg-quick up wg0 (code=exited, status=0/SUCCESS)
   Main PID: 143214 (code=exited, status=0/SUCCESS)
        CPU: 595ms

Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] ip link add wg0 type wireguard
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] wg setconf wg0 /dev/fd/63
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] ip -4 address add 20.20.20.1/24 dev wg0
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] ip link set mtu 1420 up dev wg0
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] ip -4 route add 10.90.90.0/24 dev wg0
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] firewall-cmd --zone=external --add-masquerade
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143263]: success
Nov 27 14:53:29 mail.ekzorchikdom.ru wg-quick[143214]: [#] firewall-cmd --zone=external --add-port=33451/udp
Nov 27 14:53:30 mail.ekzorchikdom.ru wg-quick[143265]: success
Nov 27 14:53:30 mail.ekzorchikdom.ru systemd[1]: Finished WireGuard via wg-quick(8) for wg0.
ekzorchik@mail:~$
ekzorchik@mail:~$ sudo wg show wg0
interface: wg0
  public key: SERVER_PUBLIC_KEY
  private key: (hidden)
  listening port: 33451

peer: CLIENT_PUBLIC_KEY
  allowed ips: 20.20.20.2/32

peer: CLIENT_PUBLIC_KEY
  allowed ips: 20.20.20.3/32

peer: CLIENT_PUBLIC_KEY
  allowed ips: 20.20.20.4/32

peer: CLIENT_PUBLIC_KEY
  allowed ips: 20.20.20.5/32

peer: CLIENT_PUBLIC_KEY
  allowed ips: 20.20.20.6/32, 10.90.90.0/24
ekzorchik@mail:~$
ekzorchik@mail:~$ ip r
default via 185.251.38.1 dev eth0 proto static
10.90.90.0/24 dev wg0 scope link
20.20.20.0/24 dev wg0 proto kernel scope link src 20.20.20.1
185.251.38.0/24 dev eth0 proto kernel scope link src 185.251.38.97
ekzorchik@mail:~$ ping 10.90.90.2
PING 10.90.90.2 (10.90.90.2) 56(84) bytes of data.
From 20.20.20.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Destination address required
^C
--- 10.90.90.2 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

ekzorchik@mail:~$

Вопрос почему не видится сеть, до этого же работало, я же иду по своим записям

от 28.11.2023

Выявил интересную особенность, на Ubuntu 22.04 + Wireguard все настроено правильно, туннель устанавливается, но после перезапуска:

ekzorchik@mail:~$ sudo wg-quick down wg0 && sudo wg-quick up wg0
[#] sysctl -w net.ipv4.ip_forward=0
net.ipv4.ip_forward = 0
[#] sysctl -w net.ipv4.conf.all.src_valid_mark=0
net.ipv4.conf.all.src_valid_mark = 0
[#] ip link delete dev wg0
[#] firewall-cmd --zone=external --remove-masquerade
success
[#] firewall-cmd --zone=external --remove-port=33451/udp
success
[#] sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[#] sysctl -w net.ipv4.conf.all.src_valid_mark=1
net.ipv4.conf.all.src_valid_mark = 1
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 20.20.20.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip -4 route add 10.90.90.0/24 dev wg0
[#] firewall-cmd --zone=external --add-masquerade
success
[#] firewall-cmd --zone=external --add-port=33451/udp
success
ekzorchik@mail:~$ ping 10.90.90.5
PING 10.90.90.5 (10.90.90.5) 56(84) bytes of data.
From 20.20.20.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Destination address required
^C
--- 10.90.90.5 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms

ekzorchik@mail:~$

дело в том, что мне кажется рвется соединение туннеля с установленными правилами на Mikrotik, если зайти в Manglе и для строки Prerouting нажать Apply

Нажимаем Apply и доступ с VPS Wireguard до узла 10.90.90.5 возобновляется

то с сервера Wireguard я опять вижу хост 10.90.90.5 за Mikrotik(ом)

ekzorchik@mail:~$ ping 10.90.90.5
PING 10.90.90.5 (10.90.90.5) 56(84) bytes of data.
64 bytes from 10.90.90.5: icmp_seq=1 ttl=127 time=23.6 ms
^C
--- 10.90.90.5 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 23.556/23.556/23.556/0.000 ms
ekzorchik@mail:~$

и соответственно из вне получаю к почтовому серверу:

root@ekzorchik:~# nmap -v mail.ekzorchikdom.ru -p 25

Starting Nmap 7.60 ( https://nmap.org ) at 2023-11-28 07:50 MSK
Initiating Ping Scan at 07:50
Scanning mail.ekzorchikdom.ru (185.251.38.97) [4 ports]
Completed Ping Scan at 07:50, 0.22s elapsed (1 total hosts)
Initiating Parallel DNS resolution of 1 host. at 07:50
Completed Parallel DNS resolution of 1 host. at 07:50, 0.00s elapsed
Initiating SYN Stealth Scan at 07:50
Scanning mail.ekzorchikdom.ru (185.251.38.97) [1 port]
Discovered open port 25/tcp on 185.251.38.97
Completed SYN Stealth Scan at 07:50, 0.22s elapsed (1 total ports)
Nmap scan report for mail.ekzorchikdom.ru (185.251.38.97)
Host is up (0.019s latency).

PORT   STATE SERVICE
25/tcp open  smtp

Read data files from: /usr/bin/../share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.64 seconds
           Raw packets sent: 6 (240B) | Rcvd: 3 (156B)
root@ekzorchik:~#

Наверное, все дело в Keepalive на Mikrotik:

winbox - ip:8291 - user&pass - WireGuard — вкладка Peers и в настроенном Interface name: vpsvpnclient изменил:

Persistent Keepalive: с 00:15:00

на

Persistent Keepalive: с 00:00:05

Перезапускаю интерфейс на Wireguard сервере и запускаю поле проверку доступности узла 10.90.90.5 который за Mikrotik(ом), через туннель wireguard:

ekzorchik@mail:~$ sudo wg-quick down wg0 && sudo wg-quick up wg0
[#] sysctl -w net.ipv4.ip_forward=0
net.ipv4.ip_forward = 0
[#] sysctl -w net.ipv4.conf.all.src_valid_mark=0
net.ipv4.conf.all.src_valid_mark = 0
[#] ip link delete dev wg0
[#] firewall-cmd --zone=external --remove-masquerade
success
[#] firewall-cmd --zone=external --remove-port=33451/udp
success
[#] sysctl -w net.ipv4.ip_forward=1
net.ipv4.ip_forward = 1
[#] sysctl -w net.ipv4.conf.all.src_valid_mark=1
net.ipv4.conf.all.src_valid_mark = 1
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 20.20.20.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] ip -4 route add 10.90.90.0/24 dev wg0
[#] firewall-cmd --zone=external --add-masquerade
success
[#] firewall-cmd --zone=external --add-port=33451/udp
success
ekzorchik@mail:~$ ping 10.90.90.5
PING 10.90.90.5 (10.90.90.5) 56(84) bytes of data.
From 20.20.20.1 icmp_seq=1 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=2 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=3 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=4 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=5 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=6 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=7 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=8 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=9 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=10 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=11 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=12 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=13 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=14 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=15 Destination Host Unreachable
ping: sendmsg: Destination address required
From 20.20.20.1 icmp_seq=16 Destination Host Unreachable
ping: sendmsg: Destination address required
64 bytes from 10.90.90.5: icmp_seq=17 ttl=127 time=26.7 ms
64 bytes from 10.90.90.5: icmp_seq=18 ttl=127 time=23.4 ms
64 bytes from 10.90.90.5: icmp_seq=19 ttl=127 time=22.5 ms
^C
--- 10.90.90.5 ping statistics ---
19 packets transmitted, 3 received, +16 errors, 84.2105% packet loss, time 18381ms
rtt min/avg/max/mdev = 22.540/24.211/26.706/1.797 ms
ekzorchik@mail:~$

Спустя несколько секунда туннель переподнимается и хост доступен, а видать проверял сразу и не мог понять почему не вижу сеть за Mikrotik(ом) 10.90.90.0/24 через туннель.

Ну по крайней мере это мое наблюдение и обнаруженный неучтенный факт работы, а то я уже целый день вчера 27.11.2023 убил, просто у меня на Mikrotik(е) закончилась лицензия сроком на 60 дней, и я грешил на этот момент, переподнял Mikrotik и наблюдаю не заработало.

На заметку: я использую версию Mikrotik CHR 7.1.3.

От 28.11.2023 не нужно изменять параметр Persistent Keepalive на Mikrotik(е), сеть становится доступным автоматически после icmp_seq=13, я-то думал, что моментально и на это грешил что есть какой-то нюанс, который я упустил, расписывая настройки, а тут все работает, как и было сделано, просто торопливость.

Итого, заметка для самого себя успешно разобрана, с уважением автор блога Олло Александр aka ekzorchik.