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

پیکربندی پراکسی برای شبکه محلی: راهنمای استفاده سازمانی

<p>مثال: شرکت "آلفا" با ۲۰۰ کارمند، پروکسی Squid را نصب کرد و با استفاده از کشینگ، مصرف کانال اینترنت را ۳۵٪ کاهش داد. صرفه‌جویی: ۴۵۰ دلار در ماه.</p>

📅۲۲ آبان ۱۴۰۴

🌐 پروکسی سرور برای شبکه محلی چیست؟

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

نحوه کارکرد:

  1. کاربر (کامپیوتر، تلفن هوشمند، تبلت) در شبکه محلی درخواستی ارسال می‌کند
  2. پروکسی سرور (192.168.1.100:3128) درخواست را دریافت کرده و قوانین دسترسی را بررسی می‌کند
  3. پروکسی درخواست را از طرف خود به اینترنت ارسال می‌کند
  4. سرور اینترنتی به پروکسی سرور پاسخ می‌دهد
  5. پروکسی پاسخ را به کاربر بازمی‌گرداند

💡 یک قیاس ساده

تصور کنید دفتری با یک منشی دارید. همه کارمندان به جای تماس مستقیم، درخواست‌های خود را از طریق منشی انجام می‌دهند. منشی کنترل می‌کند چه کسی اجازه تماس دارد، تمام تماس‌ها را در دفترچه ثبت می‌کند و می‌تواند شماره‌های ناخواسته را مسدود کند. پروکسی سرور دقیقاً همان "منشی" برای کل شبکه محلی شماست.

❓ چرا به پروکسی سرور محلی نیاز داریم؟

🔒

کنترل دسترسی

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

📊

پایش ترافیک

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

💾

کشینگ (Caching)

ذخیره فایل‌های پرکاربرد در پروکسی سرور. صرفه‌جویی تا 40% در پهنای باند اینترنت، افزایش سرعت دانلود به‌روزرسانی‌های ویندوز و پایگاه‌های آنتی‌ویروس.

🛡️

امنیت

محافظت در برابر سایت‌های مخرب، فیشینگ و ویروس‌ها. اسکن فایل‌های دانلود شده. مسدودسازی تبلیغات و ردیاب‌ها در سطح شبکه.

💰

صرفه‌جویی

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

🌍

دور زدن فیلترینگ

دسترسی به منابع مسدود شده از طریق پروکسی‌های خارجی. تنظیم زنجیره‌ای از پروکسی‌ها برای دور زدن محدودیت‌های منطقه‌ای.

🎯 موارد استفاده از پروکسی محلی

🏢 شبکه شرکتی (50-500 کارمند)

  • کنترل بهره‌وری: مسدود کردن شبکه‌های اجتماعی، یوتیوب، سایت‌های بازی در ساعات کاری
  • امنیت: فیلتر کردن سایت‌های مخرب، بررسی فایل‌های دانلود شده
  • گزارش‌دهی: لاگ‌های دقیق برای تیم امنیت و IT
  • صرفه‌جویی: کش کردن به‌روزرسانی‌های ویندوز، آفیس و آنتی‌ویروس

مثال: شرکت "آلفا" با 200 کارمند، با نصب پروکسی Squid، مصرف پهنای باند اینترنت خود را 35% کاهش داد. صرفه‌جویی: 450 دلار در ماه.

🏫 مراکز آموزشی

  • حفاظت از کودکان: مسدود کردن محتوای 18+، خشونت، قمار
  • کنترل دسترسی: قوانین متفاوت برای اساتید و دانش‌آموزان
  • برنامه‌ریزی: دسترسی به یوتیوب فقط در کلاس‌های فناوری اطلاعات
  • گزارش‌ها برای مدیریت: پایش فعالیت دانش‌آموزان

🏠 شبکه خانگی

  • کنترل والدین: محدود کردن دسترسی کودکان به سایت‌های خاص
  • مسدودسازی تبلیغات: حذف تبلیغات از تمام دستگاه‌های شبکه
  • امنیت دستگاه‌های هوشمند: کنترل ترافیک دوربین‌ها، تلویزیون‌ها و اسپیکرهای هوشمند
  • صرفه‌جویی در ترافیک: مفید برای اینترنت‌های موبایل با حجم محدود

🧪 تست و توسعه

  • رهگیری ترافیک: تحلیل درخواست‌های API اپلیکیشن‌های موبایل
  • جایگزینی پاسخ‌ها: تست اپلیکیشن با داده‌های تغییر یافته از سرور
  • شبیه‌سازی اینترنت کند: تست تحت شرایط 3G
  • بازرسی SSL: تحلیل ترافیک HTTPS برای دیباگ

🔧 انواع پروکسی‌های محلی

📡 پروکسی HTTP/HTTPS

هدف: پروکسی کردن ترافیک وب (مرورگرها، اپلیکیشن‌ها)

نمونه‌ها: Squid, Apache Traffic Server, nginx

ویژگی‌ها:
✅ کش کردن محتوا
✅ فیلتر بر اساس URL
✅ تغییر هدرها

🔌 پروکسی SOCKS

هدف: پروکسی کردن عمومی هر نوع ترافیک TCP/UDP

نمونه‌ها: Dante, Shadowsocks, 3proxy

ویژگی‌ها:
✅ کار با هر پروتکلی
✅ پشتیبانی از UDP (SOCKS5)
✅ حداقل تأخیر

🪟 پروکسی شفاف (Transparent)

هدف: پروکسی کردن نامرئی بدون نیاز به تنظیمات در کلاینت‌ها

نمونه‌ها: Squid در حالت transparent + iptables

ویژگی‌ها:
✅ عدم نیاز به تنظیم کلاینت‌ها
✅ رهگیری در سطح روتر
⚠️ پیچیده‌تر برای HTTPS

🔗 پروکسی معکوس (Reverse)

هدف: توزیع بار و محافظت از وب‌سرورها

نمونه‌ها: nginx, HAProxy, Apache mod_proxy

ویژگی‌ها:
✅ توزیع بار
✅ خاتمه SSL
✅ محافظت در برابر DDoS

🏗️ معماری شبکه محلی با پروکسی سرور

طرح کلی شبکه شرکتی

┌─────────────────────────────────────────────────┐
│           🌐 اینترنت                           │
└────────────────┬────────────────────────────────┘
                 │
         ┌───────▼────────┐
         │  🛡️ فایروال   │  (محافظت محیطی)
         │  192.168.0.1   │
         └───────┬────────┘
                 │
         ┌───────▼────────┐
         │ 🔄 روتر       │  (مسیریابی)
         │ 192.168.1.1     │
         └───────┬────────┘
                 │
    ┌────────────┼────────────┐
    │            │            │
┌───▼────┐  ┌───▼────┐  ┌───▼────┐
│ 💻 کامپیوتر 1 │  │ 💻 کامپیوتر 2 │  │ 📱 تلفن همراه│
│.10     │  │.11     │  │.12      │
└────────┘  └────────┘  └─────────┘
    │            │            │
    └────────────┼────────────┘
                 │ (تمام درخواست‌ها از پروکسی عبور می‌کنند)
         ┌───────▼────────┐
         │ 🔧 پروکسی       │  (Squid/CCProxy)
         │ 192.168.1.100  │  پورت: 3128
         │ + کش (500GB)  │
         │ + لاگ‌ها       │
         │ + فیلترها      │
         └────────────────┘

نحوه کارکرد طرح:

  1. کاربر (کامپیوتر 1) پروکسی را در مرورگر تنظیم می‌کند: 192.168.1.100:3128
  2. درخواست مستقیماً به اینترنت نمی‌رود، بلکه به پروکسی سرور ارسال می‌شود
  3. پروکسی قوانین دسترسی را بررسی می‌کند (آیا این سایت مجاز است؟)
  4. پروکسی محتوا را از طرف کاربر درخواست می‌کند
  5. پروکسی پاسخ را کش کرده و به کاربر تحویل می‌دهد
  6. درخواست‌های بعدی بلافاصله از کش (فوری) پاسخ داده می‌شوند

⚠️ نکات مهم معماری

  • قابلیت اطمینان: اگر پروکسی از کار بیفتد، کل شبکه دسترسی به اینترنت را از دست می‌دهد (راه حل: پروکسی پشتیبان)
  • عملکرد: پروکسی باید بتواند کل ترافیک شبکه را مدیریت کند (حداقل 4 هسته CPU، 8GB RAM برای 100 کاربر)
  • ذخیره‌سازی: برای کش به دیسک SSD سریع نیاز است (پیشنهاد: 500GB+ برای 100-200 کاربر)
  • پهنای باند: کارت شبکه پروکسی نباید کندتر از کانال اینترنت باشد (حداقل Gigabit Ethernet)

⚖️ مزایا و معایب پروکسی محلی

✅ مزایا

🎯 کنترل متمرکز

یک نقطه مدیریتی برای کل شبکه. تغییرات بلافاصله برای همه کاربران اعمال می‌شود بدون نیاز به تنظیم هر دستگاه.

📊 تحلیل دقیق

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

💰 صرفه‌جویی در پهنای باند

کشینگ می‌تواند مصرف اینترنت را 30 تا 40 درصد کاهش دهد. به ویژه برای به‌روزرسانی‌های سیستم‌عامل و آنتی‌ویروس‌ها مؤثر است.

🛡️ امنیت شبکه

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

🔒 پنهان کردن ساختار داخلی

تمام درخواست‌ها با IP پروکسی سرور انجام می‌شود. دنیای بیرون آدرس‌های IP واقعی ایستگاه‌های کاری شما را نمی‌بیند.

❌ معایب

⚠️ نقطه شکست واحد

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

🐌 کاهش احتمالی سرعت

در صورت ناکافی بودن سخت‌افزار سرور، ممکن است تأخیر ایجاد شود. باید سخت‌افزار را متناسب با تعداد کاربران انتخاب کرد.

🔧 پیچیدگی تنظیمات

نیاز به یک مدیر سیستم مجرب دارد. تنظیم Squid، قوانین فیلترینگ، بازرسی SSL کار مبتدیان نیست.

💾 نیاز به منابع

نیاز به سرور اختصاصی با سخت‌افزار قوی و دیسک بزرگ برای کش. برای 200 کاربر: 8-16GB RAM، 500GB+ SSD.

👁️ مشکلات HTTPS

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

💡 نتیجه‌گیری

پروکسی سرور محلی یک ضرورت برای شبکه‌های شرکتی با بیش از 20 کاربر است. مزایایی مانند کنترل، امنیت و صرفه‌جویی بر پیچیدگی‌های نصب و نگهداری غلبه می‌کند. برای شبکه‌های خانگی، در صورت داشتن مهارت‌های فنی و نیازهای خاص (کنترل والدین، مسدودسازی تبلیغات) منطقی است.

آیا به پروکسی‌های آماده برای کسب و کار خود نیاز دارید؟

به جای تنظیم سرور خود، از راه‌حل‌های آماده ProxyCove استفاده کنید!
با کد تخفیف ARTHELLO ثبت‌نام کنید و 1.3 دلار هدیه بگیرید!

📖 ادامه را در بخش 2 بخوانید: نصب و پیکربندی گام به گام Squid، CCProxy، 3proxy برای ویندوز و لینوکس

نصب پروکسی سرور Squid

بخش 2: تنظیمات گام به گام Squid برای اوبونتو/دبیان/سن‌ت‌اواس. احراز هویت، فیلترینگ سایت‌ها، کشینگ، تنظیمات کلاینت‌ها.

ادامه سری | زمان مطالعه: 15 دقیقه

📦 نصب پروکسی سرور Squid

🐧 نصب روی اوبونتو/دبیان

# به‌روزرسانی سیستم
sudo apt update && sudo apt upgrade -y

# نصب Squid
sudo apt install squid -y

# بررسی نسخه
squid -v
# Squid Cache: Version 5.2

# بررسی وضعیت سرویس
sudo systemctl status squid

# فعال‌سازی اجرای خودکار
sudo systemctl enable squid

🎩 نصب روی سن‌ت‌اواس/آر‌اچ‌ای‌ال/راکی لینوکس

# نصب Squid
sudo dnf install squid -y

# یا برای نسخه‌های قدیمی‌تر سن‌ت‌اواس
sudo yum install squid -y

# اجرای سرویس
sudo systemctl start squid

# فعال‌سازی اجرای خودکار
sudo systemctl enable squid

# باز کردن پورت در فایروال
sudo firewall-cmd --permanent --add-port=3128/tcp
sudo firewall-cmd --reload

📂 فایل‌ها و دایرکتوری‌های مهم

فایل/دایرکتوری هدف
/etc/squid/squid.conf فایل اصلی پیکربندی
/var/log/squid/access.log لاگ‌های دسترسی (تمام درخواست‌ها)
/var/log/squid/cache.log لاگ‌های عملکرد سرویس
/var/spool/squid/ دایرکتوری کش
/etc/squid/blocked_sites.txt لیست سایت‌های مسدود شده (ایجاد دستی)

⚙️ پیکربندی پایه Squid

⚠️ مهم قبل از شروع

همیشه قبل از ویرایش فایل کانفیگ، یک نسخه پشتیبان تهیه کنید:
sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.backup

حداقل پیکربندی عملیاتی

# /etc/squid/squid.conf

# پورت پروکسی سرور
http_port 3128

# تعریف شبکه محلی
acl localnet src 192.168.1.0/24

# اجازه دسترسی از شبکه محلی
http_access allow localnet

# ممنوعیت هر چیز دیگری
http_access deny all

# اندازه کش در حافظه (256 مگابایت)
cache_mem 256 MB

# دایرکتوری و اندازه کش روی دیسک (10 گیگابایت)
cache_dir ufs /var/spool/squid 10000 16 256

# حداکثر اندازه فایل قابل کش شدن
maximum_object_size 100 MB

# نام هاست قابل مشاهده برای لاگ‌ها
visible_hostname proxy.company.local

# فرمت لاگ (گسترده)
logformat combined %>a %[ui %[un [%tl] "%rm %ru HTTP/%rv" %>Hs %h" "%{User-Agent}>h"
access_log /var/log/squid/access.log combined

# ایمیل مدیر (در صورت بروز خطا نمایش داده می‌شود)
cache_mgr admin@company.local

اعمال پیکربندی

# بررسی پیکربندی از نظر خطا
sudo squid -k parse

# اگر خطایی نبود، Squid را ری‌استارت کنید
sudo systemctl restart squid

# بررسی وضعیت
sudo systemctl status squid

# مشاهده لاگ‌ها به صورت زنده
sudo tail -f /var/log/squid/access.log

🔐 احراز هویت کاربران

احراز هویت امکان کنترل دسترسی بر اساس نام کاربری/رمز عبور و ثبت آمار بر اساس کاربر را فراهم می‌کند.

ایجاد فایل کاربران

# نصب ابزار htpasswd
sudo apt install apache2-utils -y

# ایجاد فایل رمزها
sudo touch /etc/squid/passwords

# اضافه کردن کاربر ivan (رمز عبور درخواست می‌شود)
sudo htpasswd /etc/squid/passwords ivan

# اضافه کردن کاربران دیگر
sudo htpasswd /etc/squid/passwords maria
sudo htpasswd /etc/squid/passwords admin

# تنظیم دسترسی‌های صحیح
sudo chown proxy:proxy /etc/squid/passwords
sudo chmod 640 /etc/squid/passwords

# بررسی محتویات
sudo cat /etc/squid/passwords
# ivan:$apr1$xyz...
# maria:$apr1$abc...
# admin:$apr1$def...

پیکربندی squid.conf برای احراز هویت

# اضافه کردن به /etc/squid/squid.conf

# تنظیم احراز هویت Basic
auth_param basic program /usr/lib/squid/basic_ncsa_auth /etc/squid/passwords
auth_param basic realm Proxy Server Authentication
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive on

# تعریف ACL برای کاربران احراز هویت شده
acl authenticated proxy_auth REQUIRED

# اجازه دسترسی فقط به کاربران احراز هویت شده
http_access allow authenticated

# نمایش نام کاربر در لاگ‌ها
logformat authenticated %{%Y-%m-%d %H:%M:%S}tl %>a %un "%rm %ru" %>Hs %

اعمال تغییرات:

sudo squid -k parse && sudo systemctl restart squid

✅ بررسی احراز هویت

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

http://ivan:password123@192.168.1.100:3128

🚫 فیلترینگ سایت‌ها و محتوا

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

گام 1: ایجاد فایلی با لیست دامنه‌های مسدود شده

# ایجاد فایل
sudo nano /etc/squid/blocked_sites.txt

# دامنه‌ها را یکی در هر خط وارد کنید
.facebook.com
.vk.com
.instagram.com
.tiktok.com
.youtube.com
.reddit.com
casino
betting
porn
xxx

# نقطه در ابتدا به معنای مسدود کردن تمام زیردامنه‌ها است
# facebook.com، www.facebook.com، m.facebook.com — همه مسدود می‌شوند

گام 2: اضافه کردن قوانین به squid.conf

# تعریف ACL برای سایت‌های مسدود شده
acl blocked_sites dstdomain "/etc/squid/blocked_sites.txt"

# ممنوعیت دسترسی به این سایت‌ها
http_access deny blocked_sites

# نمایش صفحه خطای زیبا
deny_info ERR_BLOCKED_SITE blocked_sites

⏰ مسدودسازی بر اساس زمان‌بندی

مسدود کردن شبکه‌های اجتماعی فقط در ساعات کاری (9:00 تا 18:00، دوشنبه تا جمعه):

# تعریف ساعات کاری
acl work_hours time MTWHF 09:00-18:00

# لیست شبکه‌های اجتماعی
acl social_networks dstdomain .facebook.com .vk.com .instagram.com

# مسدود کردن شبکه‌های اجتماعی فقط در ساعات کاری
http_access deny social_networks work_hours

# در خارج از ساعات کاری، اجازه دسترسی
http_access allow social_networks

📊 مسدودسازی بر اساس نوع فایل

# مسدود کردن تورنت‌ها، فایل‌های اجرایی، ویدیوها
acl blocked_files urlpath_regex -i \.torrent$ \.exe$ \.msi$ \.mp4$ \.mkv$ \.avi$

http_access deny blocked_files

# مسدود کردن بر اساس نوع MIME
acl video_content rep_mime_type video/mpeg video/x-msvideo video/mp4
http_reply_access deny video_content

💾 تنظیم کشینگ

تنظیم صحیح کش می‌تواند مصرف پهنای باند اینترنت را 30 تا 40 درصد کاهش دهد.

پیکربندی بهینه کش

# اندازه کش در حافظه رم (512 مگابایت)
cache_mem 512 MB

# کش روی دیسک: 50 گیگابایت، 32 دایرکتوری سطح اول، 256 سطح دوم
cache_dir ufs /var/spool/squid 50000 32 256

# حداقل و حداکثر اندازه شیء کش شده
minimum_object_size 0 KB
maximum_object_size 500 MB

# حداکثر اندازه شیء در حافظه
maximum_object_size_in_memory 512 KB

# زمان نگهداری کش
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern .               0       20%     4320

# کش کردن به‌روزرسانی‌های ویندوز (صرفه‌جویی تا 40% ترافیک!)
refresh_pattern windowsupdate.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims
refresh_pattern download.microsoft.com/.*\.(cab|exe) 4320 100% 43200 reload-into-ims

# کش کردن طولانی‌تر فایل‌های محبوب
refresh_pattern -i \.(jpg|jpeg|png|gif|bmp|webp)$ 1440 90% 10080
refresh_pattern -i \.(pdf|doc|docx|xls|xlsx)$ 1440 80% 10080
refresh_pattern -i \.(js|css)$ 720 50% 4320

مقداردهی اولیه کش پس از تنظیمات:

sudo squid -z
sudo systemctl restart squid

📊 آمار کش

# مشاهده نسبت Hit Ratio کش
squidclient -p 3128 mgr:info | grep "Hit Ratio"

# پاک کردن کل کش
sudo systemctl stop squid
sudo rm -rf /var/spool/squid/*
sudo squid -z
sudo systemctl start squid

💻 تنظیم کلاینت‌ها برای کار با پروکسی

🪟 ویندوز

  1. باز کردن تنظیمات → شبکه و اینترنت → پروکسی
  2. فعال کردن "استفاده از پروکسی سرور"
  3. آدرس: 192.168.1.100
  4. پورت: 3128
  5. کلیک روی "ذخیره"

🍎 مک‌اواس

  1. باز کردن تنظیمات سیستم → شبکه
  2. انتخاب اتصال فعال (Wi-Fi/Ethernet)
  3. کلیک روی "پیشرفته" → تب "پروکسی"
  4. تیک "پروکسی وب (HTTP)" را بزنید
  5. سرور: 192.168.1.100:3128
  6. کلیک روی "تأیید" → "اعمال"

🌐 گوگل کروم / اج

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

# ویندوز
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="192.168.1.100:3128"

# لینوکس
google-chrome --proxy-server="192.168.1.100:3128"

# با احراز هویت
--proxy-server="http://user:password@192.168.1.100:3128"

🦊 فایرفاکس

  1. باز کردن تنظیمات → عمومی → تنظیمات شبکه
  2. انتخاب "پیکربندی دستی پروکسی"
  3. پروکسی HTTP: 192.168.1.100 پورت 3128
  4. ✅ تیک "استفاده از این پروکسی برای تمام پروتکل‌ها"
  5. کلیک روی "تأیید"

🐧 لینوکس (پروکسی سیستمی)

# اضافه کردن به ~/.bashrc یا /etc/environment
export http_proxy="http://192.168.1.100:3128"
export https_proxy="http://192.168.1.100:3128"
export ftp_proxy="http://192.168.1.100:3128"

# با احراز هویت
export http_proxy="http://user:password@192.168.1.100:3128"

# اعمال تغییرات
source ~/.bashrc

# بررسی
curl -I http://google.com

آیا به پروکسی‌های آماده بدون تنظیمات پیچیده نیاز دارید؟

از Squid، کانفیگ‌ها و مدیریت سرور دست بکشید — از ProxyCove استفاده کنید!
پروکسی‌های آماده با پنل مدیریت. ثبت‌نام با کد تخفیف ARTHELLO = 1.3 دلار جایزه

📖 ادامه در بخش 3: CCProxy و 3proxy برای ویندوز سرور، بازرسی SSL، پایش ترافیک و عیب‌یابی

پروکسی برای ویندوز و پایش

بخش 3: CCProxy و 3proxy برای ویندوز سرور. بازرسی SSL، پایش ترافیک، حل مشکلات.

بخش نهایی | زمان مطالعه: 12 دقیقه

🪟 CCProxy برای ویندوز سرور

CCProxy یک راه‌حل تجاری محبوب با رابط گرافیکی است. ایده‌آل برای مدیرانی که نمی‌خواهند درگیر خط فرمان شوند.

📥 نصب CCProxy

  1. دانلود از وب‌سایت رسمی: www.youngzsoft.net
  2. اجرای نصب‌کننده ccproxysetup.exe
  3. انتخاب دایرکتوری نصب (پیش‌فرض C:\Program Files\CCProxy)
  4. پس از نصب، CCProxy را با دسترسی ادمین اجرا کنید
  5. در اولین اجرا، کارت شبکه مورد نظر برای پروکسی را انتخاب کنید

💰 هزینه لایسنس‌ها (2025):

  • رایگان: تا 3 کاربر (برای تست)
  • استاندارد: 199 دلار (تا 100 کاربر)
  • سازمانی (Enterprise): 399 دلار (تا 500 کاربر)
  • نامحدود (Unlimited): 799 دلار (بدون محدودیت)

⚙️ تنظیمات پایه CCProxy

1. تنظیم پورت‌ها

  • منوی Options → Advanced → Network
  • پورت HTTP: 808 (یا استاندارد 3128)
  • پورت SOCKS: 1080
  • ✅ فعال کردن پروتکل‌های مورد نیاز (HTTP, HTTPS, SOCKS, FTP)

2. افزودن کاربران

  • منوی Account → New
  • وارد کردن نام کاربری: ivan
  • رمز عبور: SecurePass123
  • IPهای مجاز (اختیاری): 192.168.1.50
  • محدودیت سرعت: 10 مگابیت بر ثانیه
  • سهمیه ترافیک: 50 گیگابایت/ماه

3. فیلترینگ سایت‌ها

  • منوی Options → Filter → Web Filter
  • تب Banned Websites
  • وارد کردن دامنه‌ها یکی یکی یا ایمپورت لیست
  • مثال‌ها: *.facebook.com، *.gambling.*
  • ✅ فعال کردن فیلتر وب

4. کشینگ

  • منوی Options → Advanced → Cache
  • ✅ فعال کردن کش
  • دایرکتوری کش: D:\CCProxyCache
  • حداکثر اندازه کش: 50 گیگابایت
  • زمان نگهداری کش: 7 روز

✅ مزایای CCProxy

  • ✅ رابط گرافیکی — تنظیم در 5 دقیقه
  • ✅ آمار داخلی در لحظه
  • ✅ مدیریت کاربران با سهمیه و محدودیت سرعت
  • ✅ فیلترینگ سایت‌ها بر اساس دسته‌بندی
  • ✅ پشتیبانی از HTTP، HTTPS، SOCKS4/5، FTP، SMTP
  • ❌ نیاز به لایسنس پولی (از 199 دلار)
  • ❌ فقط برای ویندوز

🔧 3proxy — جایگزین رایگان

3proxy یک پروکسی سرور قدرتمند با کد منبع باز است. روی ویندوز و لینوکس کار می‌کند.

📥 نصب 3proxy روی ویندوز

  1. دانلود: github.com/3proxy/3proxy/releases
  2. فایل‌ها را در C:\3proxy از حالت فشرده خارج کنید
  3. ایجاد فایل پیکربندی 3proxy.cfg
  4. نصب به عنوان سرویس ویندوز

نمونه پیکربندی 3proxy.cfg:

# حالت دیمن (سرویس)
daemon

# فایل‌های لاگ
log C:\3proxy\logs\3proxy.log D
logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T"

# کاربران (username:CL:password)
users ivan:CL:SecurePass123
users maria:CL:Pass456

# اجازه دادن به شبکه محلی
allow * 192.168.1.0/24

# پروکسی HTTP روی پورت 3128
auth strong
proxy -p3128 -a

# پروکسی SOCKS5 روی پورت 1080
socks -p1080 -a

نصب به عنوان سرویس ویندوز:

cd C:\3proxy
3proxy.exe --install
net start 3proxy

🔐 تنظیمات امنیتی اضافی

# محدودیت سرعت (1 مگابایت بر ثانیه برای هر کاربر)
bandlimin 1024000

# تایم‌اوت اتصالات
timeouts 10 30 30 60 180 1800 15 60

# حداکثر اتصالات از یک IP
maxconn 50

# مسدود کردن دامنه‌ها
deny * * *.facebook.com *
deny * * *.gambling.* *

# اجازه دادن فقط به پورت‌های مشخص
allow * * * 80,443,21,22

🔒 بازرسی SSL ترافیک HTTPS

⚠️ بازرسی SSL چیست؟

به طور پیش‌فرض، پروکسی فقط دامنه درخواست HTTPS را می‌بیند، نه محتوای آن را. بازرسی SSL به پروکسی اجازه می‌دهد ترافیک HTTPS را با استفاده از گواهی SSL خود رمزگشایی کند تا بتواند آن را فیلتر و پایش کند.

تنظیم بازرسی SSL در Squid

گام 1: تولید گواهی CA

# ایجاد دایرکتوری برای گواهی‌ها
sudo mkdir -p /etc/squid/ssl_cert
cd /etc/squid/ssl_cert

# تولید کلید خصوصی
sudo openssl genrsa -out squid-ca-key.pem 4096

# ایجاد گواهی ریشه
sudo openssl req -new -x509 -days 3650 -key squid-ca-key.pem \
  -out squid-ca-cert.pem -utf8 \
  -subj "/CN=Squid Proxy CA/O=Company Name/C=RU"

# ترکیب در یک فایل
sudo cat squid-ca-cert.pem squid-ca-key.pem > squid-ca.pem

# تنظیم دسترسی‌ها
sudo chown -R proxy:proxy /etc/squid/ssl_cert
sudo chmod 400 squid-ca.pem

گام 2: پیکربندی squid.conf

# پورت HTTPS با SSL Bump
https_port 3129 intercept ssl-bump \
  cert=/etc/squid/ssl_cert/squid-ca.pem \
  generate-host-certificates=on \
  dynamic_cert_mem_cache_size=16MB

# قوانین SSL Bump
acl step1 at_step SslBump1
ssl_bump peek step1
ssl_bump bump all

# برنامه تولید گواهی‌های پویا
sslcrtd_program /usr/lib/squid/security_file_certgen -s /var/lib/ssl_db -M 16MB

# مقداردهی اولیه پایگاه گواهی‌ها
# sudo /usr/lib/squid/security_file_certgen -c -s /var/lib/ssl_db
# sudo chown -R proxy:proxy /var/lib/ssl_db

گام 3: نصب گواهی روی کلاینت‌ها

فایل squid-ca-cert.pem را روی تمام کامپیوترها کپی کرده و در مراجع معتبر ریشه (Trusted Root CAs) نصب کنید:

  • ویندوز: دابل کلیک → نصب گواهی → مراجع ریشه معتبر
  • مک‌اواس: دابل کلیک → Keychain Access → همیشه اعتماد کن
  • لینوکس: sudo cp squid-ca-cert.pem /usr/local/share/ca-certificates/ && sudo update-ca-certificates

⚠️ ملاحظات حقوقی

مهم: بازرسی SSL ممکن است حریم خصوصی را نقض کند. قبل از پیاده‌سازی:
✅ کارمندان را از پایش مطلع کنید (الزام قانونی در برخی کشورها)
✅ قوانین را در اسناد داخلی شرکت ثبت کنید
✅ سایت‌های بانکی و پزشکی را رمزگشایی نکنید
✅ لاگ‌ها را در مکانی امن نگهداری کنید

📊 پایش و تحلیل لاگ‌ها

ابزارهای محبوب پایش

SARG (Squid Analysis Report Generator)

گزارش‌های HTML از لاگ‌های Squid تولید می‌کند: برترین سایت‌ها، کاربران، مصرف ترافیک.

sudo apt install sarg -y
sudo sarg
# گزارش در /var/www/html/squid-reports/

Lightsquid

اسکریپت سبک پرل برای نمایش آمار Squid در لحظه.

sudo apt install lightsquid -y
# رابط وب:
# http://192.168.1.100/lightsquid

دستورات مفید برای تحلیل لاگ‌ها

# 10 سایت پربازدید
awk '{print $7}' /var/log/squid/access.log | sort | uniq -c | sort -rn | head -10

# 10 کاربر برتر بر اساس ترافیک مصرفی
awk '{user[$8] += $5} END {for (u in user) print u, user[u]}' \
  /var/log/squid/access.log | sort -k2 -rn | head -10

# تعداد درخواست‌ها بر اساس ساعت
awk '{print $1}' /var/log/squid/access.log | cut -d: -f2 | sort | uniq -c

# جستجوی درخواست‌های کاربر خاص
grep "ivan" /var/log/squid/access.log | tail -50

# آمار کش (Hit/Miss)
awk '{print $4}' /var/log/squid/access.log | sort | uniq -c

# پایش لاگ‌ها به صورت زنده برای خطاهای مسدود شده
tail -f /var/log/squid/access.log | grep --color "TCP_DENIED"

🔧 حل مشکلات رایج

❌ مشکل: پروکسی راه‌اندازی نمی‌شود

راه‌حل:

# بررسی سینتکس پیکربندی
sudo squid -k parse

# مشاهده لاگ‌های خطا
sudo tail -f /var/log/squid/cache.log

# بررسی دسترسی‌ها به دایرکتوری‌ها
sudo chown -R proxy:proxy /var/log/squid /var/spool/squid

❌ مشکل: کلاینت‌ها نمی‌توانند متصل شوند

راه‌حل:

  • بررسی فایروال: sudo ufw allow 3128/tcp
  • بررسی اینکه Squid روی اینترفیس صحیح گوش می‌دهد: netstat -tlnp | grep 3128
  • بررسی ACL در squid.conf (آیا زیرشبکه به درستی تعریف شده است)

❌ مشکل: عملکرد کند / بار زیاد

راه‌حل:

  • افزایش cache_mem (حداقل 512MB)
  • انتقال کش به دیسک SSD سریع
  • محدود کردن حداکثر اتصالات: http_access deny all maxconn 100
  • افزایش تعداد Workerها: workers 4

❌ مشکل: برخی سایت‌ها باز نمی‌شوند

راه‌حل:

  • بررسی لاگ‌ها: tail -f /var/log/squid/access.log | grep DENIED
  • غیرفعال کردن SSL Bump برای سایت‌های مشکل‌ساز (بانک‌ها، پزشکی)
  • اضافه کردن استثنائات به لیست سفید ACL

❌ مشکل: کش کار نمی‌کند

راه‌حل:

# بررسی آمار کش
squidclient -p 3128 mgr:info | grep "Request Hit Ratios"

# اگر 0% بود - دسترسی به دایرکتوری کش را بررسی کنید
ls -la /var/spool/squid/

# بازسازی ساختار کش
sudo systemctl stop squid
sudo rm -rf /var/spool/squid/*
sudo squid -z
sudo systemctl start squid

🎯 نتیجه‌گیری و توصیه‌ها

✅ چه زمانی پروکسی محلی را پیاده‌سازی کنیم؟

  • دفتر کار با 20+ کارمند — کنترل دسترسی و پایش توجیه اقتصادی دارد
  • پهنای باند اینترنت محدود — کشینگ تا 40% در مصرف صرفه‌جویی می‌کند
  • نیازهای امنیتی — فیلتر کردن سایت‌های مخرب، محافظت در برابر نشت داده‌ها
  • نیاز به گزارش‌دهی — لاگ‌ها برای تیم امنیت، منابع انسانی و مدیریت
  • مراکز آموزشی — حفاظت از کودکان، کنترل دسترسی دانش‌آموزان

❌ چه زمانی پروکسی محلی بیش از حد نیاز است؟

  • دفتر کوچک (زیر 10 نفر) — هزینه‌های نگهداری مدیریتی بالا است
  • عدم وجود متخصص IT — کسی برای نگهداری و پایش سیستم وجود ندارد
  • اینترنت پرسرعت و نامحدود — صرفه‌جویی کشینگ محسوس نخواهد بود
  • کار با داده‌های بسیار حساس — بازرسی SSL ممکن است انطباق (Compliance) را نقض کند

🔧 توصیه‌ها برای انتخاب راه‌حل

Squid (لینوکس) را انتخاب کنید اگر:

  • مدیر سیستم لینوکس در تیم دارید
  • به حداکثر عملکرد نیاز دارید
  • بودجه محدود است (راه‌حل رایگان)
  • پیکربندی انعطاف‌پذیر از طریق فایل‌های کانفیگ می‌خواهید

CCProxy (ویندوز) را انتخاب کنید اگر:

  • زیرساخت کاملاً مبتنی بر ویندوز سرور است
  • رابط گرافیکی بدون نیاز به خط فرمان می‌خواهید
  • بودجه برای لایسنس‌ها (199 تا 799 دلار) دارید
  • نیاز به استقرار سریع (در 5 تا 10 دقیقه) دارید

3proxy را انتخاب کنید اگر:

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

💡 توصیه اصلی

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

نمی‌خواهید درگیر تنظیمات شوید؟

از پروکسی‌های آماده ProxyCove استفاده کنید — بدون نصب سرور، بدون کانفیگ، بدون دردسر!
با کد تخفیف ARTHELLO، جایزه 1.3 دلاری دریافت کنید

📚 منابع مفید

📖 مستندات Squid:
wiki.squid-cache.org

🔧 وب‌سایت رسمی CCProxy:
www.youngzsoft.net

⚙️ GitHub 3proxy:
github.com/3proxy/3proxy

✅ مقاله به پایان رسید! شما همه چیز را در مورد پروکسی‌های محلی آموختید

از تئوری و معماری تا تنظیم عملی Squid، CCProxy و 3proxy. پایش، بازرسی SSL و حل مشکلات — همه در یک مکان.