افزایش سرعت کپی و paste در لینوکس


“`html





راهنمای جامع حل مشکل اتصال اینترنت پس از قطع VPN یا پروکسی در لینوکس

راهنمای جامع حل مشکل اتصال اینترنت پس از قطع VPN یا پروکسی در لینوکس

در دنیای امروز، استفاده از VPN و پروکسی‌ها برای حفظ حریم خصوصی و دسترسی به محتوای محدود بسیار رایج است. اما گاهی اوقات، پس از قطع اتصال این ابزارها، اتصال اینترنت شما به حالت عادی برنمی‌گردد. ممکن است اتصال فیزیکی اینترنت برقرار باشد (مثلاً بتوانید پینگ کنید)، اما مرورگرها یا برنامه‌های دیگر به اینترنت متصل نشوند. این مشکل معمولاً به دلیل باقی ماندن تنظیمات پروکسی، کش DNS نامعتبر، تغییرات در فایروال، یا اختلال در روتینگ شبکه رخ می‌دهد.

در این راهنما، قدم به قدم به بررسی و حل این مشکلات می‌پردازیم. این دستورالعمل‌ها عمدتاً برای سیستم‌های مبتنی بر لینوکس (مانند اوبونتو، فدورا یا دبیان) طراحی شده‌اند و فرض بر این است که از ترمینال (bash) استفاده می‌کنید. هشدار مهم: قبل از اجرای دستورات sudo، مطمئن شوید که دسترسی root دارید و تغییرات را با احتیاط اعمال کنید. اگر مشکلی پیش آمد، سیستم را ریستارت کنید یا از پشتیبان‌گیری استفاده کنید. همچنین، اگر از توزیع خاصی استفاده می‌کنید، دستورات ممکن است کمی متفاوت باشند – در این صورت، مستندات توزیع خود را چک کنید.

این راه‌حل‌ها را به ترتیب امتحان کنید تا مشکل حل شود. اگر یک قدم کارساز بود، نیازی به ادامه نیست.


قدم ۱: بررسی اتصال DNS

ابتدا بررسی کنید که آیا مشکل از DNS است یا خیر. DNS مسئول تبدیل نام دامنه‌ها (مانند google.com) به آدرس IP است. اگر DNS کار نکند، مرورگرها نمی‌توانند سایت‌ها را بارگذاری کنند.

• دستورات زیر را در ترمینال اجرا کنید:

nslookup google.com

اگر پاسخی دریافت کردید (آدرس IP گوگل نمایش داده شود)، DNS کار می‌کند.

dig google.com

این دستور جزئیات بیشتری نشان می‌دهد. اگر خطایی مانند “connection timed out” دیدید، مشکل از DNS است.

اگر DNS کار نمی‌کند، به قدم‌های بعدی بروید. در غیر این صورت، مستقیماً به غیرفعال کردن پروکسی‌ها (قدم ۲) بپردازید.


قدم ۲: غیرفعال کردن یا پاک کردن متغیرهای پروکسی (Environment Variables)

VPN یا پروکسی‌ها اغلب متغیرهای محیطی مانند http_proxy را تنظیم می‌کنند که پس از قطع اتصال باقی می‌مانند و باعث اختلال می‌شوند.

• برای پاک کردن آن‌ها، دستورات زیر را اجرا کنید:

unset http_proxy
export http_proxy=””
unset all_proxy
unset ALL_PROXY

• یا همه را یکجا پاک کنید:

unset http_proxy https_proxy ftp_proxy all_proxy HTTP_PROXY HTTPS_PROXY FTP_PROXY ALL_PROXY

پس از اجرا، ترمینال را ببندید و دوباره باز کنید تا تغییرات اعمال شود. اگر مشکل حل نشد، به قدم بعدی بروید.


قدم ۳: پاک‌سازی کش DNS مرورگرها (بسیار مهم!)

گاهی مشکل فقط در کش مرورگر است و سیستم کلی اینترنت دارد. کش DNS مرورگر می‌تواند اطلاعات قدیمی را نگه دارد.

برای Firefox:

1. در آدرس بار تایپ کنید: about:networking#dns

2. دکمه “Clear DNS Cache” را کلیک کنید.

3. یا: about:config را باز کنید، جستجو کنید network.dnsCacheExpiration، مقدار را به 0 تغییر دهید و سپس به حالت اولیه برگردانید.

برای Chrome/Chromium/Edge:

1. در آدرس بار تایپ کنید: chrome://net-internals/#dns

2. دکمه “Clear host cache” را کلیک کنید.

پس از پاک‌سازی، مرورگر را ریستارت کنید و امتحان کنید. اگر هنوز مشکل وجود دارد، ادامه دهید.


قدم ۴: ریست DNS به صورت دستی در فایل /etc/resolv.conf

اگر DNS سیستم مشکل دارد، می‌توانید سرورهای DNS را دستی تنظیم کنید (مثلاً به گوگل یا Cloudflare).

• فایل resolv.conf را بازنویسی کنید:

echo “nameserver 8.8.8.8” | sudo tee /etc/resolv.conf
echo “nameserver 1.1.1.1” | sudo tee -a /etc/resolv.conf

• اگر از systemd-resolved استفاده می‌کنید (در توزیع‌های مدرن مانند اوبونتو):

sudo ln -sf /run/systemd/resolve/stub-resolv.conf /etc/resolv.conf

این کار سرورهای DNS را به حالت پیش‌فرض یا عمومی برمی‌گرداند. پس از اجرا، اتصال را تست کنید.


قدم ۵: غیرفعال کردن پروکسی در تنظیمات سیستم

اگر پروکسی در سطح سیستم تنظیم شده باشد، باید آن را غیرفعال کنید.

• بررسی تنظیمات پروکسی:

gsettings get org.gnome.system.proxy mode

• غیرفعال کردن در محیط GNOME:

gsettings set org.gnome.system.proxy mode ‘none’

• برای محیط KDE:

kwriteconfig5 –file kioslaverc –group “Proxy Settings” –key “ProxyType” 0

اگر از محیط دسکتاپ دیگری استفاده می‌کنید، تنظیمات پروکسی را از طریق GUI (تنظیمات سیستم > شبکه > پروکسی) چک و غیرفعال کنید.


قدم ۶: راه‌حل فایروال و IP Tables (اگر VPN تنظیمات را تغییر داده)

VPNها گاهی قوانین فایروال یا روتینگ را تغییر می‌دهند که باعث مسدود شدن ترافیک می‌شود.

• بازنشانی iptables به حالت پیش‌فرض:

sudo iptables -F
sudo iptables -X
sudo iptables -t nat -F
sudo iptables -t nat -X
sudo iptables -t mangle -F
sudo iptables -t mangle -X
sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT

• یا فقط پاک‌سازی روتینگ:

sudo ip route flush table main

هشدار: این کار قوانین فایروال فعلی را پاک می‌کند. اگر فایروال مهمی دارید، بعد از حل مشکل آن را دوباره تنظیم کنید.


قدم ۷: نکته مهم برای کاربران Docker

اگر از Docker استفاده می‌کنید، شبکه Docker ممکن است تحت تأثیر قرار گیرد.

• ریست تنظیمات شبکه Docker:

sudo systemctl restart docker

• یا پاک‌سازی شبکه‌های قدیمی:

sudo docker network prune -f

پس از اجرا، کانتینرها را ریستارت کنید و تست کنید.


قدم ۸: پاک کردن کش DNS سیستم

اگر کش DNS سیستم مشکل دارد، آن را پاک کنید.

• دستورات زیر را اجرا کنید:

sudo systemd-resolve –flush-caches
sudo resolvectl flush-caches
sudo killall -HUP dnsmasq

این کار کش DNS محلی را پاک می‌کند. اگر dnsmasq نصب نیست، خطا را نادیده بگیرید.


قدم ۹: راه‌حل نهایی – ریستارت سرویس شبکه

اگر هیچ‌کدام کارساز نبود، سرویس شبکه را ریستارت کنید.

• برای توزیع‌های مبتنی بر systemd (مانند اوبونتو):

sudo systemctl restart NetworkManager

• برای توزیع‌های قدیمی‌تر (مانند دبیان):

sudo systemctl restart networking

اگر مشکل همچنان باقی ماند، سیستم را ریبوت کنید یا logs سیستم (مانند journalctl -u NetworkManager) را چک کنید.


قدم 10: بررسی تنظیمات MTU (Maximum Transmission Unit)

گاهی اوقات، تغییرات در تنظیمات VPN باعث تغییر در اندازه بسته‌های داده می‌شود که می‌تواند باعث عدم اتصال مجدد به اینترنت شود. این مشکل ممکن است زمانی رخ دهد که اندازه MTU شبکه تنظیم نشده باشد یا به طور اشتباهی تنظیم شده باشد.

• بررسی اندازه MTU:

برای بررسی اندازه MTU فعلی، دستور زیر را اجرا کنید:

ip link

اندازه MTU برای هر رابط شبکه (مانند eth0 یا wlan0) نمایش داده می‌شود. معمولاً مقدار MTU برای شبکه‌های خانگی باید برابر ۱۴۵۰ تا ۱۵۰۰ باشد.

• تنظیم مجدد MTU:

اگر مقدار MTU به درستی تنظیم نشده است، می‌توانید آن را به مقدار مناسب تنظیم کنید:

sudo ip link set dev eth0 mtu 1500

یا برای وای‌فای:

sudo ip link set dev wlan0 mtu 1500

این تغییر می‌تواند برخی مشکلات مربوط به اتصال را برطرف کند.


نکات اضافی و edge cases

• برای ویندوز: اگر روی ویندوز هستید، دستور ipconfig /flushdns را در CMD اجرا کنید و پروکسی را از تنظیمات اینترنت غیرفعال کنید.

• برای macOS: از sudo killall -HUP mDNSResponder برای پاک کش DNS استفاده کنید.

عمدتاً پاک‌سازی تنظیمات باقی‌مانده (leftover configurations) از VPN یا پروکسی هستند. اگر این تنظیمات پاک نشوند، سیستم شما در معرض آسیب‌پذیری‌های جدی امنیتی قرار می‌گیرد و می‌تواند مورد سوءاستفاده انواع حملات قرار بگیرد.

در ادامه، برای هر بخش اصلی، نام حمله‌ها/آسیب‌پذیری‌های مرتبط را به همراه توضیح کوتاه آورده‌ام:

۱. پاک کردن متغیرهای محیطی پروکسی (unset http_proxy, https_proxy, all_proxy و …)

  • Man-in-the-Middle (MitM) Attack از طریق پروکسی مخرب
  • Traffic Interception / Eavesdropping (شنود ترافیک)
  • Proxy Hijacking یا Forced Proxy Usage
  • Server-Side Request Forgery (SSRF) — به‌خصوص در اپلیکیشن‌ها و اسکریپت‌های CGI که به HTTP_PROXY اعتماد می‌کنند
  • Data Leakage / Exfiltration (نشت اطلاعات حساس)
  • Bypassing VPN Tunnel (ترافیک خارج از تونل VPN ارسال شود)

۲. پاک‌سازی کش DNS مرورگر (Chrome/Firefox) و سیستم (systemd-resolve –flush-caches)

  • DNS Cache Poisoning (یا DNS Spoofing)
  • Kaminsky Attack (نوع پیشرفته DNS Cache Poisoning)
  • Pharming Attack (هدایت کاربر به سایت جعلی)
  • Credential Harvesting / Phishing از طریق سایت‌های جعلی
  • Malware Distribution (هدایت به سایت دانلود بدافزار)
  • C2 Communication (ارتباط بدافزار با سرور فرماندهی)

۳. ریست دستی /etc/resolv.conf و تنظیم nameserverهای معتبر (۸.۸.۸.۸ و ۱.۱.۱.۱)

  • Rogue DNS Server Attack (استفاده از DNS مخرب یا ISP logging)
  • DNS Hijacking
  • DNS Leak (پس از قطع VPN، کوئری‌ها به DNS ISP یا مخرب برود)
  • DNS Spoofing / Cache Poisoning (اگر nameserver قبلی مخرب باشد)
  • Man-in-the-Middle via DNS (حملات MitM مبتنی بر DNS)

۴. غیرفعال کردن پروکسی در تنظیمات سیستم (gsettings / KDE proxy)

  • System-wide Proxy Hijacking
  • Persistent MitM Attack
  • Traffic Redirection به پروکسی ناخواسته
  • Bypass of Security Controls (فیلترهای سازمانی یا شخصی)

۵. ریست iptables، پاک کردن قوانین فایروال و فلاش روتینگ (ip route flush)

  • Firewall Misconfiguration / Rule Tampering
  • Traffic Leakage (ترافیک خارج از VPN یا فایروال)
  • Routing Table Poisoning / Manipulation
  • VPN Leak (IP Leak پس از قطع VPN)
  • Port Exposure (باز شدن پورت‌هایی که نباید باز باشند)
  • Persistent Malicious Rules (مانند آنچه در بدافزار VPNFilter انجام می‌شود)
  • Denial of Service (به دلیل قوانین ناقص)

۶. ریست شبکه Docker (systemctl restart docker + docker network prune)

  • Container Network Isolation Breach
  • Container Escape یا Lateral Movement بین کانتینرها
  • Docker Network Hijacking
  • Exposure of Internal Services به اینترنت یا شبکه محلی

۷. ریستارت سرویس شبکه (NetworkManager / networking)

  • Persistent Network Misconfiguration
  • Stale Routing / DNS / Proxy State
  • Incomplete VPN Teardown (حالت نیمه‌متصل که منجر به leak می‌شود)

حملات کلی که این اقدامات به طور کلی پیشگیری می‌کنند:

  • DNS Cache Poisoning / Spoofing
  • Man-in-the-Middle (MitM)
  • Traffic Redirection / Hijacking
  • IP / DNS Leak (بعد از قطع VPN)
  • Data Interception
  • Phishing / Pharming
  • Malware Delivery via Redirect
  • SSRF (در اپ‌های حساس به proxy env vars)
  • Firewall Bypass یا Tampering

نکته مهم: این اقدامات پیشگیری مستقیم نیستند، بلکه کاهش سطح حمله (Attack Surface Reduction) و حذف پیکربندی‌های مخرب/ناقص باقی‌مانده هستند. اگر VPN شما kill-switch خوب داشته باشد یا به‌درستی تنظیم شده باشد، بسیاری از این مشکلات پیش نمی‌آید.


✍️ نویسنده: حسین سیلانی

🔗 درباره من: seilany.ir

📢 نویسندگی و مشارکت در وبلاگ: t.me/seilany