hello world
Имеется (dedicated) сервер с одним публичным IPшником, на сервере руками настроен WireGuard (на serverip:42069
, например) и прикручен к systemd-networkd
, во внешний интернет кроме самого wg ничего не пробрасывается. Сервер держит виртуальную машину с мастдаем (пока что одну, как разберусь с сетевым цирком - будет больше) через KVM+Libvirt.
Нужно сделать так, чтобы был туннель WireGuard между виртуалкой и, например, моей рабочей машиной, чтобы я с последней подключался по, скажем, serverip:22869
(помимо «основного» соединения рабочая машина => сервер). Вопрос: а как так сделать-то?
Я пробовал кривыми-косыми правилами iptables
(честно скомунизженных из интернета и адаптированных для своих систем) и с дефолтной NAT-сетью перенаправлять порты сервера в порты виртуалки, но то ли я не вкурил в правила и сделал всё через одно место, то ли изначально не туда вою.
Пробовал ещё вот это - вроде выхлоп iptables -L
меняется, а нужный порт всё ещё closed и контакт между виртуалкой и рабочей системой наладить не получается.
Только что попробовал ради прикола поднять bridge-соединение - на виртуалке теперь вообще нет сети (удивительно). Ну и настроил в Libvirt я его так себе, полагаю.
В виртуалке на время тестирования был отключён Windows Firewall, порт WireGuard тот же 22869
(пытался пробрасывать одинаковые порты с хоста в vm).
Наверное, и не писал бы сюда, но подходящих документации и примеров, которые помогли бы мне сделать что-то нормальное, я не нашёл. Вполне возможно, что я упускаю из виду что-то прям совсем очевидное, списываю это на свою неопытность.
UPD: решение и дополнение к нему.