Друкарня від WE.UA
Публікація містить рекламні матеріали.

Піднімаємо Exit Node на Linux сервері за допомогою Tailscale VPN.

Зміст

Що таке Tailscale?

Android Apps by Tailscale Inc. on Google Play

Tailscale — сервіс для обʼєднання декількох девайсів в VPN на протоколі WireGuard. Tailscale дуже легко налаштовується якщо треба обʼєднати декілька ПК/ноутів на різних ОС, і доволі легко (порівнюючи з OpenVPN) якщо треба додати сервер.

Що таке Exit Node і навіщо він нам?

“Exit Node” — вихідний вузол. Якщо підключитися до девайсу в якого увімкнений режим “Exit Node” то увесь ваш інтернет трафік буде йти через нього.

Тож, беремо гарний хостінг з потрібною вам geo-локацією (для швидкості/отримання IP адреси конкретної країни) і у вас власний VPN зі статичною IP адресою за 4-6 євро на місяць.

В моєму випадку, треба було мати сервер зі статичним IP який був би внесений в декілька whitelist-ів, щоб декілька девайсів могли робити запити через його IP.

Команди для налаштування сервера на Linux в якості Exit Node.

1. Встановіть Tailscale на сервер

(запустіть у терміналі сервера або через SSH)

curl -fsSL https://tailscale.com/install.sh | sh

2. Додайте ключ авторизації, згенерований в панелі керування Tailscale

Tailscale-клієнти для інших девайсів зазвичай мають UI в якому ви можете авторизуватися через Google або GitHub, а ось для сервера потрібно заздалегідь створити ключ в кабінеті Tailscale. Також, якщо плануєте довго користуватися сервером, раджу в тому самому кабінеті відключити cплив терміну дії ключа автентифікації (Machines → оберіть свій сервер → Options → Disable key expiry

(запустіть у терміналі сервера або через SSH)

tailscale up --authkey=<YOUR_GENERATED_KEY>

3. Переконайтеся, що переадресація портів IPv4 та IPv6 увімкнена

(запустіть у терміналі сервера або через SSH)

echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding

4. Позначте сервер як Exit Node

(запустіть у терміналі сервера або через SSH)

tailscale up --advertise-exit-node

5. Увімкніть Exit Node

Зайдіть в Панель керування Tailscale → Machines → оберіть свій сервер → Options → Edit route settings... → поставте прапорець "Use as exit node"

6. (Необовʼязково) Оптимізуйте пропускну здатність UDP

(запустіть у терміналі сервера або через SSH)

NETDEV=$(ip route show 0/0 | cut -f5 -d' ')
sudo ethtool -K $NETDEV rx-udp-gro-forwarding on rx-gro-list off

Зміни, внесені за допомогою ethtool, не зберігаються постійно і будуть втрачені після вимкнення севера. У дистрибутивах Linux, які використовують networkd-dispatcher (факт використання можна перевірити за допомогою systemctl is-enabled networkd-dispatcher), скопіюйте та виконайте наступні команди, щоб створити скрипт, який налаштовуватиме ці параметри при кожному завантаженні.

printf '#!/bin/sh\n\nethtool -K %s rx-udp-gro-forwarding on rx-gro-list off \n' "$(ip route show 0/0 | cut -f5 -d" ")" | sudo tee /etc/networkd-dispatcher/routable.d/50-tailscale
sudo chmod 755 /etc/networkd-dispatcher/routable.d/50-tailscale

Перевірте створений скрипт, щоб переконатися, що він успішно працює на вашому сервері:

sudo /etc/networkd-dispatcher/routable.d/50-tailscale
test $? -eq 0 || echo 'An error occured!'

Все. Сервер готовий до підключень!


Далі можете вже гратися і, наприклад:

  • створити скрипт який буде підіймати та підготовлювати сервер автоматично через API (як от у Hetzner), щоб економити гроші та платити тільки за use-time;

  • замість “Exit Node” налаштувати маршрутизацію, щоб тільки частина трафіку йшла через вузол

  • спробувати Taildrop (наразі в альфа тестуванні), щоб обмінюватися файлами

  • …і ще багато чого. Короче, ви вже зрозуміли, продукт класний!

P.S. Критика цього допису вітається!

Статті про вітчизняний бізнес та цікавих людей:

  • Вітаємо з Різдвом Христовим!

    Друкарня та платформа WE.UA вітають всіх наших читачів та авторів зі світлим святом Різдва! Зичимо всім українцям довгожданого миру, міцного здоровʼя, злагоди, родинного затишку та втілення всього доброго і прекрасного, чого вам побажали колядники!

    Теми цього довгочиту:

    Різдво
  • Каблучки – прикраси, які варто купувати

    Ювелірні вироби – це не тільки спосіб витратити гроші, але і зробити вигідні інвестиції. Бо вартість ювелірних виробів з кожним роком тільки зростає. Тому купуючи стильні прикраси, ви вигідно вкладаєте кошти.

    Теми цього довгочиту:

    Як Вибрати Каблучку
  • П'ять помилок у виборі домашнього текстилю, які псують комфорт сну

    Навіть ідеальний матрац не компенсує дискомфорт, якщо текстиль підібрано неправильно. Постільна білизна безпосередньо впливає на терморегуляцію, стан шкіри та глибину сну. Більшість проблем виникає не через низьку якість виробів, а через вибір матеріалів та подальшу експлуатацію

    Теми цього довгочиту:

    Домашній Текстиль
  • Як знайти житло в Києві

    Переїжджаєте до Києва і шукаєте житло? Дізнайтеся, як орендувати чи купити квартиру, перевірити власника та знайти варіанти, про які зазвичай не говорять.

    Теми цього довгочиту:

    Агентство Нерухомості
  • Як заохотити дитину до читання?

    Як залучити до читання сучасну молодь - поради та факти. Користь читання для дітей - основні переваги. Розвиток дітей - це наше майбутнє.

    Теми цього довгочиту:

    Читання
Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Маріо Лобстер
Маріо Лобстер@mario_lobster

І що ви мені зробите?

1.9KПрочитань
1Автори
1Читачі
Підтримати
На Друкарні з 24 грудня

Більше від автора

Це також може зацікавити:

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Це також може зацікавити: