Почему-то 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
то с сервера 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.