Skip to content

افزودن نود ​

نود سروری است که کاربرهایتان به آن وصل می‌شوند. هیچ پایگاه داده و هیچ تنظیمی از خودش ندارد: پنل همه چیز را به آن می‌گوید. اول نود را در پنل اضافه می‌کنید، و بعد پنل دستوری را که آن را نصب می‌کند به شما می‌دهد.

کشوی نصب یک نود: زبانهٔ دستی با دستور نصب، و زبانهٔ خودکار (SSH)کشوی نصب یک نود: زبانهٔ دستی با دستور نصب، و زبانهٔ خودکار (SSH)

پیش از شروع ​

  • یک سرور لینوکس با systemd یا با Docker. amd64، arm64، armv5/v6/v7، 386، s390x و riscv64 همه پشتیبانی می‌شوند.
  • root، یا کاربری با sudo.
  • پورت TCP ۶۲۰۵۰ که از پنل، روی IPv4 یا IPv6، در دسترس باشد.
  • پورت‌هایی که اینباندهای نود استفاده خواهند کرد. این‌ها را بعداً در پنل انتخاب می‌کنید.

نود به کلید لایسنس جداگانه‌ای نیاز ندارد. لایسنس پنل تعیین می‌کند پنل چند نود را اداره کند.

نصب با دستور پنل ​

  1. نودها را باز کنید و یک نود اضافه کنید. یک نام و آدرس آن را بدهید، یعنی آی‌پی یا دامنه‌ای که پنل با آن به نود می‌رسد. پورت را روی ۶۲۰۵۰ نگه دارید.

  2. نصب را روی نود باز کنید. شروع نصب، اول نود را ذخیره می‌کند.

  3. در زبانهٔ دستی، دستور را کپی کنید. چیزی شبیه این است:

    bash
    curl -fsSL https://PANEL/install-node.sh | bash -s -- --panel PANEL --token TOKEN
  4. آن را با root روی سرور نود اجرا کنید.

پنل روی گواهی خودامضای خودش

ویزارد راه‌اندازی پنل را با یک گواهی خودامضا بالا می‌آورد و curl روی سرور نود آن را رد می‌کند. تا وقتی پنل گواهی Let's Encrypt یا یک مرجع ACME دیگر نگرفته (گواهی‌ها)، به curl گزینهٔ -k و به اسکریپت گزینهٔ --insecure را اضافه کنید:

bash
curl -fsSLk https://PANEL/install-node.sh | bash -s -- --panel PANEL --token TOKEN --insecure

پنلی که روی HTTP ساده است اصلاً نمی‌تواند از این دستور استفاده کند؛ به‌جایش از نصب خودکار با SSH استفاده کنید.

در کمتر از یک دقیقه این کارها را می‌کند:

  1. باینری نود را از پنل خودتان دانلود می‌کند، نه از اینترنت؛
  2. توکن را با گواهی پنل عوض می‌کند. توکن یک بار کار می‌کند و منقضی می‌شود؛
  3. گواهی خود نود را می‌سازد؛
  4. /opt/nexora-node/config.json و یک سرویس را می‌نویسد و آن را اجرا می‌کند.

بعد پنل وصل می‌شود. در همان اولین اتصال گواهی نود را به خاطر می‌سپارد و از آن به بعد فقط همان را می‌پذیرد، و نود هم فقط پنل را می‌پذیرد. هیچ چیز دیگری نمی‌تواند از پورت ۶۲۰۵۰ استفاده کند.

نود در صفحهٔ نودها متصل نشان داده می‌شود. تا وقتی قالب نداشته باشد هیچ چیزی سرو نمی‌کند: نود را ویرایش کنید و در فیلد قالبش یکی را انتخاب کنید. اولین قالبتان را در اولین کاربر در ده دقیقه می‌سازید.

نصب خودکار با SSH ​

پنل می‌تواند همهٔ این کارها را خودش انجام دهد. در کشوی نصب نود، به خودکار (SSH) بروید:

  1. میزبان SSH، پورت SSH، کاربر، و یک رمز عبور یا کلید خصوصی بدهید. کاربری غیر از root به sudo نیاز دارد.
  2. تشخیص را بزنید. پنل سیستم، معماری، وجود systemd یا Docker و آنچه از قبل نصب است را گزارش می‌کند و بعد برنامه‌اش را نشان می‌دهد.
  3. نصب را بزنید. خروجی زنده برمی‌گردد.

در این روش همه چیز روی اتصال SSH بارگذاری می‌شود: نصب‌کننده، گواهی پنل و باینری نود. سرور به هیچ مسیری به پنل و هیچ توکنی نیاز ندارد.

اطلاعات ورود فقط برای همان یک اتصال استفاده و ذخیره نمی‌شود. کلید پنل روی این سرور مجاز شود را تیک بزنید تا پنل بعداً با کلید خودش وارد شود و به‌روزرسانی‌ها به رمز نیاز نداشته باشند. این دسترسی را با ابطال کلید پنل در منوی نود بردارید.

اولین اتصال، کلید میزبان SSH سرور را به خاطر می‌سپارد. اگر سرور بعداً کلید دیگری نشان دهد، پنل از اتصال خودداری می‌کند و این را اعلام می‌کند. وقتی واقعاً دستگاه را عوض کرده‌اید، از انتقال به سرور دیگر در منوی نود استفاده کنید.

فایروال ​

پورت ۶۲۰۵۰ فقط پنل را می‌پذیرد، اما دلیلی ندارد برای همه باز بماند:

bash
ufw allow from 203.0.113.10 to any port 62050 proto tcp

اگر پنل با IPv6 به نود می‌رسد، قانون باید آدرس IPv6 پنل را نام ببرد: قانون IPv4 اتصال IPv6 را پوشش نمی‌دهد.

پورت‌هایی را که کاربرهایتان به آن‌ها وصل می‌شوند بعد از دادن قالب به نود باز کنید، وقتی می‌دانید از کدام‌ها استفاده می‌کند.

گزینه‌های نصب ​

این‌ها را به انتهای دستور اضافه کنید:

گزینهاثر
--listen ADDRپورت کنترل را جایی غیر از [::]:62050 باز می‌کند
--method script|dockerنصب به صورت سرویس systemd یا کانتینر (پیش‌فرض: همانی که هست بماند)
--source panel|githubباینری را از پنل یا از یک نسخهٔ عمومی می‌گیرد
--version TAGنسخهٔ مشخصی از نود را نصب می‌کند (آن را از GitHub می‌گیرد)
--image REFایمیج کانتینر برای --method docker
--binary-url URLباینری را از آدرس دیگری دانلود می‌کند
--binary-file PATHاز باینری‌ای که از قبل روی این سرور است استفاده می‌کند
--ca-file PATHبه جای توکن، از گواهی پنلی که از قبل روی این سرور است استفاده می‌کند
--insecureهنگام دانلود، گواهی TLS پنل را بررسی نمی‌کند
--detectآنچه روی این سرور هست را چاپ می‌کند و چیزی را تغییر نمی‌دهد
--uninstallنود را متوقف و حذف می‌کند

پنل باینری‌ها را برای amd64 و arm64 آماده می‌کند. روی معماری‌های دیگر، نصب‌کننده نود را از GitHub می‌گیرد. اگر نصب با node binary not provisioned متوقف شد، عیب‌یابی را ببینید.

Docker ​

زبانهٔ دستی یک دستور Docker هم نشان می‌دهد: همان دستور با --method docker. نصب‌کننده فایل compose را می‌نویسد و کانتینر را برایتان اجرا می‌کند.

اگر می‌خواهید فایل compose نود را خودتان اجرا کنید، گواهی‌ای را که در همان زبانه زیر گواهی mTLS نشان داده شده به نام certs/panel_ca.pem ذخیره کنید، و بعد:

bash
git clone https://github.com/nexora-vpn/node
cd node
mkdir -p certs
cp /path/to/panel_ca.pem certs/
docker compose up -d

کانتینر نود از شبکهٔ میزبان استفاده می‌کند، پس پورت‌های اینباندهایش بدون ویرایش فایل compose کار می‌کنند.

IPv6 ​

به هیچ کار اضافه‌ای نیاز نیست. نود هم‌زمان روی IPv4 و IPv6 گوش می‌دهد، و روی سروری که IPv6 آن خاموش است به IPv4 برمی‌گردد. نودی را که فقط آدرس IPv6 دارد با آدرس ساده (2001:db8::1) اضافه کنید؛ پنل هر جا لازم باشد در لینک‌ها کروشه می‌گذارد.

بعدی ​

متن و تصویرها با مجوز CC BY 4.0.