آموزش
۷ فروردین ۱۴۰۵ 48 بازدید

بقا در بستر اینترانت ملی

محمدرضا دهقان سلماسی

نویسنده و پژوهشگر آکادمی فناوری پویندگان

محمدرضا دهقان سلماسی
آکادمی فناوری پویندگان · ویژه توسعه‌دهندگان ایرانی

راهنمای بقا در زمان قطعی اینترنت بین‌الملل
برای توسعه‌دهندگان و متخصصان کامپیوتر ایرانی

از خطای Timeout و SSL تا راه‌اندازی Docker، IDE، هوش مصنوعی و آموزش در بستر اینترانت ملی؛ چطور وقتی «دنیا قطع است» کار و یادگیری‌مان قطع نشود؟

✍️ نویسنده:محمدرضا دهقان سلماسی
⏱ زمان مطالعه: 7–10 دقیقه
📆 آخرین بروزرسانی: 1405/01/07
🚀 چرا این راهنما را نوشتیم؟

اگر در ایران در یکی از حوزه‌های کامپیوتر کار می‌کنی – از برنامه‌نویسی و DevOps تا امنیت، دیتا، هوش مصنوعی، آموزش و حتی IT سازمانی – احتمالا این صحنه‌ها را بارها دیده‌ای:

  • Docker image‌ ساده‌ای که قرار است «5 ثانیه‌ای» بیاید، نیم ساعت روی Pulling fs layer گیر می‌کند.
  • pip و npm وسط نصب پکیج جان می‌دهند و فقط یک Read timed out نصیبت می‌شود.
  • IDE دوست‌داشتنی‌ات (مثل VS Code، Android Studio، PyCharm) بدون دسترسی به Marketplace و پلاگین‌ها عملا نیمه‌جان می‌شود.
  • سرویس‌های ابری، Git، مستندات و Stack Overflow همه آن طرف دیوار هستند.

تقصیر تو نیست؛ ولی اگر بدون استراتژی با این شرایط روبه‌رو شوی، زمانت، تمرکزت و انگیزه‌ات با هم می‌سوزند. این راهنما تلاش می‌کند یک «نقشه‌ی بقا» بدهد تا در زمان قطعی اینترنت بین‌الملل، در حد ممکن کار و یادگیری‌ات ادامه پیدا کند.


1. DNS؛ زیربنایی که اغلب دست‌کم گرفته می‌شود

انتخاب DNS مناسب، اولین قدم برای یک اینترنت ملی قابل تحمل است.

در زمان قطعی اینترنت بین‌الملل، حتی وقتی «همه‌چیز داخلی» است، هنوز هم کیفیت DNS می‌تواند تفاوت بین «سایت باز می‌شود» و «کلا باز نمی‌شود» باشد. DNS فقط تبدیل نام دامنه به IP نیست؛ روی سرعت دسترسی به میرورها، پایداری اتصال به سرویس‌های داخلی و دور زدن باگ‌های شبکه تاثیر می‌گذارد.

ℹ️

هیچ DNSای برای همه و روی همه‌ی ISPها «بهترین» نیست. چند مورد را تنظیم کن، تست پینگ و کاربری واقعی بگیر و آن‌که برای تو پایدارتر و سریع‌تر است را نگه دار.

نمونه‌ای از DNSهای پرکاربرد داخلی:
Shecan: 178.22.122.100 / 185.51.200.2 TIC: 217.218.155.155 / 217.218.127.127 Shatel: 85.15.1.14 / 85.15.1.15 403 / Radar / Megan / Pishgaman

روی لینوکس، می‌توانی به طور موقت از systemd-resolved کمک بگیری:

[Resolve]
DNS=178.22.122.100 185.51.200.2
FallbackDNS=217.218.155.155 217.218.127.127

یا روی ویندوز از بخش Network & Internet → Adapter → IPv4 دستی تنظیم کن.

2. Docker در اینترنت ملی؛ از کابوس تا قابل استفاده

بدون registry داخلی، Docker اولین قربانی قطعی اینترنت بین‌الملل است.

Docker تقریبا در همه‌ی حوزه‌ها حضور دارد: توسعه‌ی وب، بک‌اند، DevOps، دیتا، تست و حتی آموزش. در اینترنت ملی، اتصال مستقیم به Docker Hub معمولا یا قطع است یا شدیدا محدود، برای همین استفاده از Registry Mirror داخلی حیاتی است.

نمونه رجیستری‌های داخلی

  • Arvancloud: https://docker.arvancloud.ir
  • Runflare: https://mirror-docker.runflare.com
  • IranServer: https://docker.iranserver.com
  • Mobinhost: https://docker.mobinhost.com
  • Jamko / Megan / Liara / KubarCloud...

تنظیم /etc/docker/daemon.json

{
  "registry-mirrors": [
    "https://docker.arvancloud.ir",
    "https://mirror-docker.runflare.com"
  ],
  "max-concurrent-downloads": 10
}
sudo systemctl daemon-reload
sudo systemctl restart docker
⚠️

هشدار مهم: همه‌ی ایمیج‌ها روی همه‌ی میرورها نیستند. برای ایمیج‌های حیاتی پروژه‌، قبل از بحران آن‌ها را pull کن، به registry خصوصی داخلی (یا حتی یک NAS در شرکت) push کن تا به آن‌ها وابسته نباشی.

3. میرورهای سیستم‌عامل؛ برای لینوکسی‌ها و ادمین‌ها

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

اگر روی سرور یا دسکتاپ از توزیع‌های لینوکسی استفاده می‌کنی در اینترنت ملی حتما باید mirror داخلی تنظیم کنی؛ وگرنه ساده‌ترین apt install git هم گیر می‌کند.

برخی میرورهای شناخته‌شده

  • Shatel: mirror.shatel.ir
  • IranServer: mirror.iranserver.com
  • ArvanCloud: arvancloud.ir/dev/linux-repository
  • ir.archive.ubuntu: میرور رسمی Ubuntu

نمونه تنظیم Ubuntu (sources.list)

deb http://ir.archive.ubuntu.com/ubuntu/ jammy main restricted
deb http://ir.archive.ubuntu.com/ubuntu/ jammy-updates main
deb http://ir.archive.ubuntu.com/ubuntu/ jammy-security main

4. PyPI و Python؛ از ارور SSL تا نصب بدون اشک

بدون PyPI، بخش بزرگی از دنیاهای وب، دیتا و AI قفل می‌شوند.

توسعه‌دهندگان Python در ایران معمولا اولین ضربه را از قطع PyPI می‌خورند. راه‌حل، تنظیم mirror داخلی برای pip است.

میرورهای داخلی PyPI

  • Runflare: mirror-pypi.runflare.com/simple
  • ITO: archive.ito.gov.ir/python/
  • cdn.ir: mirror.cdn.ir/repository/pypi/
  • Liara: package-mirror.liara.ir/...

تنظیم سراسری (pip config)

مثال با Runflare:

pip config --user set global.index-url https://mirror-pypi.runflare.com/simple
pip config --user set global.trusted-host mirror-pypi.runflare.com

5. npm / Yarn؛ فرانت‌اند، Node و موبایل

پروژه‌های فرانت‌اند (React, Vue)، بک‌اند Node.js، ابزارهای build و React Native بدون npm متوقف می‌شوند.

میرورهای NPM:
  • https://mirror-npm.runflare.com
  • https://archive.ito.gov.ir/npm/
  • https://mirrors.kubarcloud.com/npm/
  • https://mirror.iranserver.com/npm/
دستورات تنظیم (CLI):
npm config set registry https://mirror-npm.runflare.com
yarn config set npmRegistryServer https://mirror-npm.runflare.com

6. NuGet و اکوسیستم .NET

برای توسعه‌دهندگان #C و ASP.NET، میرورهای داخلی dotnet نجات‌بخش است. مانند Runflare و Liara.

dotnet nuget add source "https://mirror-nuget.runflare.com/v3/index.json" -n RunflareMirror

7. Composer و PHP (Laravel)

دنیای PHP بدون packagist.org به مشکل می‌خورد. با تغییر آدرس مخزن به میرور داخلی (مانند Liara یا ITO) توسعه را ادامه دهید.

composer config -g repos.packagist composer https://package-mirror.liara.ir/repository/composer/

8. هوش مصنوعی بدون دسترسی به اینترنت بین‌الملل

مدل‌های داخلی، سرویس‌های بومی و اجرای مدل‌ها به صورت آفلاین.

وقتی به ChatGPT و GitHub Copilot دسترسی ندارید سه مسیر اصلی پیش رو دارید: سرویس‌های داخلی وب، اجرای مدل‌های آفلاین، یا ترکیبی از هر دو.

سرویس‌های داخلی (Web AI)

  • chat.smartbytes.ir: چت رایگان.
  • ivira.ai: مدل‌ها و پلن رایگان محدود.
  • roboo.ir / zigap.ir: سرویس‌های تست.

اجرای آفلاین مدل‌ها

ابزارهایی مثل Ollama و LM Studio اجازه می‌دهند مدل‌های GGUF را روی سیستم خودت اجرا کنی. یک مدل چند گیگی را دانلود کن و با حداقل 16 گیگ RAM یک دستیار کدنویسی آفلاین داشته باش.

10. استراتژی بقا برای نقش‌های مختلف

👨‍💻 توسعه‌دهندگان نرم‌افزار

  • نصب کامل وابستگی‌ها پیش از بحران (Cache محلی).
  • استفاده از فایل‌های lock (مثل package-lock.json).
  • آرشیو Installerهای IDE و SDKها.

⚙️ DevOps و ادمین‌ها

  • راه‌اندازی Registry خصوصی داکر و کش APT/YUM.
  • بکاپ از Chartها و Templateهای Terraform.
  • تنظیم Monitoring روی میزبان‌های داخلی.

🛡️ متخصصان امنیت

  • دانلود توزیع‌های Kali/Parrot و ابزارها.
  • سینک کردن مخازن ابزارهای امنیتی روی Git داخلی.
  • ذخیره آفلاین RFCها و guidelineها (PDF).

📊 متخصصان دیتا و AI

  • نگهداری آفلاین مدل‌ها، Datasetها و کتابخانه‌ها.
  • مستندات آفلاین Driverها و CUDA/CUDNN.
  • Notebookهای مهم در repo داخلی.

🏢 مدیران IT و مدرسین

  • نوشتن سناریوی بحران و راه‌اندازی سرویس‌های پایه روی اینترانت.
  • طراحی پروژه‌های آموزشی بدون نیاز به دانلود سنگین.
  • راه‌اندازی Git و CI/CD داخلی.

11. دانلود نرم‌افزار و فضای ابری

دانلود IDE و ابزارها

از سایت‌های معتبر داخلی با چک کردن هش فایل‌ها استفاده کنید:

soft98.ir | softgozar.com | yasdl.com | p30download.ir

فضای ابری اشتراکی

برای اشتراک فایل در داخل کشور:

abrehamrahi.ir | picofile.com | files.ir

✅ 12. جمع‌بندی: آرامش نسبی در میانه‌ی بی‌نظمی

وضعیت اینترنت برای توسعه‌دهندگان پیش‌بینی‌پذیر نیست، اما واکنش ما می‌تواند پیش‌بینی‌پذیر و برنامه‌ریزی‌شده باشد. اگر DNS پایدار پیدا کرده‌اید، میرورهای Docker، PyPI، npm و... را تنظیم کرده‌اید و مستندات را آفلاین دارید، در قطع‌های بعدی به جای جنگ اعصاب روی کدنویسی و رشدتان تمرکز خواهید کرد.

این راهنما در آکادمی فناوری پویندگان تهیه شده. اگر شما هم تجربه‌ای دارید، برای تکمیل این «نقشه‌ی بقا» در کامنت‌ها بنویسید!
اشتراک‌گذاری حرفه‌ای:
بازگشت به لیست مقالات

نظرات کاربران 0

هنوز هیچ نظری ثبت نشده است.

اولین نفر باشید که دیدگاه خود را به اشتراک می‌گذارد!

دیدگاه شما

برای ثبت نظر، لطفاً وارد حساب کاربری خود شوید.

ورود به حساب کاربری
محمدرضا دهقان سلماسی

محمدرضا دهقان سلماسی هستم طراح و توسعه دهنده وب‌سایت و موبایل! دانشجو رشته نرم افزار کامپیوتر در مقطع کاردانی نیز هستم.