Какой оптимальный способ попасть в домашнюю сеть снаружи?
Добрый день.
Стоит задача попасть на домашний сервер с работы.
Белый адрес на роутере имеется, сервер будет под "серым" адресом, на нем будут виртуалки так же с серыми адресами. На работе так же NAT.
Предполагаю что настроить Wireguard на сервере + клиент на ноуте и импортировать туннель - один из вариантов. Но может есть какие-то подводные камни или более оптимальный способ?
Благодарю!
проброс порта когда нужен один/несколько портов.
VPN подключение когда нужно будет подключаться к произвольному порту или к нескольким произвольным устройствам/адресам.
минус VPN на каждом подключающемся устройстве надо настраивать VPN-клиент.
На работе почти наверняка внешний IP
Прописать что доступ только с него на определенные порты, которые пробросить к домашнему серверу
Использование VPNов и сторонних программ на рабочем компе без разрешения руководства или безопасников чревато
Сергей, они практически одинаковые. Различия только в деталях. Для себя я выбрал tailscale, потому что у меня на работе полностью обрезан UDP. А tailscale, в отличии от zerotier, умеет работать через TCP.
Tailscale под капотом использует wireguard, который РКН отлично умеет определять и блокировать. У zerotier своя собственная реализация шифрованного туннеля, так что вероятность блокировки существенно ниже.
Zerotier имеет пакет под RouterOS, так что можно легко и просто поднять zerotier ноду на роутерах от mikrotik. Это плюс, но не очень большой, так как для шифрования достаточно широкой полосы нужно мощное железо, которым домашние версии роутеров не могут похвастать. Пакет под OpenWRT есть у обоих.
Контрольную панель zerotier можно захостить на своём оборудовании (на выделенном сервере, например), тем самым замкнув всю инфраструктуру на себя. У tailscale такая фича официально не поддерживается, но с костылями и некоторыми сложностями это всё же возможно (см headscale).
Оба решения развиваются компаниями из США, поэтому могут быть блокировки РФ с их стороны. Tailscale уже применяет ограничения на своём apt репозитории (приходится пускать трафик к нему через прокси), но контрольная панель всё ещё работает. Здесь zerotier выглядит выгоднее с возможностью перенести панель управления сетью к себе.
В случае проблем дебажить tailscale проще, так как у него логи понятнее и документация удобнее.
Сергей, да. Причем девайсы соединяются непосредственно друг с другом, если такая возможность есть. Например, если у одного из девайсов белый ip, либо если удалось пробить NAT. Так что наличие и отсутствие белого ip сильно роли не играет. Если все же прямой коннект недоступен, то трафик (зашифрованный) идёт через публичный промежуточный релейный сервер, принадлежащий tailscale/zerotier.
В моем случае коннект между рабочим и домашним компьютером идёт через варшавский релей сервер tailscale. Скорость не очень, но зато работает из коробки без дополнительных настроек. Мне хватает. Если вдруг tailscale начнет блокировать свои релеи для пользователей из РФ, то я просто куплю VPS в РФ и сделаю из него релей сервер. Либо на домашний комп куплю у провайдера услугу "белый статический ip" и сделаю релей сервер из него. Тогда и пинги, и скорость будут получше. Добавление своих релей серверов поддерживается из коробки как у tailscale, так и у zerotier.
Vamp, мне будет нужен доступ со своего ноута (Win10) до гипервизора (серый адрес) в домашней сети (на Mikrotik).
Как я понял, есть стандартный клиент, с которого и можно будет подключится к домашней сети, и там уже к web-интерфейсу виртуальной машины.
Ну и в случае если домашний hap ac2 не потянет полосу, то просто поднимаю VPS, а на нем виртуальный роутер (CHR) и уже на нем - ноду Zerotier.
Сергей, ставьте агента zerotier или tailscale на ноут и на гипервизор. Дальше подключаете агентов к сети, которую заранее нужно создать в панели управления (ts, zt). Всё. Оба устройства будут видеть друг друга по ip адресам, которые им назначит панель управления. IP адреса серые, фиксированные. Изнутри всё выглядит как обычная локальная сеть.
У меня tailscale уже блокируют поэтому пользуюсь twingate.
на свой VPS поставить можно headscale и подключаться tailscale клиентами. https://github.com/juanfont/headscale
Белый адрес - ОпенВПН на роутере - клиент ВПН извне, цепляетесь и работаете.
Если проброс портов, то это стену ставить и настраивать корректно, потому что как только откроете порты на внешку, то китайцы будут стучаться нон-стоп.
Здесь много зависит от того, легитимно Вы это делаете или нет. Если легитимно - то просто VPN между роутером дома и роутером работы, с защитой по IP. На домашних компах будут доступны IP работы и наоборот (чтобы случайно на Вас не набрели коллеги - блок по внутренним IP на Вашем роутере). Я вот именно так работаю - у меня доступ к сети конторы 24х7.
Если же нет - то может ничего и не получиться :)
С точки зрения инфо-безопасности ходить с рабочего десктопа домой - это 100% нарушение.
Я не знаю где вы работаете но во всех компаниях курсы-инфобеза
проходят эту тему. Такая сетевая активность всегда будет рассматриваться под углом
уже свершившегося security issue. Я надеюсь что вы сможете объяснить зачем вы это делаете.
Если рассмотреть задачу с точки зрения разработки ПО а не проброса туннелей. То если
поменять местами роли клиент-сервер и белый-серый перевернуть то создать сокетное
соединение проще в обратном направлении. Тоесть клиент из дому ходить на сервер на работе
у которого белый IP.
Знаю, но на работе частная и публичная сеть разделены.
Тут уже вопросы к нашим айтишникам, как они обеспечивают защиту контуров.
Вопрос получается в том, чтобы решение было максимально безопасно, надеюсь тот же Zerotier этому соответствует.
Но "перевернуть" решение нельзя, так как доступ нужен только с работы на домашний сервак, но не наоборот.
Роутер с ddns, провайдер даёт динамический белый ip, сделан проброс на ssh сервер, ключи и проброс порта, со встроенными сервером vpn так же работает ни каких проблем
На работе наверняка белый ip
На домашнем роутере робросить порт только для подключения с рабочего ip. Или пробросить для всех ip, а на сервере принимать только с рабочего.
VPN тут "на**й ненужон" :))
Ну так Nat ничего не говорит про то белый у офиса адрес или нет. Как правило он именно белый.
Если вы разрешаете проброс только для вашего рабочего ip, то это вполне себе безопасно - все попытки установить соединение с других адресов просто сразу отметаются. У меня в паре офисов так RDP наружу выставлен уже много лет - доступ только по белому списку адресов
swoopspb, вполне вероятно что серый адрес на работе динамический, я не отслеживал, но скорее всего именно так... Получается придется постоянно его менять?
Вы, вероятно, хотели написать белый
Ну, если динамический, то публикация порта, конечно, менее безопасна, хотя нестандартный порт, failtoban и аутентификация по ключу, на мой взгляд, всё равно обеспечивают высокий уровень безопасности.
Но мой опыт говорит что у организаций, как правило, статический белый ip.
Но, разумеется, выбор решения за вами :)
swoopspb, нет, я имел ввиду что моя подсеть, из которой ноут выходит наружу - она за NATом, и адрес 192.168.*.* скорее всего не статический для каждого отдела.
Или это не важно, так как белый адрес вряд ли будет меняться.
Смогу ли я пробить рабочий NAT, не трогая местных айтишников?
Это не важно, значение имеет только под каким адресом вы выходите в инет - для вашего домашнего роутера подключение будет именно с этого адреса.
Если исходящий трафик у вас на работе не фильтруется (обычно нет), то проблем не будет и никуда обращаться не понадобится