LINUX.ORG.RU
решено ФорумAdmin

OpenWRT, Wireguard, несколько клиентов.

 ,


0

3

Поднимаю я сервер Wireguard на OpenWRT.

Конфиг на роутере:

config interface 'wg0'
	option proto 'wireguard'
	option listen_port '51223'
	option private_key '$SERVER_KEY'
	option delegate '0'
	list addresses '10.200.200.1/24'

config wireguard_wg0
	option description 'Peer 1'
	option preshared_key '$PSK'
	option persistent_keepalive '25'
	option endpoint_port '39814'
	list allowed_ips '10.200.200.0/24'
	option public_key '$PEER1_PUBKEY'

Конфиг на клиенте:

[Interface]
Address = 10.200.200.2/24
ListenPort = 39814
PrivateKey = $PEER1_KEY
DNS = 10.200.200.1

[Peer]
PublicKey = $SERVER_PUBKEY
PresharedKey = $PSK
AllowedIPs = 0.0.0.0/0
Endpoint = $SERVER_IP:51223

Поднимаю туннель, всё работает. Благодать.

Добавляю на сервер второго пира:

config wireguard_wg0
	option description 'Peer 2'
	option preshared_key '$PSK'
	option persistent_keepalive '25'
	option endpoint_port '39814'
	list allowed_ips '10.200.200.0/24'
	option public_key '$PEER2_PUBKEY'

Делаю /etc/inid.d/network restart, и Peer 1 перестаёт подключаться. Удаляю из конфига второго пира, перезапускаю сеть, и первый снова работает. ЧЗХ? ЧЯДНТ?

★★★★★

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

А разве нет? В доках обратное не написано, да и в LEDE есть интерфейс для добавления нескольких пиров.

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

А вот в том-то и прикол, что он не имеет значения. Первый клиент перестаёт работать даже если второго не подключать.

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

А теперь посмотрите внимательно на последнюю цифирьку в этом самом «IP».

Axon ★★★★★ ()

Если AllowedIPs у двух и более клиентов будет один, то и подключаться будет только один клиент.
Посмотри в выхлоп wg и увидишь, что у одного из пиров отсутствует IP адрес в AllowedIPs.

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

Если AllowedIPs у двух и более клиентов будет один, то и подключаться будет только один клиент.

Во-первых, он не один. Это адрес целой подсети /24. Во-вторых, не подключается ни один клиент. Для проверки прописал в конфиге 10.200.200.2/24 для одного и 10.200.200.3/24 для другого, и это, конечно же, не помогло.

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

Отлично, теперь хотя бы первый пир не отваливается при добавлении второго. Проблема в том, что второй всё равно не поднимается.

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

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

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