LINUX.ORG.RU
ФорумAdmin

Как настраивают сеть?

 


0

1

Я уже задавал этот вопрос лет пять назад, но тогда всем компетентным специалистам было лень разбираться, а все некомпетентные не смогли (и я тоже).

Проблема: не ходят пакеты.

# ping -I 10.0.0.3 10.0.0.1
PING 10.0.0.1 (10.0.0.1) from 10.0.0.3 : 56(84) bytes of data.
^C
--- 10.0.0.1 ping statistics ---
148336 packets transmitted, 0 received, 100% packet loss, time 154273488ms

Сеть 10.0.0.0/8 создана при помощи утилит из состава пакета wireguard.

Проблема в настройке rule based policy или чего-то такого. Я читал все ссылки, которые давали в прошлый раз, и после длительных мучений мне несколько раз удавалось настроить, но всё это было временно и сеть в итоге разваливается и пакеты перестают ходить (по всей видимости это происходит при перебоях в электропитании, и отключении/подключении сетевого интерфейса).

И вот она отвалилась в очередной раз, и я снова не могу её настроить.

★★☆

Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от anonymous

После сбоя питания у тебя не меняется внешний ip-адрес?

Не знаю, но думаю, что это не имеет значения, какой ip-адрес у wireguard-клиента, так как проверяется клиент по ключу, а последний ip-адрес запоминается/обновляется.

сервер тебя не зафильтровал?

как это проверить? Специально такого там никто не настраивал.

10.0.0.1 вообще существует?

ну да, это как раз внутренний адрес wireguard-сервера в VPN-сети.

Подсеть на сервере точно 10.0.0.0/8?

Не точно. Там 10.0.0.0/24. Я попробовал прописать у себя так же, пока не помогло.

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

Не точно. Там 10.0.0.0/24. Я попробовал прописать у себя так же, пока не помогло.

ip addr del 10.0.0.3/8 dev wg3
ip addr add 10.0.0.3/24 dev wg3
anonymous
()
Ответ на: комментарий от anonymous
# ip addr show wg3              
2: wg3: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none 
    inet 10.0.0.3/24 brd 10.255.255.255 scope global wg3
       valid_lft forever preferred_lft forever

# ip route show table wireguard
default via 10.0.0.1 dev wg3 
10.0.0.0/24 dev wg3 scope link

# ip rule show       
0:	from all lookup local 
50:	from all oif wg3 lookup wireguard 
51:	from 10.0.0.0/24 lookup wireguard 
52:	from all to 10.0.0.0/24 lookup wireguard 
32766:	from all lookup main 
32767:	from all lookup default
Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от anonymous

сейчас вот так написано:

allowed ips: 10.0.0.3/32
latest handshake: 3 days, 17 hours, 21 minutes, 14 seconds ago
transfer: 2.78 MiB received, 946.89 KiB sent

но раньше так и было.

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

Всё правильно.

Попробуй netcat вместо пинга погонять. На сервере nc -l -p 8000, на клиенте echo hello | nc 10.0.0.1 8000

anonymous
()
Ответ на: комментарий от Einstok_Fair

Заюзай какой-нибудь iptables -j log на сервере. Хоть будешь знать, есть ли попытка соединения.

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

Я думаю, что попыток соединения нет. Если бы они была -всё бы соединилось наверное. В прошлые разы всё чинилось только настройкой клиентской стороны.

Einstok_Fair ★★☆
() автор топика
Ответ на: комментарий от voltmod

Так что всё-таки неправильно в настройках? Настроил ещё одну машину клиентом. Работает, сервер пингуется (по адресу 10.0.0.1), значит проблема не в нём. А с первого клиента не пингуется.

Einstok_Fair ★★☆
() автор топика
Последнее исправление: Einstok_Fair (всего исправлений: 1)
Ответ на: комментарий от infomeh

Условно работающая конфигурация:

# grep "rawinet" /etc/iproute2/rt_tables
2	rawinet

# ip rule show
0:	from all lookup local 
49:	from all to 192.168.2.0/24 lookup rawinet 
50:	from all to 123.45.67.89 lookup rawinet 
32766:	from all lookup main 
32767:	from all lookup default

# ip route show table rawinet
default via 192.168.2.1 dev eth0 
192.168.2.0/24 dev eth0 scope link

# ip route
default via 10.0.0.1 dev wg3 
10.0.0.0/24 dev wg3 scope link

по этим событиям выполняется перенастройка интерфейсов в соответствии с конфигурационным файлом.

Думаю, как записать это в конфиги systemd-networkd.

Einstok_Fair ★★☆
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.