بازگشت به وبلاگ

راهنمای جامع تنظیم و امنیت پورت‌ها و DNS برای سرورهای پروکسی

راهنمای فنی تنظیم پورت‌ها و DNS برای سرورهای پروکسی

📅۲۲ آبان ۱۴۰۴

در این مقاله: همه چیز را در مورد پورت‌های پروکسی سرور (HTTP 8080، 3128، HTTPS 443، SOCKS 1080)، نحوه انتخاب صحیح پورت، تنظیم DNS برای محافظت در برابر نشت اطلاعات، استفاده از DNS over HTTPS، تنظیم Port Forwarding و Firewall خواهید آموخت. این مطالب بر اساس داده‌های به‌روز سال ۲۰۲۵ با حدود ۵۴۰۰ جستجو در ماه تهیه شده است.

🔌 پورت‌های پروکسی سرور چیستند

پورت پروکسی سرور یک شناسه عددی (از ۱ تا ۶۵۵۳۵) است که کانال ارتباطی خاصی را روی سرور مشخص می‌کند. هنگامی که به پروکسی متصل می‌شوید، نه تنها آدرس IP، بلکه پورت را نیز مشخص می‌کنید، به عنوان مثال: 192.168.1.1:8080

چرا پورت‌ها برای پروکسی مهم هستند

🎯 عملکردهای اصلی پورت‌ها:

  • شناسایی سرویس — پورت‌های مختلف برای پروتکل‌های مختلف (HTTP، HTTPS، SOCKS)
  • سرویس‌های چندگانه — یک IP می‌تواند چندین پروکسی را روی پورت‌های متفاوت سرویس‌دهی کند
  • دور زدن مسدودیت‌ها — برخی شبکه‌ها پورت‌های استاندارد را مسدود می‌کنند، پورت‌های غیر استاندارد به دور زدن فیلترها کمک می‌کنند
  • امنیت — استفاده از پورت‌های غیر استاندارد کشف پروکسی را دشوارتر می‌کند
  • توزیع بار (Load balancing) — توزیع بار بین پورت‌ها
  • تنظیمات فایروال — کنترل دسترسی در سطح پورت

به عنوان مثال، اگر proxy.example.com:8080 را مشاهده می‌کنید، عدد 8080 پورت است. بدون ذکر پورت، اتصال برقرار نخواهد شد.

محدوده‌های پورت

📊 طبقه‌بندی پورت‌ها:

محدوده نام توضیحات
0-1023 پورت‌های شناخته‌شده (Well-known) برای سرویس‌های سیستمی رزرو شده‌اند (HTTP:80، HTTPS:443)
1024-49151 پورت‌های ثبت‌شده (Registered) توسط IANA برای برنامه‌ها ثبت می‌شوند (8080، 3128، 1080)
49152-65535 پورت‌های پویا/خصوصی (Dynamic/Private) پورت‌های موقت برای اتصالات

پروکسی سرورها معمولاً از پورت‌های محدوده 1024-49151 استفاده می‌کنند، اگرچه پورت‌های 80 و 443 نیز محبوب هستند.

🌐 پورت‌های استاندارد پروکسی سرورها

در سال ۲۰۲۵، چندین پورت برای پروکسی سرورها به طور گسترده مورد استفاده قرار می‌گیرند. انتخاب پورت به پروتکل (HTTP، HTTPS، SOCKS) و نوع استفاده بستگی دارد.

پورت‌های محبوب بر اساس پروتکل

پروتکل پورت‌های اصلی کاربرد محبوبیت
HTTP 80، 8080، 3128، 8118 ترافیک وب، وب‌خوانی (Scraping)، مرورگرها ⭐⭐⭐⭐⭐
HTTPS 443، 8443 ترافیک امن SSL/TLS ⭐⭐⭐⭐⭐
SOCKS4/5 1080، 1085 پروکسی همه‌کاره، تورنت، بازی ⭐⭐⭐⭐
Squid 3128، 8080 پروکسی‌های کش‌کننده (Caching) ⭐⭐⭐
Transparent 8080، 3128 شبکه‌های سازمانی ⭐⭐⭐

🌍 پورت‌های HTTP: 80، 8080، 3128، 8118

🔵 پورت 80

پورت استاندارد HTTP — برای ترافیک وب بدون رمزنگاری استفاده می‌شود

✅ مزایا:

  • پشتیبانی جهانی
  • فایروال‌ها معمولاً آن را مسدود نمی‌کنند
  • سازگاری گسترده

❌ معایب:

  • اغلب در شبکه‌های سازمانی مسدود می‌شود
  • عدم وجود رمزنگاری
  • پورت سیستمی (نیاز به دسترسی روت)

🟡 پورت 8080

محبوب‌ترین پورت پروکسی HTTP — جایگزین پورت 80

✅ مزایا:

  • پورت پرکاربرد برای پروکسی HTTP
  • نیاز به دسترسی روت ندارد
  • پشتیبانی توسط همه کلاینت‌ها
  • سازگاری خوب

❌ معایب:

  • ممکن است توسط فایروال مسدود شود
  • اغلب توسط ربات‌ها اسکن می‌شود

💡 توصیه: از پورت 8080 به عنوان پورت پیش‌فرض برای پروکسی HTTP استفاده کنید

🟢 پورت 3128

پورت استاندارد Squid — برای پروکسی‌های کش‌کننده استفاده می‌شود

Squid محبوب‌ترین نرم‌افزار برای پروکسی سرورها است، بنابراین پورت 3128 به استاندارد عملی برای کشینگ و فورواردینگ تبدیل شده است.

چه زمانی استفاده کنیم:

  • شبکه‌های سازمانی
  • پروکسی‌های کش‌کننده
  • کنترل محتوا
  • راه‌حل‌های مبتنی بر Squid

🟣 پورت 8118

پورت Privoxy — برای فیلتر کردن محتوا و ناشناس‌سازی استفاده می‌شود

Privoxy یک پروکسی با قابلیت‌های فیلتر کردن تبلیغات، ردیاب‌ها و محافظت از حریم خصوصی است.

ویژگی‌ها:

  • فیلتر کردن تبلیغات
  • مسدود کردن ردیاب‌ها
  • تغییر هدرها
  • ادغام با Tor

نمونه‌هایی از استفاده پورت‌های HTTP

دستورات Curl برای پورت‌های مختلف:

# پورت 8080 (رایج‌ترین)
curl -x http://proxy.example.com:8080 https://example.com

# پورت 3128 (Squid)
curl -x http://proxy.example.com:3128 https://example.com

# پورت 80 (HTTP استاندارد)
curl -x http://proxy.example.com:80 https://example.com

# با احراز هویت
curl -x http://username:password@proxy:8080 https://example.com

🔒 پورت‌های HTTPS: 443، 8443

پروکسی‌های HTTPS از رمزنگاری SSL/TLS برای محافظت از ترافیک استفاده می‌کنند. در سال ۲۰۲۵، این استاندارد اتصالات امن است.

🔴 پورت 443

پورت استاندارد HTTPS — برای اتصالات امن HTTPS استفاده می‌شود

🎯 چرا 443 بهترین انتخاب است:

  • مانند ترافیک عادی HTTPS به نظر می‌رسد — فایروال به ندرت آن را مسدود می‌کند
  • سازگاری حداکثری — در همه شبکه‌ها کار می‌کند
  • دور زدن بازرسی عمیق بسته (DPI) — تشخیص پروکسی دشوارتر است
  • شبکه‌های سازمانی — معمولاً مسدود نمی‌شود
  • رمزنگاری SSL/TLS — امنیت داده‌ها

💡 نکته ۲۰۲۵: برای حداکثر پنهان‌کاری و دور زدن مسدودیت‌ها از پورت 443 استفاده کنید. این پورت شبیه ترافیک عادی HTTPS به وب‌سایت به نظر می‌رسد.

🟠 پورت 8443

پورت جایگزین HTTPS — برای سرویس‌های SSL اضافی

چه زمانی از 8443 استفاده کنیم:

  • پورت 443 توسط سرویس دیگری اشغال شده باشد
  • نیاز به تفکیک ترافیک بین سرویس‌ها باشد
  • به عنوان جایگزین در صورت مسدود شدن 443
  • پنل‌های مدیریتی
  • محیط‌های آزمایشی

⚠️ توجه:

پورت 8443 کمتر رایج است و ممکن است باعث سوءظن فایروال‌ها شود. در صورت امکان از 443 استفاده کنید.

متد HTTP CONNECT برای پروکسی HTTPS

پروکسی HTTPS از متد CONNECT برای ایجاد یک تونل بین کلاینت و سرور مقصد استفاده می‌کند. این کار امکان انتقال ترافیک رمزنگاری شده SSL/TLS را از طریق پروکسی فراهم می‌آورد.

نمونه درخواست CONNECT:

CONNECT example.com:443 HTTP/1.1
Host: example.com:443
Proxy-Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

# پاسخ پروکسی:
HTTP/1.1 200 Connection Established

# پس از این، تمام ترافیک با SSL/TLS رمزنگاری می‌شود

⚡ پورت‌های SOCKS: 1080، 1085

SOCKS (Socket Secure) یک پروتکل پروکسی همه‌کاره است که در سطحی پایین‌تر از HTTP عمل می‌کند. از انواع ترافیک پشتیبانی می‌کند: HTTP، HTTPS، FTP، SMTP، P2P، بازی‌ها.

🔵 پورت 1080 — استاندارد SOCKS

پورت 1080 به طور خاص توسط IANA (مرجع تخصیص اعداد اینترنتی) برای پروکسی SOCKS رزرو شده است. این پورت استاندارد رسمی است.

✅ مزایای SOCKS5 روی پورت 1080:

  • همه‌کاره بودن — کار با هر پروتکلی (HTTP، FTP، SMTP، SSH، تورنت)
  • پشتیبانی از UDP — برای بازی‌ها، تماس‌های تصویری، استریمینگ
  • احراز هویت — پشتیبانی از نام کاربری/رمز عبور
  • پشتیبانی از IPv6 — کار با شبکه‌های مدرن
  • عدم تغییر داده‌ها — پروکسی صرفاً بسته‌ها را ارسال می‌کند
  • سربار کمتر — سرعت بالاتر نسبت به پروکسی HTTP

چه زمانی از SOCKS5 استفاده کنیم:

سناریو چرا SOCKS5
تورنت‌ها پروتکل‌های P2P با پروکسی HTTP کار نمی‌کنند
بازی‌های آنلاین نیاز به پشتیبانی UDP و تأخیر کم
کلاینت‌های ایمیل پشتیبانی از SMTP/IMAP/POP3
FTP/SSH پروتکل‌های غیر HTTP
استریمینگ UDP برای جریان‌های ویدئویی/صوتی

SOCKS4 در مقابل SOCKS5

ویژگی SOCKS4 SOCKS5
احراز هویت ❌ ندارد ✅ نام کاربری/رمز عبور
پشتیبانی UDP ❌ فقط TCP ✅ TCP و UDP
IPv6 ❌ فقط IPv4 ✅ IPv4 و IPv6
تفکیک DNS ❌ کلاینت ✅ پروکسی (DNS از راه دور)
امنیت ⚠️ پایین ✅ بالا
سرعت سریع‌تر کمی کندتر
توصیه ۲۰۲۵ ❌ منسوخ شده ✅ استفاده شود

نمونه تنظیم SOCKS5:

# Curl با SOCKS5
curl --socks5 proxy.example.com:1080 https://example.com

# با احراز هویت
curl --socks5 username:password@proxy:1080 https://example.com

# SSH از طریق SOCKS5
ssh -o ProxyCommand='nc -x proxy:1080 %h %p' user@server

# Git از طریق SOCKS5
git config --global http.proxy 'socks5://proxy:1080'

🎯 چگونه پورت مناسب را انتخاب کنیم

نمودار انتخاب پورت

❓ آیا به حداکثر پنهان‌کاری و دور زدن مسدودیت‌ها نیاز دارید؟

← از پورت 443 (HTTPS) استفاده کنید

دلیل: ترافیک شبیه ترافیک عادی HTTPS به نظر می‌رسد، فایروال مسدود نمی‌کند، DPI پروکسی را تشخیص نمی‌دهد.

❓ آیا فقط به ترافیک HTTP نیاز دارید (وب‌خوانی، مرورگرها)؟

← از پورت 8080 (HTTP) استفاده کنید

دلیل: استاندارد پروکسی HTTP، پشتیبانی گسترده، عدم نیاز به دسترسی روت.

❓ به تورنت، بازی، P2P، UDP نیاز دارید؟

← از پورت 1080 (SOCKS5) استفاده کنید

دلیل: پروتکل همه‌کاره، پشتیبانی از UDP، کار با هر نوع ترافیکی.

❓ شبکه سازمانی با Squid؟

← از پورت 3128 (Squid) استفاده کنید

دلیل: استاندارد پروکسی Squid، کشینگ، کنترل دسترسی.

❓ پورت‌های استاندارد مسدود شده‌اند؟

← از پورت‌های غیر استاندارد (8443، 9050، 9999، 10000+) استفاده کنید

دلیل: فایروال‌ها معمولاً فقط پورت‌های شناخته‌شده را مسدود می‌کنند، پورت‌های غیر استاندارد عبور می‌کنند.

🔐 امنیت پورت‌های پروکسی

توصیه‌های امنیتی ۲۰۲۵

🚨 رویه‌های خطرناک:

  • پروکسی‌های باز بدون احراز هویت — ممکن است برای حملات استفاده شوند
  • استفاده فقط از لیست سفید IP روی IP عمومی — IP می‌تواند جعل شود
  • پروکسی HTTP بدون TLS — داده‌ها به صورت متن آشکار منتقل می‌شوند
  • رمزهای عبور ضعیف — به راحتی توسط ربات‌ها حدس زده می‌شوند
  • پورت‌های با آسیب‌پذیری شناخته‌شده — نسخه‌های قدیمی نرم‌افزار

✅ رویه‌های امن:

  • همیشه از احراز هویت استفاده کنید — نام کاربری/رمز عبور یا لیست سفید IP
  • HTTPS روی پورت 443 — رمزنگاری ترافیک SSL/TLS
  • قوانین فایروال — دسترسی به پورت‌های پروکسی را محدود کنید
  • محدودیت نرخ (Rate limiting) — محافظت در برابر DDoS و حملات جستجویی
  • نظارت بر لاگ‌ها — ردیابی فعالیت‌های مشکوک
  • به‌روزرسانی‌های منظم — وصله کردن آسیب‌پذیری‌ها
  • تغییر پورت‌ها — استفاده از پورت‌های غیر استاندارد برای پنهان‌کاری

محافظت از پورت‌ها با iptables

اجازه دسترسی فقط از یک IP خاص:

# اجازه دسترسی به پورت 8080 فقط از 192.168.1.100
iptables -A INPUT -p tcp --dport 8080 -s 192.168.1.100 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

# اجازه دسترسی به پورت SOCKS5 1080 از زیرشبکه
iptables -A INPUT -p tcp --dport 1080 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 1080 -j DROP

محدودیت نرخ (محافظت در برابر حملات جستجویی):

# محدود کردن به 10 اتصال در دقیقه روی پورت 8080
iptables -A INPUT -p tcp --dport 8080 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 8080 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

🚧 پورت‌های مسدود شده و روش‌های دور زدن

چرا پورت‌ها مسدود می‌شوند

بسیاری از شبکه‌های سازمانی، ارائه‌دهندگان خدمات اینترنت (ISP) و کشورها پورت‌های خاصی را برای کنترل ترافیک، امنیت یا سانسور مسدود می‌کنند.

پورت‌های رایج مسدود شده:

پورت پروتکل دلیل مسدود شدن
8080 پروکسی HTTP به عنوان پورت پروکسی شناخته شده و توسط فایروال مسدود می‌شود
3128 Squid پورت استاندارد Squid، به راحتی قابل تشخیص است
1080 SOCKS برای دور زدن مسدودیت‌ها استفاده می‌شود
9050 Tor پورت SOCKS تور، در کشورهای دارای سانسور مسدود می‌شود
25 SMTP جلوگیری از اسپم

روش‌های دور زدن مسدودیت پورت‌ها

1️⃣ استفاده از پورت 443 (HTTPS)

کارایی: 95٪ — پورت 443 به ندرت مسدود می‌شود، زیرا استاندارد ترافیک HTTPS است. ترافیک شبیه ترافیک وب عادی به نظر می‌رسد.

proxy.example.com:443

2️⃣ پورت‌های بالا و غیر استاندارد (10000+)

کارایی: 80٪ — فایروال‌ها معمولاً فقط پورت‌های شناخته‌شده را مسدود می‌کنند. پورت‌های بالا اغلب نادیده گرفته می‌شوند.

proxy.example.com:12345
proxy.example.com:40000

3️⃣ تعویض پورت (Port hopping)

کارایی: 70٪ — پورت را به صورت دوره‌ای تغییر دهید تا از قرار گرفتن در لیست سیاه جلوگیری شود.

4️⃣ تونل‌سازی از طریق SSH (پورت 22)

کارایی: 90٪ — پورت SSH 22 معمولاً باز است. یک تونل SOCKS از طریق SSH ایجاد کنید.

ssh -D 1080 -N user@proxy.example.com

🔄 Port Forwarding برای پروکسی سرورها

Port Forwarding چیست

Port Forwarding (انتقال پورت) یک تکنیک NAT (Network Address Translation) است که ترافیک شبکه را از یک پورت روی IP خارجی به یک IP و پورت داخلی در شبکه محلی هدایت می‌کند.

🎯 چرا برای پروکسی لازم است:

سناریو: پروکسی سرور شما پشت یک روتر با NAT در شبکه محلی قرار دارد. می‌خواهید کاربران اینترنت بتوانند به پروکسی شما متصل شوند.

اینترنت → روتر (IP عمومی: 203.0.113.1)
              ↓ انتقال پورت: 8080 → 192.168.1.100:8080
              شبکه محلی → سرور پروکسی (192.168.1.100:8080)

کاربران به 203.0.113.1:8080 متصل می‌شوند و روتر ترافیک را به 192.168.1.100:8080 هدایت می‌کند.

تنظیم Port Forwarding روی روتر

📋 دستورالعمل گام به گام:

  1. رابط وب روتر را باز کنید — معمولاً 192.168.1.1 یا 192.168.0.1
  2. با نام کاربری و رمز عبور مدیر وارد شوید
  3. بخش مربوطه را پیدا کنید "Port Forwarding"، "Virtual Server" یا "NAT"
  4. یک قانون جدید ایجاد کنید:
    • نام سرویس: Proxy Server
    • پورت خارجی (External Port): 8080 (پورتی که از اینترنت دریافت می‌شود)
    • IP داخلی: 192.168.1.100 (IP سرور پروکسی)
    • پورت داخلی (Internal Port): 8080 (پورتی که پروکسی روی آن گوش می‌دهد)
    • پروتکل: TCP (برای HTTP/SOCKS)
  5. تنظیمات را اعمال کنید و روتر را ری‌استارت نمایید

نمونه‌هایی برای پورت‌های محبوب پروکسی:

# پروکسی HTTP روی پورت 8080
External: 8080/TCP → Internal: 192.168.1.100:8080

# پروکسی HTTPS روی پورت 443
External: 443/TCP → Internal: 192.168.1.100:443

# SOCKS5 روی پورت 1080
External: 1080/TCP → Internal: 192.168.1.100:1080

# Squid روی پورت 3128
External: 3128/TCP → Internal: 192.168.1.100:3128

تنظیم Port Forwarding از طریق خط فرمان

لینوکس (iptables):

# فعال کردن فورواردینگ IP
echo 1 > /proc/sys/net/ipv4/ip_forward

# انتقال پورت 8080 به سرور داخلی 192.168.1.100:8080
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:8080
iptables -t nat -A POSTROUTING -p tcp -d 192.168.1.100 --dport 8080 -j MASQUERADE

# ذخیره قوانین
iptables-save > /etc/iptables/rules.v4

ویندوز (netsh):

# انتقال پورت 8080 به سرور داخلی 192.168.1.100:8080
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=8080 connectaddress=192.168.1.100

# نمایش تمام انتقال‌ها
netsh interface portproxy show all

# حذف انتقال
netsh interface portproxy delete v4tov4 listenport=8080 listenaddress=0.0.0.0

⚠️ خطرات امنیتی Port Forwarding:

  • پورت‌های باز — مهاجمان می‌توانند پورت‌های باز را اسکن و از آسیب‌پذیری‌ها سوءاستفاده کنند
  • حملات DDoS — دسترسی مستقیم به سرور از اینترنت
  • حملات جستجویی (Bruteforce) — حدس زدن رمزهای عبور پروکسی
  • سوءاستفاده — استفاده از پروکسی برای فعالیت‌های غیرقانونی

راه‌حل: همیشه از احراز هویت، قوانین فایروال و نظارت بر ترافیک استفاده کنید!

🛡️ تنظیم قوانین فایروال

اصول اساسی فایروال برای پروکسی

🎯 اصل حداقل امتیاز (Principle of least privilege):

  1. همه چیز را به طور پیش‌فرض مسدود کنید (default deny)
  2. فقط پورت‌های ضروری را مجاز کنید
  3. دسترسی را بر اساس IP محدود کنید (لیست سفید)
  4. تمام اتصالات را لاگ کنید
  5. قوانین را به طور منظم بررسی کنید

قوانین iptables برای سرور پروکسی

پیکربندی پایه:

#!/bin/bash
# پاک کردن قوانین موجود
iptables -F
iptables -X

# سیاست‌های پیش‌فرض: DROP همه ورودی‌ها
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

# اجازه دادن به لوپ‌بک
iptables -A INPUT -i lo -j ACCEPT

# اجازه دادن به اتصالات برقرار شده
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# اجازه دادن به SSH (مدیریت سرور)
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

# اجازه دادن به پورت پروکسی HTTP 8080
iptables -A INPUT -p tcp --dport 8080 -j ACCEPT

# اجازه دادن به پورت پروکسی HTTPS 443
iptables -A INPUT -p tcp --dport 443 -j ACCEPT

# اجازه دادن به پورت SOCKS5 1080
iptables -A INPUT -p tcp --dport 1080 -j ACCEPT

# ذخیره قوانین
iptables-save > /etc/iptables/rules.v4

محدود کردن دسترسی بر اساس IP (لیست سفید):

# اجازه دسترسی فقط به IP خاص به پورت 8080
iptables -A INPUT -p tcp --dport 8080 -s 203.0.113.50 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -s 198.51.100.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 8080 -j DROP

# اجازه دادن به چندین IP
for ip in 203.0.113.50 198.51.100.25 192.0.2.100; do
  iptables -A INPUT -p tcp --dport 8080 -s $ip -j ACCEPT
done
iptables -A INPUT -p tcp --dport 8080 -j DROP

محدودیت نرخ (محافظت در برابر DDoS):

# محدود کردن اتصالات جدید به 10 اتصال در دقیقه به ازای هر IP
iptables -A INPUT -p tcp --dport 8080 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 8080 -m state --state NEW -m recent --update --seconds 60 --hitcount 10 -j DROP

# محدود کردن به 100 اتصال همزمان
iptables -A INPUT -p tcp --dport 8080 -m connlimit --connlimit-above 100 -j REJECT --reject-with tcp-reset

# محافظت در برابر SYN flood
iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP

لاگ‌برداری فعالیت‌های مشکوک:

# لاگ کردن بسته‌های رها شده
iptables -A INPUT -j LOG --log-prefix "iptables-dropped: " --log-level 4

# لاگ کردن تلاش‌های دسترسی به پروکسی
iptables -A INPUT -p tcp --dport 8080 -j LOG --log-prefix "proxy-access: "

# مشاهده لاگ‌ها
tail -f /var/log/syslog | grep iptables

قوانین Windows Firewall

دستورات PowerShell:

# اجازه دادن به ترافیک ورودی روی پورت 8080
New-NetFirewallRule -DisplayName "Proxy HTTP" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow

# اجازه دادن به ترافیک ورودی روی پورت 443
New-NetFirewallRule -DisplayName "Proxy HTTPS" -Direction Inbound -LocalPort 443 -Protocol TCP -Action Allow

# اجازه دادن به ترافیک ورودی روی پورت 1080 (SOCKS5)
New-NetFirewallRule -DisplayName "Proxy SOCKS5" -Direction Inbound -LocalPort 1080 -Protocol TCP -Action Allow

# اجازه دادن فقط به IP خاص
New-NetFirewallRule -DisplayName "Proxy Restricted" -Direction Inbound -LocalPort 8080 -Protocol TCP -Action Allow -RemoteAddress 203.0.113.50

# نمایش تمام قوانین
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*Proxy*"}

قوانین UFW (Uncomplicated Firewall) برای اوبونتو

تنظیمات ساده:

# فعال کردن UFW
sudo ufw enable

# سیاست‌های پیش‌فرض
sudo ufw default deny incoming
sudo ufw default allow outgoing

# اجازه دادن به SSH (مهم!)
sudo ufw allow 22/tcp

# اجازه دادن به پورت‌های پروکسی
sudo ufw allow 8080/tcp comment 'HTTP Proxy'
sudo ufw allow 443/tcp comment 'HTTPS Proxy'
sudo ufw allow 1080/tcp comment 'SOCKS5'

# اجازه دادن فقط از IP خاص
sudo ufw allow from 203.0.113.50 to any port 8080 proto tcp

# اجازه دادن از زیرشبکه
sudo ufw allow from 192.168.1.0/24 to any port 8080 proto tcp

# نمایش وضعیت
sudo ufw status verbose

🌐 پیکربندی NAT

انواع NAT و تأثیر آن‌ها بر پروکسی

نوع NAT توضیحات برای پروکسی
Full Cone NAT هر میزبان خارجی می‌تواند بسته‌ها را به IP داخلی ارسال کند ✅ عالی
Restricted Cone NAT فقط میزبان‌هایی که داخلی‌ها به آن‌ها بسته ارسال کرده‌اند ✅ خوب
Port Restricted Cone NAT علاوه بر IP، پورت مبدأ نیز بررسی می‌شود ⚠️ قابل قبول
Symmetric NAT هر درخواست به یک میزبان جدید، پورت جدیدی دریافت می‌کند ❌ مشکل‌ساز

تنظیم SNAT و DNAT

SNAT (Source NAT) — تغییر آدرس خروجی:

# سرور پروکسی پشت NAT: تغییر IP منبع به IP خارجی
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 203.0.113.1

# یا استفاده از MASQUERADE برای IPهای پویا
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

DNAT (Destination NAT) — انتقال ترافیک ورودی:

# انتقال ترافیک ورودی روی پورت 8080 به پروکسی داخلی
iptables -t nat -A PREROUTING -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.100:8080

# برای چندین پورت
iptables -t nat -A PREROUTING -p tcp --dport 8080:8089 -j DNAT --to-destination 192.168.1.100

🔧 عیب‌یابی مشکلات پورت‌ها

مشکلات رایج و راه‌حل‌ها

❌ مشکل ۱: نمی‌توانم به پروکسی متصل شوم

دلایل احتمالی:
  • پورت توسط فایروال بسته شده است
  • سرور پروکسی در حال اجرا نیست
  • IP یا پورت اشتباه است
  • Port forwarding تنظیم نشده است
  • پورت توسط ISP مسدود شده است
✅ راه‌حل‌ها:
# ۱. بررسی کنید آیا پروکسی روی پورت گوش می‌دهد
netstat -tulpn | grep 8080
ss -tulpn | grep 8080

# ۲. بررسی فایروال
sudo iptables -L -n | grep 8080
sudo ufw status

# ۳. بررسی دسترسی به پورت از بیرون
telnet your-server-ip 8080
nc -zv your-server-ip 8080

# ۴. بررسی لاگ‌های پروکسی
tail -f /var/log/squid/access.log

❌ مشکل ۲: پورت قبلاً اشغال شده است (Address already in use)

✅ راه‌حل:
# پیدا کردن پروسه‌ای که پورت را اشغال کرده است
sudo lsof -i :8080
sudo netstat -tulpn | grep :8080

# کشتن پروسه
sudo kill -9 PID

# یا تغییر پورت پروکسی به یک پورت آزاد
sudo nano /etc/squid/squid.conf
# تغییر: http_port 8080 → http_port 8081

❌ مشکل ۳: سرعت پایین از طریق پروکسی

دلایل احتمالی:
  • بار زیاد روی سرور
  • پهنای باند ناکافی
  • تعداد اتصالات همزمان زیاد
  • DNS کند عمل می‌کند
✅ راه‌حل‌ها:
  • افزایش محدودیت‌های اتصال در فایل پیکربندی پروکسی
  • بهینه‌سازی پارامترهای TCP: tcp_window_size
  • فعال‌سازی کش DNS
  • فعال‌سازی اتصالات keep-alive
  • توزیع بار روی چندین پورت/سرور

دستورات تشخیصی

بررسی پورت‌های باز:

# لینوکس
sudo netstat -tulpn | grep LISTEN
sudo ss -tulpn | grep LISTEN
sudo lsof -i -P -n | grep LISTEN

# بررسی پورت خاص
sudo lsof -i :8080

# اسکن پورت‌ها از بیرون
nmap -p 8080,443,1080 your-server-ip

# بررسی اتصال TCP
telnet your-server-ip 8080
nc -zv your-server-ip 8080

ویندوز:

# نمایش تمام پورت‌های در حال گوش دادن
netstat -ano | findstr LISTENING

# بررسی پورت خاص
netstat -ano | findstr :8080

# Test-NetConnection
Test-NetConnection -ComputerName your-server -Port 8080

🔍 عیب‌یابی مشکلات DNS

مشکلات رایج DNS

❌ DNS تفکیک نمی‌شود

بررسی:
# تست تفکیک DNS
nslookup google.com
dig google.com
host google.com

# تست سرور DNS خاص
nslookup google.com 1.1.1.1
dig @1.1.1.1 google.com
راه‌حل‌ها:
  • بررسی /etc/resolv.conf
  • پاک کردن کش DNS
  • تغییر DNS به 1.1.1.1
  • بررسی فایروال (پورت 53)

❌ DNS کند

بررسی سرعت:
# زمان درخواست DNS
time dig google.com

# بنچمارک سرورهای DNS
for dns in 1.1.1.1 8.8.8.8 9.9.9.9; do
  echo "Testing $dns"
  time dig @$dns google.com
done
راه‌حل‌ها:
  • استفاده از Cloudflare 1.1.1.1
  • فعال‌سازی کش DNS (dnsmasq، unbound)
  • تنظیم DoH
  • انتخاب نزدیک‌ترین سرور DNS

❌ نشت DNS (DNS leak) شناسایی شد

بررسی:

به dnsleaktest.com بروید و تست Extended را اجرا کنید.

راه‌حل‌ها:
  1. استفاده از SOCKS5 با تفکیک DNS از راه دور (socks5h://)
  2. تنظیم دستی DNS روی 1.1.1.1
  3. فعال‌سازی DoH در مرورگر
  4. غیرفعال کردن IPv6 (اگر پروکسی آن را پشتیبانی نمی‌کند)
  5. مسدود کردن پورت 53 در فایروال
  6. استفاده از VPN با محافظت از نشت DNS

✅ چک‌لیست امنیتی ۲۰۲۵

چک‌لیست کامل برای سرور پروکسی

🔐 پورت‌ها:

  • ☑️ استفاده از پورت‌های استاندارد (8080، 443، 1080)
  • ☑️ یا پورت‌های بالا و غیر استاندارد (10000+) برای دور زدن مسدودیت‌ها
  • ☑️ تنظیم قوانین فایروال (فقط پورت‌های مورد نیاز مجاز شوند)
  • ☑️ فعال‌سازی محدودیت نرخ (محافظت در برابر DDoS)
  • ☑️ لاگ‌برداری تمام اتصالات
  • ☑️ اسکن منظم پورت‌های باز

🌐 DNS:

  • ☑️ استفاده از Cloudflare DNS (1.1.1.1) یا Google DNS (8.8.8.8)
  • ☑️ فعال‌سازی DNS over HTTPS (DoH) در مرورگر
  • ☑️ استفاده از SOCKS5 با تفکیک DNS از راه دور
  • ☑️ غیرفعال کردن IPv6 (اگر پروکسی آن را پشتیبانی نمی‌کند)
  • ☑️ تست منظم برای نشت DNS
  • ☑️ فعال‌سازی اعتبارسنجی DNSSEC

🛡️ احراز هویت:

  • ☑️ همیشه از احراز هویت استفاده کنید — نام کاربری/رمز عبور یا لیست سفید IP
  • ☑️ رمزهای عبور قوی (حداقل 16 کاراکتر)
  • ☑️ تغییر منظم رمزهای عبور
  • ☑️ محدودیت بر اساس IP (لیست سفید)
  • ☑️ 2FA برای دسترسی مدیریتی

🔒 رمزنگاری:

  • ☑️ استفاده از پروکسی HTTPS روی پورت 443
  • ☑️ گواهی‌های SSL/TLS (Let's Encrypt)
  • ☑️ غیرفعال کردن پروتکل‌های قدیمی (TLS 1.0، 1.1)
  • ☑️ استفاده از مجموعه‌های رمزنگاری مدرن

📊 نظارت:

  • ☑️ لاگ‌برداری تمام اتصالات
  • ☑️ نظارت بر مصرف پهنای باند
  • ☑️ هشدارهای فعالیت مشکوک
  • ☑️ تحلیل منظم لاگ‌ها
  • ☑️ معیارهای عملکرد

🎯 بهترین شیوه‌ها (Best Practices) ۲۰۲۵

توصیه‌های کارشناسان

💎 برای حداکثر امنیت:

  1. از پورت 443 (HTTPS) برای پنهان‌کاری و دور زدن مسدودیت‌ها استفاده کنید — شبیه ترافیک وب عادی به نظر می‌رسد
  2. تنظیم DNS over HTTPS — محافظت در برابر نشت DNS
  3. فعال‌سازی لیست سفید IP — فقط IPهای مورد اعتماد اجازه دسترسی دارند
  4. استفاده از احراز هویت قوی
  5. به‌روزرسانی منظم نرم‌افزار و وصله کردن آسیب‌پذیری‌ها

⚡ برای حداکثر سرعت:

  1. استفاده از SOCKS5 روی پورت 1080 — حداقل سربار اضافی
  2. تنظیم کش DNS (dnsmasq، unbound)
  3. فعال‌سازی اتصالات keep-alive
  4. بهینه‌سازی پارامترهای TCP
  5. استفاده از HTTP/2 یا HTTP/3

🌍 برای دور زدن مسدودیت‌ها:

  1. استفاده از پورت 443 — به ندرت مسدود می‌شود
  2. یا پورت‌های غیر استاندارد (10000+)
  3. تنظیم DoH/DoT — دور زدن سانسور DNS
  4. تغییر دوره‌ای پورت‌ها (port hopping)
  5. استفاده از تکنیک‌های obfuscation (مبهم‌سازی)

🎮 برای بازی‌ها و P2P:

  1. استفاده از SOCKS5 روی پورت 1080 — پشتیبانی از UDP
  2. فعال‌سازی DNS از راه دور — محافظت از حریم خصوصی
  3. تنظیم port forwarding برای اتصالات ورودی
  4. بهینه‌سازی تأخیر (latency) — انتخاب نزدیک‌ترین سرور
  5. استفاده از Full Cone NAT

🎓 نتایج و توصیه‌ها

نتایج کلیدی

📊 انتخاب پورت:

  • برای حداکثر پنهان‌کاری: پورت 443 (HTTPS) — شبیه ترافیک وب عادی به نظر می‌رسد
  • برای HTTP: پورت 8080 — استاندارد پروکسی HTTP
  • برای همه‌کاره بودن: پورت 1080 (SOCKS5) — پشتیبانی از هر نوع ترافیکی
  • برای شبکه‌های سازمانی: پورت 3128 (Squid)
  • در صورت مسدودیت: پورت‌های غیر استاندارد (10000+)

🌐 تنظیم DNS:

  • از Cloudflare 1.1.1.1 استفاده کنید — سریع‌ترین و خصوصی‌ترین
  • DNS over HTTPS را فعال کنید — رمزنگاری درخواست‌های DNS
  • SOCKS5 با تفکیک DNS از راه دور — جلوگیری از نشت DNS
  • به طور منظم تست کنید — dnsleaktest.com
  • IPv6 را غیرفعال کنید (اگر پروکسی پشتیبانی نمی‌کند)
  • فعال‌سازی اعتبارسنجی DNSSEC

🛡️ امنیت:

  • همیشه از احراز هویت استفاده کنید — نام کاربری/رمز عبور یا لیست سفید IP
  • فایروال را تنظیم کنید — اصل حداقل امتیاز
  • محدودیت نرخ (Rate limiting) — محافظت در برابر DDoS و حملات جستجویی
  • نظارت و لاگ‌برداری — ردیابی فعالیت‌های مشکوک
  • به‌روزرسانی‌های منظم — وصله کردن آسیب‌پذیری‌ها

چه چیزی در سال ۲۰۲۵ جدید است؟

  • DNS over HTTPS به استاندارد تبدیل شده است — همه مرورگرهای مدرن از DoH پشتیبانی می‌کنند
  • IPv6 اجباری می‌شود — پروکسی‌ها باید از IPv6 پشتیبانی کنند
  • افزایش مسدودیت‌ها — ISPها به طور فعال پورت‌های پروکسی استاندارد را مسدود می‌کنند
  • DDoS مبتنی بر هوش مصنوعی — روش‌های جدید حمله نیازمند دفاع پیشرفته هستند
  • معماری Zero Trust — احراز هویت در هر درخواست
  • HTTP/3 و QUIC — پروتکل‌های جدید برای سرعت بالا

🎁 ProxyCove: پروکسی‌های مدرن با پورت‌ها و DNS صحیح

چرا ProxyCove بهترین انتخاب در سال ۲۰۲۵ است:

  • تمام پورت‌های محبوب: HTTP (8080، 3128)، HTTPS (443، 8443)، SOCKS5 (1080)
  • محافظت در برابر نشت DNS: تفکیک DNS از راه دور، پشتیبانی از DoH
  • احراز هویت انعطاف‌پذیر: نام کاربری/رمز عبور یا لیست سفید IP
  • سرعت بالا: سرورهای بهینه‌شده در بیش از 50 کشور
  • پشتیبانی از IPv6: پروتکل‌های مدرن
  • نظارت 24/7: تضمین 99.9٪ آپ‌تایم
  • محافظت در برابر DDoS: امنیت در سطح سازمانی

💰 تعرفه‌ها ۲۰۲۵:

نوع پروکسی قیمت به ازای گیگابایت بهترین برای
Datacenter $1.5/GB وب‌خوانی، سئو، اتوماسیون
Residential $2.7/GB شبکه‌های اجتماعی، تجارت الکترونیک
Mobile $3.8/GB اپلیکیشن‌های موبایل، جلوگیری از بن شدن

🎉 جایزه ویژه برای خوانندگان!

از کد تخفیف ARTHELLO هنگام ثبت‌نام استفاده کنید و +$1.3 اعتبار دریافت نمایید!

📚 خلاصه: 3 توصیه اصلی برای سال 2025

  1. از پورت 443 (HTTPS) استفاده کنید برای حداکثر پنهان‌کاری و دور زدن مسدودیت‌ها — شبیه ترافیک وب عادی به نظر می‌رسد
  2. DNS over HTTPS را با Cloudflare 1.1.1.1 تنظیم کنید — محافظت در برابر نشت DNS و سانسور در سطح DNS
  3. همیشه از احراز هویت و فایروال استفاده کنید — امنیت در درجه اول اهمیت قرار دارد، بدون هیچ مصالحه‌ای

از مطالعه سپاسگزاریم! اکنون همه چیز را در مورد پورت‌ها و DNS برای پروکسی سرورها در سال 2025 می‌دانید. این دانش را به کار بگیرید و از اینترنت امن و سریع از طریق پروکسی لذت ببرید! 🚀