mesh VPN ის ინსტრუმენტია, რომელიც ჩუმად ყველაფერს ამარტივებს: თქვენი ლეპტოპი, სახლის სერვერი, ტელეფონი და VPS-ები, სადაც არ უნდა იყვნენ, ერთმანეთს პირად მისამართებზე ხედავენ. ჰოსტინგ mesh VPN-ების პრობლემა კოორდინაციის სერვერია: კომპანია ინახავს თქვენი ყველა მოწყობილობის რუკას. Headscale ამ მართვის სერვერის ღია კოდის ჩამნაცვლებელია. გაუშვით იგი პატარა VPS-ზე, განაგრძეთ ჩვეულებრივი კლიენტ-აპების გამოყენება და რუკა თქვენი ხდება.
როგორ ერგება ნაწილები ერთმანეთს
- Headscale (თქვენს VPS-ზე) გასცემს მისამართებს, ავრცელებს საჯარო გასაღებებს და ახორციელებს თქვენს ACL-ებს.
- კლიენტები სტანდარტული Tailscale აპებია, თქვენს სერვერზე მიმართული.
- ტრაფიკი მოწყობილობიდან მოწყობილობამდე WireGuard-ით მიდის. მართვის სერვერი მას არასდროს ატარებს.
სწორედ ეს ბოლო პუნქტია მიზეზი, რის გამოც პაწაწინა ტარიფი მუშაობს: VPS მხოლოდ კოორდინაციის პატარა მოთხოვნებს პასუხობს.
რა გჭირდებათ
- Nano-IP ($8/თვე): 2 vCPU და 1 GB RAM Headscale-ის მოხმარებაზე გაცილებით მეტია.
- გამოყოფილი IPv4 და დომენი, მაგალითად
hs.example.com. მოწყობილობები მართვის სერვერს HTTPS-ით ესაუბრებიან, ამიტომ VPS-მა უნდა მიიღოს შემომავალი 443; NAT ტარიფები ამას არ აკეთებენ (დეტალები).
ინსტალაცია (Debian 12 / Ubuntu 24.04)
აიღეთ მიმდინარე .deb GitHub-ზე Headscale-ის რელიზების გვერდიდან; ვერსია უახლესით შეცვალეთ:
HS_VER=0.26.1
wget -O headscale.deb \
"https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy
შეასწორეთ /etc/headscale/config.yaml; ორი მნიშვნელოვანი სტრიქონი:
server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080
HTTPS-ისთვის წინ Caddy დააყენეთ:
cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy
დაამატეთ მომხმარებელი და მოწყობილობა
headscale users create alice
headscale users list # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h
ძველი რელიზები --user-ში ID-ის ნაცვლად მომხმარებლის სახელს იღებენ; headscale preauthkeys create --help გეტყვით, რას ელის თქვენი ვერსია.
Linux მოწყობილობაზე:
tailscale up --login-server https://hs.example.com --authkey YOUR_KEY
ტელეფონებსა და კომპიუტერებზე Tailscale აპი პარამეტრებში მორგებული მართვის სერვერის მითითების საშუალებას იძლევა. გაუშვით headscale nodes list VPS-ზე და თქვენი მოწყობილობა იქ უნდა იყოს.
Relay-ები და NAT-ის გავლა
მოწყობილობების უმეტესობა პირდაპირ უკავშირდება. როცა ორი ვერ ახერხებს (მკაცრი მობილური ქსელები, ორმაგი NAT), ტრაფიკი DERP relay-ით მიდის. ნაგულისხმევად Headscale იყენებს Tailscale-ის საჯარო relay-ებს, რომლებიც მხოლოდ დაშიფრულ პაკეტებს ხედავენ. თუ გზაზე არაფერი გარეშე არ გინდათ, ჩართეთ ჩაშენებული relay config.yaml-ში (derp.server.enabled: true) და გახსენით UDP 3478. მაშინ relay-ით გადაცემული ტრაფიკი თქვენი VPS-ის გამტარობიდან აითვლება.
შეზღუდვები, გულწრფელად
ოფიციალური ვებ-დაფა არ არის: მომხმარებლები, გასაღებები და მარშრუტები CLI ბრძანებებია (ორჯერ გაკეთების შემდეგ მარტივია). ჰოსტინგ სერვისის ახალი ფუნქციები Headscale-ში გვიან ჩნდება, თუ საერთოდ ჩნდება. და მართვის სერვერი ახლა თქვენი პასუხისმგებლობაა: თუ ის გაითიშება, არსებული კავშირები მუშაობას აგრძელებს, მაგრამ ახალი მოწყობილობები ვერ შემოუერთდებიან და გასაღებები ვერ განახლდება. შეინახეთ მისი სარეზერვო ასლი: მთელი მდგომარეობა /var/lib/headscale-შია.
სახლის ლაბორატორიისთვის, ოჯახისთვის ან პატარა გუნდისთვის, რომელსაც სურს მოწყობილობების რუკა სხვის სერვერებზე აღარ იყოს, ეს $8-იანი VPS-ის ერთ-ერთი საუკეთესო გამოყენებაა.
დაკავშირებული
- WireGuard VPN-ის თვითჰოსტინგი: უბრალო WireGuard, თუ მხოლოდ ერთი გვირაბი გჭირდებათ
- VPS VPN-ისთვის
- VPS Home Assistant-ზე დისტანციური წვდომისთვის
კომენტარები
ჯერ არ არის კომენტარები. იყავით პირველი.