Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Mạng Yggdrasil là gì và cách cài đặt

Mạng Yggdrasil là gì và cách cài đặt

Mạng Yggdrasil (Yggdrasil Network) là mạng overlay IPv6 nhằm tạo mạng lưới (mesh network) phi tập trung, mã hóa. Xử lý mạng như lá trên cây nhị phân. Là overlay network, Yggdrasil cũng đóng vai VPN cho phép người dùng tương tác an toàn.

Yggdrasil miễn phí, cài đặt dễ, hỗ trợ nhiều nền tảng → lựa chọn mạnh cho kết nối riêng tư, an toàn.

Mesh Networking và Yggdrasil

Yggdrasil thực hiện mesh networking bằng cách biểu diễn mạng như cây các node kết nối. Các node đóng vai relay cho node khác → mesh network thực thụ.

Mạng Yggdrasil là gì và cách cài đặt

Cấu trúc mạng cho phép Yggdrasil dễ dàng tìm máy/trang web muốn truy cập. Tương tác người dùng khác không cần server trung tâm định tuyến.

Tại sao dùng Yggdrasil?

Điểm mạnh Yggdrasil: thay đổi cách dữ liệu định tuyến qua Internet. Giả định về trạng thái mặc định mạng:

  • Mọi node kết nối ít nhất 1 node khác.
  • Mỗi node relay dữ liệu minh bạch cho node khác.
  • Mỗi node quảng bá node kết nối với nó.
Mạng Yggdrasil là gì và cách cài đặt

Giả định tạo cấu trúc vừa cứng/độ dự đoán, vừa linh hoạt. Ví dụ: làm máy public bằng cách kết nối 1 public node. Public node kết nối node khác → user khác peer với node đó để kết nối bạn.

Mạng Yggdrasil là gì và cách cài đặt

Yggdrasil cũng cho tạo mạng con máy local – hữu ích tạo VPN.

Cài đặt Yggdrasil

Yggdrasil có sẵn nhiều nền tảng, hầu hết distro Linux. Nhưng không luôn trong repo mặc định → một số distro cần thêm source trước khi cài.

Cài Yggdrasil trên Debian/Ubuntu

Thêm GPG key chính thức vào apt:

gpg --fetch-keys https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/key.txt
gpg --export 569130E8CA20FBC4CB3FDE555898470A764B32C9 | sudo apt-key add -
Mạng Yggdrasil là gì và cách cài đặt

Thêm repo vào sources.list.d:

echo 'deb https://neilalexander.s3.dualstack.eu-west-2.amazonaws.com/deb/ debian yggdrasil' | sudo tee /etc/apt/sources.list.d/yggdrasil.list
Mạng Yggdrasil là gì và cách cài đặt

Cập nhật và cài:

sudo apt update && sudo apt install yggdrasil
Mạng Yggdrasil là gì và cách cài đặt

Cài Yggdrasil trên Fedora

Fedora đã có trong "Community Packages" → cài đơn giản:

sudo dnf copr enable rany/yggdrasil
sudo dnf install yggdrasil

Cài Yggdrasil trên Arch Linux

Arch cũng có trong community repo → cài bằng pacman:

sudo pacman -Syu yggdrasil

Cấu hình cài đặt

Sau cài, thiết lập kết nối node bằng cách sửa /etc/yggdrasil.conf. Dùng nano:

sudo nano -w /etc/yggdrasil.conf
Mạng Yggdrasil là gì và cách cài đặt

File tạo sau cài. Nếu không, tạo mới:

su --command="yggdrasil -genconf > /etc/yggdrasil.conf"

Kết nối Public Node

2 cách dùng:

  • Kết nối public node → máy có thể khám phá (discoverable).
  • Kết nối nhóm máy thành VPN riêng.

Cách 1: Thêm địa chỉ public node vào block Peers: trong /etc/yggdrasil.conf.

Block Peers: xác định node muốn kết nối. Các node ở đây phải public discoverable và connectable từ Internet.

Peers: [
  tls://address.domain:port
  tcp://1.2.3.4:port
  socks://[aaaa:...:ffff]/[1111:...:9999]
]

Peers block: danh sách node kết nối. Hỗ trợ TLS, SOCKS (mã hóa) hoặc TCP (không mã hóa – cho thiết bị nhúng không hỗ trợ TLS).

Mạng Yggdrasil là gì và cách cài đặt

Kết nối mạng Yggdrasil public: copy vài link node từ cộng đồng.

Bật dịch vụ:

sudo systemctl enable yggdrasil
sudo systemctl start yggdrasil
Mạng Yggdrasil là gì và cách cài đặt

Kiểm tra kết nối: truy cập trang web kiểm tra.

Tạo mạng riêng (Private Network)

Tạo private network hơi phức tạp hơn nhưng vẫn đơn giản. Cần:

  • Máy public discoverable (không bị CG-NAT chặn) hoặc VPS rẻ.
  • Nhiều máy ở mạng khác nhau không nói trực tiếp được.

Cấu hình Public Node cá nhân

Sửa block Listen: trong /etc/yggdrasil.conf của máy public.

Listen: [
  tls://your.ipv4.address.here:12345
  tcp://[your:ipv6:address:here]:12345
]

Node nhận kết nối đến port 12345 từ IPv4 (TLS) và IPv6 (TCP không mã hóa).

Mạng Yggdrasil là gì và cách cài đặt

Enable/start service áp dụng setting. Kết nối node này giống kết nối public node.

Khám phá địa chỉ và giới hạn truy cập

Mặc định node Yggdrasil mới chấp nhận mọi kết nối đến (đúng port). Để tạo VPN thực sự riêng tư, thêm public key vào whitelist.

Node Yggdrasil quảng bá public key duy nhất (tạo khi cài). Key này bảo mật bạn trong mạng, tạo địa chỉ.

Xem địa chỉ Yggdrasil:

sudo yggdrasilctl getself
Mạng Yggdrasil là gì và cách cài đặt

Hiển thị địa chỉ IPv6 bắt đầu 20x:… – dùng kết nối trực tiếp qua Yggdrasil. getself cũng hiện public key – dùng tạo allowed list trên public node.

Cấu hình node cá nhân giới hạn truy cập

Sửa block AllowedPublicKeys: trong /etc/yggdrasil.conf public node. Thêm public key cho phép.

AllowedPublicKeys: [
  "publickey1"
  "publickey2"
  "publickey3"
]
Mạng Yggdrasil là gì và cách cài đặt

Khởi động lại service áp dụng:

sudo systemctl restart yggdrasil

Chúc mừng! Bạn hiểu cơ bản Yggdrasil Network và cách kết nối, cấu hình mạng riêng.

Nếu tò mò cách Internet hoạt động, xem bài chụp gói TCP với tcpdump.

Câu hỏi thường gặp

1. Thêm địa chỉ Yggdrasil bạn bè vào config nhưng không kết nối được. Sai ở đâu?

Thường do:

  • Cả 2 máy sau NAT → không kết nối trực tiếp được.
  • Block Peers: và Listen: trong /etc/yggdrasil.conf cấu hình sai.

Nguyên nhân 1: đảm bảo ít nhất 1 máy public accessible. Port phải port forward đúng, thấy từ ngoài mạng local.

Nguyên nhân 2: block Peers: và Listen: phải chứa địa chỉ IPv4/IPv6 thật của máy peer, KHÔNG PHẢI địa chỉ Yggdrasil.

2. Kiểm tra máy đã peer đúng nhau không?

Chạy:

sudo yggdrasilctl getpeers
Hiển thị peer kết nối và vị trí tương đối trong cây Yggdrasil.

3. Tạo khóa/địa chỉ Yggdrasil mạnh được không?

Có! Dùng address miner – chương trình brute-force cặp public key có số 0 đầu nhất định. Phổ biến: Simple Yggdrasil Generator (SYG) phiên bản mới viết C++.