LINUX.ORG.RU

Wireguard и маршрутизация

 , ,


0

1

Вступление (можно не читать) Случилось прекрасное - я переехал в тёплую страну. Однако работа так и осталась в РФ и подключаться к ней нужно с российского IP. Я оставил дома рабочий компьютер и подключался к нему по RDP. Для тоннеля использовал Hamachi и Zerotier. И всё было хорошо, пока в один прекрасный день пинг не вырос до 300-400 и работать стало невозможно из-за лагов интерфейса. Я арендовал VPS, настроил на нём Wireguard и этим частично решил проблему.

Собственно вопрос. Мне нужно объединить несколько компьютеров в локальную сеть так, что бы они видели друг друга в сети, а интернетом пользовались не через шлюз Wireguard, а каждый от своего провайдера. На одном из компьютеров поднята виртуальная машина (Oracle VM VirtualBox) с рабочим софтом. Требуется, что бы в интернет она ходила полностью (включая запросы DNS) только через шлюз Wireguard с российским IP. Схема сети: https://i.postimg.cc/VkPk4wpw/netmap01.png Как настроить маршрутизацию на всех компьютерах?

Требуется, что бы в интернет она ходила полностью (включая запросы DNS) только через шлюз Wireguard с российским IP.

Ну так и ходи через VPS в РФ, комп в квартире-то тут каким боком?

Как настроить маршрутизацию на всех компьютерах?

Задача «как поднять тоннель Wireguard и ходить через него» настолько типовая, что с тебя еще ссылка на выбранный тобой гайд и все подробности вплоть до места, на котором ты застрял.

Как настроить маршрутизацию на всех компьютерах?

Оффтоп, но я вот выбрал уехать с роутером, в котором на разных SSID разная маршрутизация: Настроил роутинг в разные VPN целыми субдоменами, да по-разному для разных SSID, восторг.. И моя задача больше не стоит как «как настроить маршрутизацию на всех компьютерах», я просто выбираю, к какому вайфаю подключиться.

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

Ну так и ходи через VPS в РФ, комп в квартире-то тут каким боком?

-Хожу, с этим всё хорошо. С компом в квартире и компами друзей соединяться - просто дополнительная, но важная задача.

Задача «как поднять тоннель Wireguard …

-Тоннель поднял, тут тоже всё хорошо.

… на разных SSID разная маршрутизация…

-Интересно, полезно, но не то, что мне нужно. У виртуалки WiFi адаптера нет.

Мысль моя идёт в следующую сторону:

  1. В виртуалке сделать виртуальную же сетевую карту, которая сама будет ходить в интернет, от роутера получать отдельный IP и т.д.
  2. В таблице маршрутизации прописать, что трафик с этой сетевухи должен ходить в тоннель Wireguard.
  3. В клиентском конфиге Wireguard вместо AllowedIPs = 0.0.0.0/0 прописать AllowedIPs = 10.0.0.0/0

Как реализовать - непонятно, править ли серверный конфиг - тоже непонятно. Сомнения одолевают меня.

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

Вместо запуска клиента wireguard на виртуалке, запустить его на хосте и настроить NAT из интерфейса с виртуалкой в туннель wireguard самому? Реализовать по любому гайду «как в линуксе делается NAT из интерфейса A в интерфейс B», править серверный конфиг не надо, сомнения в основном в том, правильно ли я тебя понял и что ты хочешь этим добиться.

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

WireGuard запускается на хост системе. Хост-система под виндой. В виртуалке рабочий VPN, поставить туда WireGuard клиент нельзя. Добиться я этим хочу следующего:

  1. Виртуалка думает что она в РФ и имеет доступ к ресурсам компа в РФ.
  2. Хост ситема имеет тайский IP, не имеет блокировок, имеет полную скорость от провайдера и хороший пинг.

Вид подключения NAT мне явно не подойдёт. Подошёл бы сетевой мост, но Wireguard создаёт виртуальную сетевую карту только в момент подключения. И даже когда она есть в системе, выбрать её в списке нельзя:

https://i.postimg.cc/2yh15ws5/VM-options.png

Может быть есть способ создать виртуальную сетевуху клиента Wireguard, которая видна постоянно, и подключение у которой происходит автоматически?

Ещё может быть подошёл бы тип подключения «виртуальный адаптер хоста», но непонятно, как настроить.

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

Ещё может быть подошёл бы тип подключения «виртуальный адаптер хоста», но непонятно, как настроить.

Я говорил об этом варианте, что там в Virtualbox за веселушки я не знаю.

t184256 ★★★★★
()

Подыми доп.виртуалку pfsense или openwrt с двумя сетевыми устройствам, один сетевой адаптер сделай тип подключения «Внутренняя сеть», дай сети название, например openwrt_tor, и к неё будешь свой «Российский виртуальный комп» подключать, второй сетевое адаптер сделай сетевым мостом.

Потом заходишь на openwrt настраиваешь на нем Wireguard, OpenVPN, до квартиры РФ, потом какие нужно виртуальные машины подключаешь к Внутренняя сеть openwrt_tor, на openwrt по моему можешь нужно убрать доп. NAT преобразование IP адресов или что-то там …, во общем чтобы если VPN оброется чтобы виртуалка «Российский виртуальный комп» не стрельнула на прямую с тайланда на сервак работодателя РФ.

sap78
()

сеть ваиргарда надеюсь не пересекается с сетями других компьютеров? если нет, то просто маршрутизируй не весь трафик, а только сеть ваиргарда и тогда другие будут ходить в свои интернеты, но видеть друг друга. почему нельзя поставить ваиргард в виртуалбокс? сети пересекаются?

fresa
()
Последнее исправление: fresa (всего исправлений: 2)
6 ноября 2023 г.
Ответ на: комментарий от sap78

Внутренняя сеть почему-то не заработала, сделал «Виртуальный адаптер хоста». Поднял openwrt и VPN подключение на нём (инструкцию брал тут: https://www.ivpn.net/setup/router/openwrt-wireguard/), но интернет так и не заработал. Настройки такие: https://i.postimg.cc/HWhg68n6/001.png https://i.postimg.cc/bwXjhXQb/002.png https://i.postimg.cc/kgxPMjcH/003.png https://i.postimg.cc/L6gMw4Z2/004.png Что я делаю не так? А ещё выбранной для сетевого моста сетевой картой не может пользоваться хост система. Подскажите, почему?

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

по пробуй последний пункт сделать или отмотать Configuring a Kill-switch (optional) что будет?

сами ключи wireguard рабочии? на машине или телефоне проверял?

у тебя там в wireguard 10.0.0.5/32 это ip из wireguard .conf [Interface]=> Address взялся?

sap78
()
Последнее исправление: sap78 (всего исправлений: 5)
7 марта 2024 г.
Ответ на: комментарий от sap78

Пересоздал виртуалку, при этом не настраивал её из консоли, оставил настройки по умолчанию. Для дальнейшей настройки пользовался этими инструкциями. (Они немного противоречат друг другу, но всё же) https://redshieldvpn.com/ru/help/manual/wireguard/routers/openwrt https://www.vpnunlimited.com/ru/help/manuals/open-wrt-wireguard-setup Всё поднялось и заработало с первого раза. Спасибо за поддержку, надеюсь мой опыт кому-то поможет.

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

Ещё обнаружил странную вещь. Если виртуалку с OpenWRT запустить с интерфейсом (командная строка в нашем случае), то интернет не работает. Если в фоновом режиме, то всё норм. Чудеса прям.

Verminxxl
() автор топика