BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/review/archive/2020/20-08-20.html

Простое пробивание рабочего/провайдерского NAT с помощью Tailscale.

#400, 20.08.2020

Простое пробивание рабочего/провайдерского NAT с помощью Tailscale
dl // 20.08.20 03:02
Четырёхсотый выпуск — повод тряхнуть стариной и написать чуть больше, чем простая подборка новостей. И как раз недавно на глаза попался вполне для этого подходящий симпатичный сервис, упоминаний на русском о котором внезапно практически не нашлось.

По нынешним временам всеобщей удалёнки всё, этой удалёнке помогающее, стремительно набирает популярность. И речь не только о видеоконференциях, иногда ведь хочется и нормально поработать с ресурсами офисной или домашней сети. Те, у кого удалённая работа входит в нормальный рабочий цикл, конечно, всё уже давно настроили, но многие ещё только подтягиваются, открывая дивный новый мир VPN, проброса портов, UPnP и т.п.

Проще всего тем, у кого под рукой оказался хотя бы один «белый» IP-адрес, хоть дома, хоть на работе. В большинстве приличных домашних роутеров либо NAS уже давно можно найти серверы PPTP, OpenVPN, IPSec, иногда какой-то один, иногда все. После простой настройки устанавливаем подходящий клиент и радуемся жизни. PPTP-сервер тысячу лет входит в поставку любой Windows, для IPSec, правда, потребуется Windows Server. В самостоятельном разворачивании OpenVPN-сервера или набирающего популярность WireGuard тоже нет ничего сложного.

Я и сам именно так подключаюсь к домашней сети уже лет десять. Но далеко не все провайдеры предоставляют честные IP-адреса, пусть даже динамические, а уж в рабочих сетях сплошь и рядом все сидят за NAT — и если вы не являетесь по счастливому стечению обстоятельств администратором сети, флаг в руки уговаривать его пробросить порт для столь вопиющего нарушения периметра.

На этом этапе многие ломаются и просто ставят какой-нибудь TeamViewer, AnyDesk или вообще Chrome Remote Desktop, решив, что вместо удалённого подключения к сети достаточно удалённого управления одной машиной в этой сети. С одной стороны, минимальные усилия по настройке, с другой — вот так гонять картинку своего экрана через чужие узлы — бррр, разве что для каких-то очень второстепенных систем.

Не сдавшиеся уходят сравнивать цены на VDS/VPS, чтобы поднять там сервер любимой VPN, к которому подключаются со всех своих систем уже в качестве клиентов. В минусах очень дополнительная головная боль и, как правило, ограничения на скорость и трафик.

И теперь на сцене появляется собственно герой рассказа — сервис Tailscale, основанный в прошлом году парой выходцев из Google и открытый для публичного использования весной этого года. Лично моё внимание он привлёк, когда в него перешёл Брэд Фицпатрик (Brad Fitzpatrick), известный разработкой memcached и LiveJournal и тоже проработавший в Google 13 лет, 10 последних из которых занимаясь Go (языком, а не игрой).

Идея Tailscale — организация VPN на основе mesh-сети из узлов уже упоминавшегося WireGuard. Сервер координации раздает сертификаты и статические адреса, при регистрации клиентов используются аккаунты Google либо Microsoft. Для организации прохода сквозь NAT используется несколько техник, основанных на стандартах STUN и ICE, в особо запущенных случаях используется сеть из серверов-ретрансляторов DERP (Designated Encrypted Relay for Packets), взаимодействующих поверх HTTPS.

Клиенты доступны для Windows, macOS, Linux, Android, iOS, установка и настройка просты до безобразия, исходники открыты. Есть и сторонние пакеты для всех популярных NAS. Linux-клиент после этого может обеспечить доступ ко всей сети, Windows-клиенты дают доступ только к той машине, на которой установлены.

Для личных целей можно бесплатно использовать до 100 устройств, привязанных к одному аккаунту. Хочется иметь больше устройств или использовать разные аккаунты для разных клиентов — уже придётся платить, но для личного использования выглядит вполне достаточно, а для описанной задачи взаимодействия двух систем, скрытых NAT, — практически идеально. С точки зрения безопасности — ну да, в принципе, вы пускаете в свою сеть трафик с постороннего узла. С другой стороны, это всяко не хуже упомянутых решений для удалённого доступа и явно комфортнее самопального велосипеда на VDS/VPS.

Update: На момет написания Windows-клиент работал лишь у залогиненных пользователей, Unattended Mode for Windows тогда лишь тестировался, но начиная с версии 1.2 он доступен уже всем, для включения достаточно выставить соответствующую галочку в контекстном меню.

Источник: Tailscale




обсудить  |  все отзывы (0)
[11409]




  Copyright © 2001-2024 Dmitry Leonov Design: Vadim Derkach