LINUX.ORG.RU
ФорумAdmin

Wireguard Проблемы с локальной сетью

 , ,


0

1

Приветствую. Развернул Wireguad на сервере Ubuntu 20.04 с конфигами:

[Interface]
Address = 10.8.0.1/24
ListenPort = 45220
PrivateKey = 
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o>
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING >

#Client-Start: client1
[Peer]
PublicKey = 
PresharedKey = 
AllowedIPs = 10.8.0.2/32
#Client-End: client1

Домашний сервер тоже на Ubuntu 20.04 подключается и пингует удаленный сервер, но к примеру по ssh подключаться на хочется, хотя nmap показывает что порт у сервера 10.8.0.1 открыт. Что интересно удаленный сервер 10.8.0.1 подключается к клиенту 10.8.0.2 по ssh и все работает. Конфиг клиента:

[Interface]
Address = 10.8.0.2/32
PrivateKey = 
DNS = 10.8.0.1

[Peer]
PublicKey = 
PresharedKey = 
Endpoint = IP:45220
AllowedIPs = 10.8.0.0/24
PersistentKeepalive = 25

Ну подумал разверну еще одного клиента на удаленном сервер, конфигурации системы такие же, конфиг клиента аналогичен только IP локальный 10.8.0.3(удаленный сервер). Так вот клиент 10.8.0.3(удаленный сервер) видит 10.8.0.1(удаленный сервер) коннект работает в обе стороны, 10.8.0.3(удаленный сервер) так же видит и 10.8.0.2(домашний сервер) но здесь проблема остается, коннект работает только в одну сторону. Думал проблема в роутере, но на MacOS из домашней сети таких проблем нету. С данной проблемой столкнулся на Ubuntu 20.04 как на сервере подключенным через провод так и на ноутбуке подключенным через Wi-FI. Снял в итоге tcpdummp при подключении с 10.8.0.1(домашний сервер) по ssh к 10.8.0.2(удаленный сервер)

06:54:50.372856 IP (tos 0x0, ttl 64, id 4371, offset 0, flags [DF], proto TCP (6), length 60)
    10.8.0.2.54636 > 10.8.0.1.ssh: Flags [S], cksum 0x1441 (incorrect -> 0x6372), seq 4110427295, win 64860, options [mss 1380,sackOK,TS val 1403424933 ecr 0,nop,wscale 7], length 0
06:54:50.373485 IP (tos 0x0, ttl 64, id 28993, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.45127 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0x6168!] 22202+ PTR? 1.0.8.10.in-addr.arpa. (39)
06:54:50.397259 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
    10.8.0.1.ssh > 10.8.0.2.54636: Flags [S.], cksum 0xad81 (correct), seq 2111079832, ack 4110427296, win 64296, options [mss 1380,sackOK,TS val 1035564781 ecr 1403424933,nop,wscale 7], length 0
06:54:50.397337 IP (tos 0x0, ttl 64, id 4372, offset 0, flags [DF], proto TCP (6), length 52)
    10.8.0.2.54636 > 10.8.0.1.ssh: Flags [.], cksum 0x1439 (incorrect -> 0xd512), seq 1, ack 1, win 507, options [nop,nop,TS val 1403424958 ecr 1035564781], length 0
06:54:50.398166 IP (tos 0x0, ttl 64, id 4373, offset 0, flags [DF], proto TCP (6), length 93)
    10.8.0.2.54636 > 10.8.0.1.ssh: Flags [P.], cksum 0x1462 (incorrect -> 0xb3b8), seq 1:42, ack 1, win 507, options [nop,nop,TS val 1403424959 ecr 1035564781], length 41
06:54:50.429523 IP (tos 0x0, ttl 64, id 23239, offset 0, flags [DF], proto TCP (6), length 52)
    10.8.0.1.ssh > 10.8.0.2.54636: Flags [.], cksum 0xd4ce (correct), seq 1, ack 42, win 502, options [nop,nop,TS val 1035564812 ecr 1403424959], length 0
06:54:50.433517 IP (tos 0x0, ttl 64, id 23240, offset 0, flags [DF], proto TCP (6), length 93)
    10.8.0.1.ssh > 10.8.0.2.54636: Flags [P.], cksum 0xb370 (correct), seq 1:42, ack 42, win 502, options [nop,nop,TS val 1035564817 ecr 1403424959], length 41
06:54:50.433575 IP (tos 0x0, ttl 64, id 4374, offset 0, flags [DF], proto TCP (6), length 52)
    10.8.0.2.54636 > 10.8.0.1.ssh: Flags [.], cksum 0x1439 (incorrect -> 0xd478), seq 42, ack 42, win 507, options [nop,nop,TS val 1403424994 ecr 1035564817], length 0
06:55:30.941749 IP (tos 0x0, ttl 64, id 32691, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.51511 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0xe5e6!] 47434+ PTR? 2.0.8.10.in-addr.arpa. (39)
06:55:31.941539 IP (tos 0x0, ttl 64, id 32822, offset 0, flags [DF], proto UDP (17), length 78)
    10.8.0.2.38636 > 10.8.0.1.domain: [bad udp cksum 0x145e -> 0xb240!] 7421+ [1au] PTR? 1.0.8.10.in-addr.arpa. ar: . OPT UDPsize=512 (50)
06:55:36.191498 IP (tos 0x0, ttl 64, id 33517, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.51511 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0xe5e6!] 47434+ PTR? 2.0.8.10.in-addr.arpa. (39)
06:55:37.191437 IP (tos 0x0, ttl 64, id 33682, offset 0, flags [DF], proto UDP (17), length 78)
    10.8.0.2.38636 > 10.8.0.1.domain: [bad udp cksum 0x145e -> 0xb240!] 7421+ [1au] PTR? 1.0.8.10.in-addr.arpa. ar: . OPT UDPsize=512 (50)
06:55:41.441476 IP (tos 0x0, ttl 64, id 33885, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.51511 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0xe5e6!] 47434+ PTR? 2.0.8.10.in-addr.arpa. (39)
06:55:42.441523 IP (tos 0x0, ttl 64, id 34073, offset 0, flags [DF], proto UDP (17), length 78)
    10.8.0.2.38636 > 10.8.0.1.domain: [bad udp cksum 0x145e -> 0xb240!] 7421+ [1au] PTR? 1.0.8.10.in-addr.arpa. ar: . OPT UDPsize=512 (50)
06:55:46.691329 IP (tos 0x0, ttl 64, id 34323, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.51511 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0xe5e6!] 47434+ PTR? 2.0.8.10.in-addr.arpa. (39)
06:55:47.691533 IP (tos 0x0, ttl 64, id 34328, offset 0, flags [DF], proto UDP (17), length 78)
    10.8.0.2.38636 > 10.8.0.1.domain: [bad udp cksum 0x145e -> 0xb240!] 7421+ [1au] PTR? 1.0.8.10.in-addr.arpa. ar: . OPT UDPsize=512 (50)
06:55:50.150781 IP (tos 0x0, ttl 64, id 4386, offset 0, flags [DF], proto TCP (6), length 1420)
    10.8.0.2.54636 > 10.8.0.1.ssh: Flags [.], cksum 0x1991 (incorrect -> 0x4597), seq 42:1410, ack 1098, win 502, options [nop,nop,TS val 1403484711 ecr 1035564842], length 1368
06:55:51.941529 IP (tos 0x0, ttl 64, id 34459, offset 0, flags [DF], proto UDP (17), length 67)
    10.8.0.2.51511 > 10.8.0.1.domain: [bad udp cksum 0x1453 -> 0xe5e6!] 47434+ PTR? 2.0.8.10.in-addr.arpa. (39)

На этом мои навыки анализа проблемы исчерпались, подскажите в чем может быть проблема?

Ответ на: комментарий от limer2012

Так вот клиент 10.8.0.3(удаленный сервер) видит 10.8.0.1(удаленный сервер) коннект работает в обе стороны

это работает в рамках маршрутизации на удаленном сервере и к wg отношения не имеет.

пл вопросу очевидно, что-то не так с udp, попробуй на концах wg выставить mtu сузественно ниже 1500. ну и почитай как наладить mss fix с помощью iptables

Anoxemian ★★★★★ ()
Ответ на: комментарий от Anoxemian

ну так если бы не работало, то не работало везде бы? То есть на виртуальных серверах работает, на Mac в той же сети дома работает, на Android тоже работает, а вот на Ubuntu на двух ПК, нет.

limer2012 ()