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

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

 ,


0

4

Поднимаю я сервер 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 перестаёт подключаться. Удаляю из конфига второго пира, перезапускаю сеть, и первый снова работает. ЧЗХ? ЧЯДНТ?

★★★★★

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

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

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

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

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

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

Axon ★★★★★ ()