نحوه راه اندازی گوشی های هوشمند و رایانه های شخصی. پرتال اطلاعاتی

ایجاد سرور در لینوکس squid. نصب Squid - هاست دایره المعارف

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

اغلب ما به یک پروکسی نیاز داریم. به عنوان مثال، شما یک IP خاکستری دارید یا از کاربران خوشحال اینترنت ماهواره ای هستید. دانلود چیزی از سایت هایی مانند Rapidshare غیر واقعی است. اینجاست که ماهی مرکب به کمک می آید.

برای نصب یک پروکسی، به یک سرور در مجازی سازی KVM نیاز دارید. سرورهای پروکسی در مجازی سازی های دیگر مجاز نیستند.

نسخه توسعه یافته تر مقاله من را می توان در وب سایت Kursky LUG یافت، جایی که من همچنین امکان استفاده از ماهی مرکب توسط کاربران خانگی و همچنین ادغام یک سیستم فشرده سازی ترافیک Globax یا Toonel را در ماهی مرکب در یک آبشار در نظر گرفتم.

نصب ماهی مرکب

cd /usr/ports/www/squid && make BATCH=yes install

راه اندازی ماهی مرکب

کمی در مورد acl و قوانین

قلب پیکربندی ماهی مرکب است acl(لیست کنترل دسترسی) و قوانین.
ابتدا باید یاد بگیرید که acl چگونه کار می کند. ACL ها دارای فرمت زیر هستند:

Acl<имя> <тип> <содержание>

به عنوان مثال، این acl دو ماشین کاربر با آدرس IP (نوع src) 192.168.0.1 و 192.168.0.2 را توصیف می کند.

Acl comps src 192.168.0.1/32 192.168.0.2/32

حالا بیایید به قوانین نگاه کنیم.
قوانین دارای فرمت زیر هستند:

<тип_правила> <действие>

در این مرحله باید یاد بگیرید که قوانین یکیانواع قبلا بررسی شده است اولینقانون در حال اجرا عمل این قانون اجرا شده و بررسی قوانین بعدی از این نوع متوقف خواهد شد. مثال:

acl all src 0/0 acl vasya src 192.168.1.12/32 http_access اجازه می دهد vasya http_access رد همه

قوانین را تایپ کنید http_accessاینها قوانینی هستند که دسترسی به http را مجاز یا رد می کنند. عمل قسمت بالا را در نظر بگیرید. acl all ما را به تمام آدرس های IP نشان می دهد. و acl vasya به یک آی پی 192.168.1.12 اشاره می کند
چک به این صورت خواهد بود:
1) http_access allow vasya اگر کاربری از این IP از طریق پروکسی نشسته باشد، ما به او اجازه دسترسی می دهیم. چک متوقف می شود، خط چهارم حتی بررسی نمی شود.
2) اگر پروکسی از کاربری غیر از این ip استفاده کند، قانون روی خط 3 اجرا نمی شود و به قانون خط 4 می رویم. از آنجایی که هر ip با acl all مطابقت دارد، این قانون اجرا می شود و ما اجرا خواهیم کرد. دسترسی را مسدود کنید قوانین بیشتر بررسی نخواهد شد. بنابراین، ما همه را به جز واسیا از استفاده از پروکسی منع کردیم.

یک اشتباه رایج را بر اساس مثال قبلی در نظر بگیرید:

acl all src 0/0 acl vasya src 192.168.1.12/32 http_access رد کردن همه http_access اجازه vasya

در این مورد، حتی واسیا نمی تواند از پروکسی استفاده کند. از آنجایی که ما دسترسی همه را با قانون در خط 3 مسدود کردیم، اجرا می شود و قانون خط 4 حتی بررسی نمی شود. به ترتیب قوانین هم نوع دقت کنید.

پیکربندی Squid را ایجاد کنید

بیایید شروع به نوشتن پیکربندی کنیم. من به عنوان نمونه به پیکربندی خود نگاه می کنم.

ابتدا، اجازه دهید پوشه acls را در پوشه /etc/squid ایجاد کنیم. من 3 فایل در آن ایجاد کردم: بنرها، نوبانرها، 1 بنرها
فایل بنرها عبارات منظمی را برای تبلیغات و بنرهایی که بریده می شوند ذخیره می کند. استثناها در نوبانرها ذخیره می شوند، یعنی آن دسته از صفحات و تصاویری که بارگذاری می شوند حتی اگر بنرها دارای قانونی باشند که تحت آن قرار می گیرند. فایل 1banners حاوی عبارات منظمی است که بنرهایی را که ابتدا بریده می شوند را توصیف می کند. محتویات فایل های فیلترینگ تبلیغاتم را در پایان مقاله خواهم داد.

با حقوق ریشه، فایل /etc/squid/squid.conf را ایجاد کنید و شروع به اضافه کردن خطوط به آن کنید:

پورتی را که پروکسی روی آن کار می کند را مشخص کنید: (توجه!! اگر نمی خواهید پروکسی شما به راحتی شناسایی شود هرگز پورت های استانداردی مانند 8080 80 یا 3128 را تنظیم نکنید)

http_port 1234

نام گره ای که ماهی مرکب روی آن نصب شده است را مشخص کنید. با این کار می توانید نام خود را بفهمید unname -n

Visible_hostname dimon4eg

icp را غیر فعال کنید

Icp_port 0

از طریق acl با عبارات منظم، صفحاتی را مشخص می کنیم که کش نخواهند شد

Acl donocache urlpath_regex کاربر cgi-bin ارسال no_cache رد donocache

یک پوشه /var/spool/squid ایجاد کنید و chmod 777 /var/spool/squid را انجام دهید.
بیایید حجم حافظه پنهان و کش "سریع" روی هارد دیسک را شرح دهیم. حجم حافظه نهان سریع توصیه می شود برای ذخیره رم بیش از 32 متر تنظیم نشود.

Cache_mem 32 مگابایت cache_dir ufs /var/spool/squid 1000 16 256

به طور مشابه، پوشه های /var/log/squid را ایجاد کنید و محل ذخیره گزارش ها را مشخص کنید.

cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log

پردازش mime و جدول pid

Mime_table /etc/squid/mime.conf pid_filename /var/run/squid.pid

تنظیمات FTP از طریق پروکسی

ftp_user [ایمیل محافظت شده] ftp_list_width 32 ftp_passive در ftp_sanitycheck در

سرویس acl

acl all src 0/0 acl SMTP port 25

لیست IP هایی که پروکسی از آنها مجاز است. حتما در LAN 127.0.0.1 و آدرس خود سرور را مشخص کنید. در مرحله بعد، تمام کاربرانی که دسترسی دارند را نشان می دهیم. (هشدار، مطمئن شوید که دسترسی به هر کسی را خاموش کنید.)

Acl doallow src 192.128.0.2/32 127.0.0.1/32

پورت های مجاز را تنظیم کنید

پورت acl Safe_ports 80 acl Safe_ports پورت 21 acl Safe_ports پورت 443 563 5190 5552 acl Safe_ports پورت 777

مکان فایل ها با قوانین برش تبلیغات. سوئیچ -i به معنای غیر حساس کردن قوانین به حروف بزرگ و کوچک است

بنرهای acl url_regex -i "/etc/squid/acls/banners" acl 1banners url_regex -i "/etc/squid/acls/1banners" acl nobanners url_regex -i "/etc/squid/acls/nobanners"

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

Http_access deny 1banners http_access deny banners !nobanners http_access deny !Safe_ports http_access رد SMTP http_access اجازه doallow http_access رد همه

دسترسی به icp را رد کنید

icp_access همه را رد کند

برنامه های کاربردی

متن کامل من squid.conf

http_port 1234 visual_hostname dimon4eg icp_port 0 acl donocache urlpath_regex کاربر cgi-bin ارسال no_cache رد donocache
cache_mem 32 مگابایت cache_dir ufs /var/spool/squid 1000 16 256
cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log
mime_table /etc/squid/mime.conf pid_filename /var/run/squid.pid
ftp_user [ایمیل محافظت شده] ftp_list_width 32 ftp_passive در ftp_sanitycheck در
سرور acl src 192.168.0.2/32
acl all src 0/0 acl manager proto cache_object acl localhost src 127.0.0.1/32 acl SSL_ports پورت 443 563 acl SMTP پورت 25
acl doallow src 192.128.0.2/32 127.0.0.1/32
پورت acl Safe_ports 80 acl Safe_ports پورت 21 acl Safe_ports پورت 443 563 acl Safe_ports پورت 777 acl روش CONNECT CONNECT
بنرهای acl url_regex -i "/etc/squid/acls/banners" acl 1banners url_regex -i "/etc/squid/acls/1banners" acl nobanners url_regex -i "/etc/squid/acls/nobanners"
http_access deny 1banners http_access deny banners !nobanners http_access deny !Safe_ports http_access رد SMTP http_access اجازه می دهد تا اجازه http_access رد همه
icp_access همه را رد کند
never_direct به همه اجازه می دهد

قوانین من برای برش تبلیغات

/etc/squid/acls/banners

.?(count(\d|er|\.rbc)|hitbox|تبلیغات|linkexchange|کلیک کنید\d|\dcount|adriver) .*(/ad(s|v)|\.adnet\.ru|banview| بنر|درایور|\dcount|bnr|bans\.|/sale|/pagead) .*exaccess\.ru/asp/. .*(spylog|warlog\.info|ipz.ru/cgi-bin/cm\.cgi\?|c\.mystat-in\.net|c\.bigmir\.net|online\.mirabilis|top\ .winrate\.net|vipelita\.ru|cnews\.ru.*/informres).* .*(brs\.trilan\.ru/images|google-analytics\.com|/informer|bantex\.ru| 100-100\.ru).* .?(hotlog|tours|sharereactor|&rand=|livejournal\.com/userpic).* ^(www\.)?ad\d?\..* .?images\. rambler\.ru/upl.* .*s1\.adward\.ru/\?r.* .*(bhanvad)\.com.* .*(dosugonline|blogonline|all-web|otvali|loveplanet|ziza| body\.imho|meganame)\.ru.* .?(clx|gold-music)\.ru/.* .*(nnm.ru|rambler|realcoding|kpnemo\.ru/advimg).*\.swf .*/ad?.* .?re(k|c)lama.* .^(www\.)?(1001tur|jmp\.net|kmindex.ru/.*/\?|kreis\.trl\. ru|rot\.goup\.ru/\?|au-au\.ru).* .?r\.mail\.ru/b.*\.swf .?bs\.yandex\.ru/show. * .?br\.gcl\.ru/cgi-bin/br.* .?m1.nedstatbasic.net/basic.js .*\.doubleclick\.net .*an.yandex.ru/* .*/adserver /*

امروز در مورد سرورهای پروکسی صحبت خواهیم کرد.

یک سرور پراکسی چیزی است که دسترسی چندین رایانه را از یک شبکه به شبکه دیگر فراهم می کند (اما نباید با روترها اشتباه شود - اینها چیزهای کاملاً متفاوتی هستند، یک سرور پروکسی در سطح برنامه کار می کند). متداول ترین وظیفه یک سرور پروکسی این است که دسترسی به اینترنت را برای رایانه های شخصی که آن را ندارند از طریق یک رایانه شخصی که به شبکه جهانی دسترسی دارد، فراهم کند. این کار را در مورد استفاده از رایانه ویندوزی به عنوان دروازه اینترنت در نظر بگیرید.

برای حل این مشکل می توانید از راه حل های اختصاصی با رابط بصری استفاده کنید - برای مثال UserGate. اما من نتوانستم آن را روی رایانه شخصی با ویندوز 7 درست کار کند و پولی است :) بنابراین بهترین راه حلی که گرفتیم را در نظر می گیرم. از * nix-s Squid. می توانید این ساخته را در: Squid 2.7 دانلود کنید (آخرین نسخه در زمان نوشتن این مقاله)

ترجیحاً در روت دیسک دانلود و باز کنید. سعی نکنید چیزی را از آنجا اجرا کنید - هیچ رابط کاربری گرافیکی در این برنامه وجود ندارد - و اجازه ندهید که شما را بترساند :)
بعد، کنسول را باز کنید - Win + R / cmd / به پوشه ای با ماهی مرکب نصب شده بروید (در ادامه برای مسیر نصب c: \ squid خواهم نوشت)

ج:\
cd c:\squid\sbin

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

Squid -i -f c:/squid/etc/squid.conf -n Squid27

جایی که Squid27 نام سرویس است که در اصل می تواند هر چیزی معتبر باشد.

حال باید فایل تنظیمات squid.conf را که در پوشه c:/squid/etc/ قرار دارد را ویرایش کنید.به شما توصیه می کنم از فایل اصلی بک آپ بگیرید. سپس تمام متن را از این فایل حذف کنید و موارد زیر را بنویسید:

http_port 3128
acl localnet src 192.168.3.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access به شبکه محلی اجازه می دهد
http_access اجازه لوکال هاست را می دهد
http_access همه را رد کنید

cache_log هیچکدام
cache_store_log هیچکدام

جایی که

  • http_port 3128 - شماره پورت سروری که squie از طریق آن کار می کند.یعنی در تنظیمات کلاینت آدرس سرور و این پورت را مشخص می کنیم.
  • acl localnet src 192.168.0.0/255.255.0.0- این خط محدوده ای از آدرس های IP را مشخص می کند که امکان اتصال به پروکسی ما وجود دارد. ماسک را می توان به صورت /8، /16، /24 (به ترتیب برای 255.0.0.0، 255.255.0.0، 255.255.255.0) مشخص کرد و نام محلی است. در واقع با این خط متغیری را اعلام می کنیم که با آن بیشتر کار خواهیم کرد. خط بعدی به طور مشابه متغیر all را اعلام می کند، جایی که تمام IP های موجود نشان داده شده است.
  • http_access به شبکه محلی اجازه می دهد - با این خط اجازه دسترسی از IP مشخص شده در متغیر localnet را به پروکسی خود می دهیم.
  • http_access همه را رد کنید - از دسترسی دیگران به پروکسی خودداری کنید. این مجوزها از بالا به پایین کار می کنند، بنابراین این خط باید در آخر مشخص شود! وگرنه هیچکس به پروکسی نمیرسه :)
  • cache_log هیچ - مورد نیاز، مانند خط بعدی تا لاگ ها به گیگابایت تبدیل نشوند)
همچنین می توانید گزینه های زیر را وارد کنید:
  • cache_mem 32 مگابایت - اندازه کش اضافی ماهی مرکب را در RAM تعیین می کند.
  • cache_dir ufs c:/squid/var/cache 100 16 256- مسیر پوشه کش، اندازه آن را در مگابایت (100) و تعداد زیرپوشه ها را تعیین می کند (چرا دومی - من هنوز متوجه نشدم :))
اکنون باید ".default" را در نام فایل mime.conf در همان پوشه حذف کنید یا به سادگی یک فایل متنی خالی با آن نام ایجاد کنید. این برای تشکیل کش ضروری است. در کنسول دستور را تایپ می کنیم (در پوشه sbin قرار دارد):

squid -z -f c:\squid\etc\squid.conf

بنابراین، در اصل، ما آماده راه اندازی پروکسی خود هستیم. ما در خط فرمان می نویسیم (یا می توانید به Services بروید و با ماوس اجرا کنید :)

شروع خالص Squid27

متوقف کردن:

net stop squid27

پیکربندی مجدد:

squid -n Squid27 -f c:/squid/etc/squid.conf -k reconfigure

در این پروکسی هنوز هم می توانید کارهای زیادی انجام دهید، مثلا برای کاربران مختلف محدودیت هایی از نظر زمان، سرعت، ممانعت از دسترسی به برخی سایت ها و ... و ... تعیین کنید، اما شرح همه اینها وظیفه این نیست. مقاله - یافتن چنین مطالبی در اینترنت آسان است.

مطالب مربوط به ساخت روتر بر اساس Squid از محبوب ترین مطالب در سایت ما هستند. این راه حل اجازه می دهد تا با حداقل هزینه (در درجه اول برای بخش نرم افزار)، دسترسی به اینترنت را در سازمان سازماندهی و ساده کنید. اما گزینه هایی که در نظر داریم در درجه اول برای کار به عنوان بخشی از یک گروه کاری در نظر گرفته شده بود. عدم ادغام با اکتیو دایرکتوری قابلیت استفاده از چنین روتری را در شبکه های دامنه به شدت کاهش داد، بنابراین تصمیم گرفتیم این حذف را اصلاح کنیم.

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

ویژگی های یکپارچه سازی با Active Directory

ادغام پروکسی Squid در اکتیو دایرکتوری چه فایده ای دارد؟ بیایید فوراً بگوییم که اگر هدف اصلی شما توزیع ساده اینترنت برای همه و بدون محدودیت است، خوب، به جز با بستن شبکه های اجتماعی، پس لازم نیست بیشتر بخوانید، پیکربندی که قبلاً توضیح دادیم به طور کامل نیازهای شما را برآورده می کند. . مزیت اصلی ادغام روتر در اکتیو دایرکتوری استفاده از یک نقطه واحد احراز هویت و کنترل دسترسی به اینترنت بر اساس حساب ها و گروه های امنیتی است که از قبل در دامنه وجود دارد.

از این چند ویژگی را دنبال کنید. بنابراین حالت شفاف از احراز هویت پشتیبانی نمی کند و باید با تعیین تنظیمات پروکسی مستقیماً در تنظیمات مرورگر از آن خودداری کنید. اتوماسیون این فرآیند با استفاده از سرور DHCP و پروتکل WPAD آسان است.

به عنوان سرورهای DNS، از جمله روتر، فقط DNS دامنه باید مشخص شود، به طور پیش فرض هر کنترل کننده دامنه یک سرور DNS است. به همین دلیل، روتر نباید نقش سرور DNS را داشته باشد. همچنین، برای فعال کردن ادغام با AD، نقش سرور DHCP نیز باید به سرور ویندوز منتقل شود، معمولاً به یک یا چند کنترل کننده دامنه.

اکنون به نقطه ای می رسیم که همه اینها برای آن شروع شد. احراز هویت توسط حساب های دامنه به شما امکان می دهد از یک نقطه ورودی استفاده کنید ( SSO، Single Sign-On، هنگامی که کاربر یک بار ورود و رمز عبور را وارد می کند - هنگام ورود به سیستم. این با استفاده از پروتکل به دست می آید کربروس، که روش پیش فرض احراز هویت AD است. برخلاف نویسندگان راهنماهای دیگر، ما هیچ فایده ای در راه اندازی یا احراز هویت اولیه، عمدتاً به دلایل امنیتی، نمی بینیم. علاوه بر این، Kerberos توسط تمام سیستم عامل های مدرن پشتیبانی می شود.

مرحله بعدی مجوز بر اساس گروه های امنیتی موجود است، این امر به ویژه در هنگام مهاجرت از آن صادق است خط مقدمTMGیا سرور ISA. این اجازه می دهد تا پس از پیکربندی سرور لینوکس، کنترل دسترسی بیشتر به روش معمول انجام شود - از طریق گروه های Active Directory، که اجازه می دهد تا آستانه ورودی را برای مدیران کاهش دهید.

از آنجایی که اکتیو دایرکتوری ساختار پیچیده‌تری دارد و تعداد «بازیگران» بیشتر است، به طوری که در آدرس‌ها و نام میزبانی که استفاده می‌کنیم سردرگم نشوید، یک نمودار کوچک آماده کرده‌ایم:


در مثال های خود، از یک دامنه Active Directory با نام FQDN استفاده خواهیم کرد interface31.lab، که دو دامین کنترلر مسئول آن هستند SRV-DC01و SRV-DC02با آدرس های 192.168.31.101 و 102 به ترتیب. هر دو کنترلر مبتنی بر Windows Server 2012 R2 هستند.

روتر مبتنی بر سرور اوبونتو 14.04 (Debian 7/8) است و نام دارد. SRV-GW01با آدرس 192.168.31.100. همچنین گروهی از سرورها در شبکه با آدرس‌های ثابت 192.168.31.103-105 و رایانه‌های شخصی مشتری وجود دارند که آدرس‌های آنها توسط سرور DHCP از محدوده 192.168.31.111-199 صادر می‌شود.

تنظیمات شبکه

شبکه به روش سنتی و با ویرایش فایل پیکربندی پیکربندی می شود /etc/network/interfaces. ما می پذیریم که شبکه خارجی با رابط مطابقت دارد eth0، و داخلی eth1. در نتیجه تنظیمات، باید چیزی شبیه به این دریافت کنیم:

خودکار لو
iface lo loopback inet

خودکار eth0
iface eth0 inet static
آدرس 172.18.0.106
ماسک شبکه 255.255.240.0
دروازه 172.18.0.1
dns-search interface31.lab
dns-nameservers 192.168.33.101 192.168.31.102

خودکار eth1
iface eth1 inet static
آدرس 192.168.31.100
ماسک شبکه 255.255.255.0

پس از /etc/nat

لطفاً توجه داشته باشید که اگرچه آدرس و دروازه خارجی در تنظیمات رابط خارجی استفاده می شود، آدرس سرورهای DNS داخلی هستند. یک گزینه نیز وجود دارد dns-search، که دامنه را برای وضوح غیر FQDN تعریف می کند. این بدان معنی است که دامنه مشخص شده به طور خودکار به هر نام کوتاه اضافه می شود، به عنوان مثال، srv-dc01به اضافه خواهد شد srv-dc01.interface31.lab.

اگر با تعیین DNS داخلی در تنظیمات کارت شبکه خارجی گیج شده اید، می توانید این خطوط را به بخش eth1 منتقل کنید، این بر عملکرد سرور تأثیری نخواهد داشت.

سرورهای DNS ارائه دهنده یا DNS عمومی باید در قسمت مشخص شوند فورواردرهاسرور DNS داخلی در هر یک از کنترل کننده های دامنه.

اگر تنظیمات شبکه را از ارائه دهنده از طریق DHCP دریافت می کنید، سپس برای استفاده از سرورهای نام داخلی، به جای DNS ارائه دهنده، بخش eth0 باید به شکل زیر باشد:

خودکار eth0
iface eth0 inet dhcp
dns-search interface31.lab
dns-nameservers 192.168.33.101 192.168.31.102

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

محتویات فایل را ذخیره کنید، راه اندازی مجدد کنید. ما در دسترس بودن اینترنت روی سرور و وضوح نام را بررسی می کنیم. برای مثال دستور را اجرا کنید:

nslookup srv-dc02

اولین سرور نام دامنه مشخص شده باید به شما پاسخ دهد، در مورد ما 192.168.33.101 و نام میزبان FQDN کامل و آدرس IP آن را بدهد.

سپس وضوح نام های خارجی را بررسی کنید:

Nslookup ya.ru

همچنین باید از سرور داخلی پاسخ دریافت کنید. این کار راه اندازی شبکه را کامل می کند.

پیکربندی NAT و فایروال

راه اندازی اولیه فایروال اساساً با گزینه روتر گروه کاری تفاوتی ندارد، با یک استثنا. از آنجایی که پروکسی ما مات است، اگر به دلایلی مرورگر برای کار با سرور پراکسی پیکربندی نشده باشد، می‌توان مستقیماً از طریق NAT خارج شد. بنابراین، ما دسترسی از طریق HTTP (پورت 80) را برای همه مشتریان در شبکه محلی محدود می کنیم، به استثنای سرورها و هاست های فردی که ممکن است به دسترسی مستقیم نیاز داشته باشند.

ما معتقدیم که یک سرور پروکسی در درجه اول برای کنترل کاربران مورد نیاز است، بنابراین هیچ فایده ای در بسته بندی سرورها و میزبان های خدماتی که دسترسی به اینترنت را برای کاربران روی آن فراهم نمی کنند، نمی بینیم.

یک فایل ایجاد و باز کنید /etc/nat

/etc/nat را لمس کنید

بیایید مطالب زیر را به آن اضافه کنیم:

#فعال کردن ارسال بسته
echo 1 > /proc/sys/net/ipv4/ip_forward

#اجازه ترافیک در اینجا
iptables -A INPUT -i lo -j ACCEPT

#اجازه دادن به سرورهای HTTP
iptables -A FORWARD -i eth1 -s 192.168.31.101 -p tcp --dport 80 -j ACCEPT
...
iptables -A FORWARD -i eth1 -s 192.168.31.105 -p tcp --dport 80 -j ACCEPT

#غیرفعال کردن HTTP
iptables -A FORWARD -i eth1 -p tcp --dport 80 -j رد کردن

#اجازه دسترسی از شبکه داخلی به خارج
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

# NAT را فعال کنید
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.31.0/24 -j MASQUERADE

#اجازه دادن پاسخ از شبکه خارجی
iptables -A FORWARD -i eth0 -m حالت --state ESTABLISHED,RELATED -j ACCEPT

#دسترسی خارجی به شبکه داخلی را ممنوع کنید
iptables -A FORWARD -i eth0 -o eth1 -j رد کردن

بخش #اجازه دادن به سرورهای HTTPشامل مجموعه ای از قوانین یکسان برای هر میزبان است که اجازه دسترسی به اینترنت را با دور زدن پروکسی می دهیم. در مورد ما، اینها آدرس‌هایی از 192.168.31.101 تا 192.168.31.105 هستند، برای اینکه مثال را به هم نریزیم، اولین و آخرین را نوشتیم و آنها را با یک بیضی از هم جدا کردیم (که نباید در یک پیکربندی واقعی باشد).

فایل را ذخیره کنید و به آن مجوز اجرا بدهید:

Chmod +x /etc/nat

بیایید راه اندازی مجدد کنیم:

پس از آن، می توانید اینترنت را در مشتریان بررسی کنید، در مواردی که در لیست استثنائات قرار دارند - اینطور خواهد بود، در بقیه نه. پروتکل های دیگر: نامه (SMTP، POP3، IMAP)، FTP، HTTPS و غیره. باید روی همه مشتریان کار کند.

تنظیم همگام سازی زمان

برای موفقیت در کار با دامنه اکتیو دایرکتوری و تأیید اعتبار Kerberos، مهم است که ساعت روتر با ساعت کنترل کننده دامنه هماهنگ شود.

کلاینت NTP را نصب کنید:

apt-get نصب ntp

سپس فایل پیکربندی را باز کنید /etc/ntp.confو تمام خطوط را که با شروع می شود نظر دهید سرور. سپس دو مورد از ورودی های خود را اضافه می کنیم:

سرور srv-dc01.interface31.lab
سرور srv-dc02.interface31.lab

همانطور که ممکن است حدس زده باشید، ما در مورد ورودی های سرور زمان شخص ثالث نظر داده ایم و کنترل کننده های دامنه را اضافه کرده ایم.

سپس دو خط به انتهای فایل اضافه کنید و سرویس گیرنده NTP را به رابط داخلی محدود کنید:

رابط نادیده گرفتن وایلدکارد
رابط گوش eth1

فایل را ذخیره کرده و سرویس را مجددا راه اندازی کنید:

راه اندازی مجدد سرویس ntp

برای اطمینان از اینکه NTP فقط در رابط داخلی کار می کند، اجرا کنید:

Ss-l | grep 123

خروجی دستور باید فقط شامل آدرس های داخلی و آدرس های حلقه محلی (localhost) باشد:

می توانید با دستور زیر همگام سازی را بررسی کنید:

در خروجی به ستون ها توجه کنید: چه زمانی-زمان از آخرین پاسخ سرور، استخر- زمان نظرسنجی سرور، انحراف- اختلاف زمانی بر حسب ثانیه

اگر روتر شما در یک محیط مجازی قرار دارد، در هنگام راه‌اندازی، تا زمانی که سیستم بداند زمان را با چه کسی باید همگام‌سازی کند، زمان داخل ماشین مجازی با زمان Hypervisor همگام‌سازی می‌شود. بنابراین یا این ویژگی را در تنظیمات ماشین مجازی غیرفعال کنید یا ساعت هایپروایزر را با ساعت دامنه همگام کنید.

پیکربندی Squid3 Caching Proxy Server

توجه!اگر در حال پیکربندی مجدد سرور برای یک گروه کاری هستید، پس حتما حذف کنیدبسته بندی dnsmasqیا سایر سرورهای DNS و DHCP!

با این دستور سرور پراکسی squid3 را نصب کنید:

apt-get install squid3

بیایید فایل پیکربندی را باز کنیم /etc/squid3/squid.confو حداقل تنظیمات را با اضافه کردن یا حذف کردن خطوط مشخص شده در بخش های مربوطه تنظیم کنید.

عنصر acl را برای شبکه محلی مشخص کنید:

Acl localnet src 192.168.31.0/24

حداقل مجموعه ای از لیست های دسترسی:

http_access به شبکه محلی اجازه می دهد
http_access اجازه لوکال هاست را می دهد
http_access همه را رد کنید

رابط ها، پورت ها و حالت های پراکسی:

http_port 192.168.31.100:3128
http_port 127.0.0.1:3128

تنظیمات کش:

Cache_mem 1024 مگابایت
Maximum_object_size_in_Memory 512 KB

cache_dir ufs / var /spool/squid3 2048 16 256

حداکثر_ابجکت_اندازه 4 مگابایت

تنظیمات گزارش:

Access_log daemon:/var/log/squid3/access.log squid
logfile_rotate 31

برای Squid 3.1 و پایین تر، خط اول باید به این صورت باشد:

Access_log /var/log/squid3/access.log ماهی مرکب

تنظیمات را ذخیره و آزمایش کنید:

Squid3 -k چک

اگر خطایی وجود ندارد، Squid را مجددا راه اندازی کنید:

راه اندازی مجدد سرویس squid3

بازسازی کش:

سرویس Squid3 stop
ماهی مرکب 3 -z
شروع سرویس Squid3

در سرور DNS دامنه، یک رکورد A برای روتر خود اضافه کنید:

اکنون در تنظیمات مرورگر، نام کامل FQDN سرور و پورت 3128 را مشخص کنید:

از آنجایی که هنوز محدودیتی تعیین نشده است، باید به اینترنت دسترسی داشته باشید.

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

با کمک این مقاله سعی می کنم تنظیمات رایج ترین پروکسی سرور - سرور پراکسی Squid را به وضوح و قابل فهم توضیح دهم.

تنظیمات اولیه SQUID برای دسترسی کاربر

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

ابتدایی ترین کاری که پس از نصب باید انجام دهیم این است که به کاربران شبکه محلی خود اجازه دسترسی دهیم. برای این کار از پارامترهای http_port، http_access استفاده می شود. علاوه بر این، ما یک acl (لیست کنترل دسترسی) را برای شبکه محلی خود راه اندازی خواهیم کرد.

بنابراین، ما به http_port نیاز داریم تا آنجا که سرور پراکسی Squid ما باید فقط کامپیوترهای موجود در شبکه محلی ما را ارائه دهد و برای دنیای خارج نامرئی باشد تا امکان استفاده از کانال یا ترافیک ما توسط "افراد بد" شبکه خارجی منتفی شود و اگر "حفره" در کد پروکسی Squid یافت می شود، از آنها استفاده کنید.

پارامتر http_access برای اجازه یا رد دسترسی به منابع خاص، آدرس‌های خاص یا از آدرس‌های خاص، به سایت‌های خاص، از طریق پروتکل‌ها، پورت‌ها و هر چیزی که مستقیماً با استفاده از Acl (فهرست‌های کنترل دسترسی) مشخص می‌شود، استفاده می‌شود.

جدول N 1. برخی از زیرشبکه ها.

محدوده آدرس | فرم کامل | فرم مختصر 192.168.0.192.168.0.254 192.168.0.255.255.255.0 192.168.0/25 192.168.20-192.168.20.254 192.168.20.254.168.20.05.25.168.20.05.25.168.25.0 192.168.20.25.0 192.168.20.0/24 192.168.20.0/24 192.168.0.1- 192.168.254.254 192.168.20.0/255.255.0.0 192.168.20.0/16 10.0.0.1-10.254.254.250.250.250.8.

فرض کنید شبکه ای با آدرس های 192.168.0.1 تا 192.168.0.254 دارید، سپس یک Acl جدید اضافه کنید (جدول N1 را ببینید):

Acl LocalNet src 192.168.0.0/24

فرض کنید یک سرور پراکسی Squid دارید که در 192.168.0.200 در پورت 3128 قرار دارد، سپس در فایل پیکربندی می نویسیم:

http_port 192.168.0.200:3128

اقدام بعدی ما ممنوعیت استفاده از سرور پراکسی ما خواهد بود، به جز برای کاربران شبکه محلی ما:

Http_access اجازه می دهد LocalNet http_access همه را رد کند

در این صورت کلمه allow یک مجوز و کلمه deny ممنوعیت است یعنی ما از آدرس های شبکه محلی خود اجازه دسترسی به سرور پراکسی Squid را می دهیم و دسترسی به بقیه را رد می کنیم.

هنگام تعیین http_access مراقب باشید، زیرا Squid از آنها به ترتیبی که شما آنها را مشخص کرده اید استفاده می کند.

یادگیری ACL (لیست های کنترل دسترسی)

سیستم کنترل دسترسی در سرور پروکسی Squid بسیار منعطف و گسترده است. این شامل عناصر دارای مقادیر و لیست های دسترسی با علامت اجازه (مجوز) یا رد (ممنوعیت) است.

فرمت ACL به شرح زیر است:

نام لیست عنصر acl

فرمت لیست دسترسی:

Http_access با مشخص کردن نام acl

ما به برخی از عناصری که سرور پروکسی Squid اجازه می دهد نگاه خواهیم کرد، البته با مثال هایی:

* لیست src نام acl

با استفاده از این عنصر (src)، آدرس IP منبع، یعنی کلاینتی که درخواست از آن به سرور پروکسی ما آمده است را مشخص می کنیم.

در مثال زیر، ما به Vasya Pupkin (Pupkin) و بخش برنامه نویسی (Progs) اجازه دسترسی به سرور پراکسی خود را می دهیم و همه افراد دیگر را رد می کنیم:

acl Progs src 192.168.0.1-192.168.0.9 acl Pupkin src 192.168.0.10 http_access اجازه می دهد Progs http_access اجازه می دهد Pupkin http_access رد همه

* لیست نام acl dst

این عنصر (dst) آدرس IP مقصد را مشخص می کند، یعنی آدرس IP سروری که مشتری سرور پروکسی می خواهد به آن دسترسی داشته باشد.

در مثال زیر، دسترسی Vasya به زیرشبکه 194.67.0.0/16 را رد می کنیم (به عنوان مثال، حاوی همان aport.ru است):

Acl Net194 dst 194.67.0.0/16 http_access deny Pupkin Net194

* لیست نام دامنه acl dst

با این عنصر (dstdomain) دامنه ای را مشخص می کنیم که کلاینت سرور پروکسی می خواهد به آن دسترسی داشته باشد.

در مثال زیر، دسترسی Vasya به سایت‌های warez nnm.ru و kpnemo.ru را رد می‌کنیم:

Acl SitesWarez dstdomain .nnm.ru .kpnemo.ru http_access deny Pupkin SitesWarez

اگر لازم است دامنه منبع را مشخص کنید، از srcdomain استفاده کنید.

* نام acl [-i] لیست srcdom_regex * نام acl [-i] لیست dstdom_regex

تفاوت این عناصر با srcdomain و dstdomain فقط در این است که از عبارات منظم استفاده می کنند که در این مقاله آن را در نظر نمی گیریم، اما همچنان یک مثال می زنیم:

Acl SitesRegexSex dstdom_regex sex Acl SitesRegexComNet dstdom_regex \.com$ \.net$ http_access deny Pupkin SitesRegexSex http_access deny Pupkin SitesRegexComNet

در این مثال، ما دسترسی Vasily Pupkin را به همه دامنه‌های حاوی کلمه sex و به همه دامنه‌های موجود در مناطق .com و .net رد کردیم.

سوئیچ -i برای نادیده گرفتن حروف حروف در عبارات منظم طراحی شده است.

* نام acl [-i] فهرست url_regex

با این عنصر (url_regex) الگوی عبارت منظم را برای URL مشخص می کنیم.

نمونه ای از تعیین فایل هایی با پسوند avi که با کلمه sex شروع می شود:

Acl NoAviFromSex url_regex -i sex.*\.avi$

اگر می‌خواهید فقط برای مسیر URL یک الگو مشخص کنید، یعنی پروتکل و نام میزبان (دامنه) را حذف کنید، از urlpath_regex استفاده کنید.

مثالی برای تعیین فایل های موسیقی:

رسانه Acl urlpath_regex -i \.mp3$ \.asf$ \.wma$

* لیست پورت acl acl_name

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

به عنوان مثال، ما همه را از استفاده از برنامه Mirc از طریق سرور پراکسی خود منع خواهیم کرد:

پورت Acl Mirc 6667-6669 7770-7776 http_access deny all Mirc

* لیست پروتو acl acl_name

تعیین پروتکل انتقال

به عنوان مثال، اجازه دهید Vasya فوق الذکر از پروتکل FTP از طریق سرور پراکسی خود استفاده نکند:

Acl ftpproto proto ftp http_access رد Pupkin ftpproto

* لیست متد acl acl_name

تعیین روش درخواست http توسط مشتری (GET، POST)

بیایید وضعیتی را در نظر بگیریم که باید واسیا پوپکین را از مشاهده نامه های خود در وب سایت mail.ru منع کنید، اما در عین حال به او اجازه دهید بدون محدودیت در سایت قدم بزند، یعنی واسیا را از ورود به صندوق پستی خود از طریق فرم ورود به سیستم منع کنید. سایت:

acl SiteMailRu dstdomain .mail.ru روش متدپست acl POST http_access deny Pupkin methodpost SiteMailRu

محدودیت های کاربر

اغلب در کشور ما شرایطی وجود دارد که کانال دسترسی کافی به اینترنت جهانی برای همه کاربران وجود ندارد و میل به حداکثر دادن به همه وجود دارد، اما در عین حال اجازه ندهیم کانال به دلیل آن موارد "بمیرد" کسانی که دوست دارند فایل ها را دانلود کنند.

ابزارهای پروکسی Squid این امکان را به چندین روش می دهند:

  • راه اول بهینه سازی کش اشیاء است.
  • دوم محدودیت زمانی برای کاربران خاص است که کاملاً صحیح نیست.
  • راه سوم محدود کردن سرعت برای انواع خاصی از فایل ها، کاربران و هر چیزی است که از طریق Acl تعریف کرده ایم.

محدودیت های زمانی

به شرح زیر می توانید کاربران را از نظر زمان محدود کنید:

نام Acl روزهای زمان hh:mm-hh:mm

جایی که روز است: M - دوشنبه، T - سه شنبه، W - چهارشنبه، H - پنجشنبه، F - جمعه، A - شنبه، S - یکشنبه.

در این حالت hh:mm باید کمتر از HH:MM باشد، یعنی از 00:00-23:59 می توانید تعیین کنید، اما نمی توانید 20:00-09:00 را تعیین کنید.

بیایید همین واسیا را هر روز از ساعت 10 صبح تا 3 بعد از ظهر به اینترنت دسترسی نداشته باشد:

Acl TimePupkin ساعت 10:00-15:00 http_access deny Pupkin TimePupkin

اگر می خواهید به واسیا اجازه دهید از برنامه Mirc از ساعت 13:00 تا 14:00 استفاده کند، می نویسیم:

Acl TimePupkin ساعت 13:00-14:00 http_access اجازه می دهد Pupkin TimePupkin Mirc http_access deny Pupkin Mirc

اما اگر در روزهای خاصی از هفته نیاز به ممنوعیت یا اجازه دادن داشته باشید، چه؟ Squid همچنین به شما امکان می دهد این کار را انجام دهید، برای مثال از ساعت 13 تا 14 در روزهای دوشنبه و یکشنبه:

Acl TimePupkin زمان MS 13:00-14:00

همانطور که می بینید، هیچ چیز پیچیده ای در این مورد وجود ندارد.

محدودیت های سرعت

کنترل سرعت در سرور پروکسی Squid با استفاده از Pool ها انجام می شود. استخر نوعی بشکه آبجو است که در آن آبجو به طور مداوم تا لبه پر می شود و مشتریان برای مصرف داخلی بیشتر در صورت نیاز از طریق شیرهای شخصی خود در لیوان ها یا سایر ظروف خود می ریزند.

استخرها با استفاده از سه پارامتر delay_class، delay_parameters، delay_access تنظیم می شوند. تعداد Pool ها با استفاده از پارامتر delay_pools مشخص می شود.

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

  1. کل جریان آبجو به یک شیر (برای کل شبکه) محدود می شود.
  2. کل جریان آبجو به یک شیر محدود می شود، اما شیر به شیرها (برای هر IP) تقسیم می شود.
  3. کل جریان آبجو به یک شیر محدود می شود، اما شیر به شیرهای فرعی (به زیر شبکه) تقسیم می شود که آنها نیز به شیرهای کوچک (برای هر IP) تقسیم می شوند.

delay_pools number_of_declared_pools delay_access pool_number اقدام acl_name

عمل می تواند اجازه (اجازه) و انکار (منع) باشد. در عین حال این استخر به کسانی که برایشان مجاز است عمل می کند و به کسانی که برایشان ممنوع است عمل نمی کند. اگر allow all مشخص شود، و سپس Pupkin را رد کنید، این کلاس همچنان بر Pupkin تأثیر می گذارد، زیرا. آدرس IP Pupkin اعلام شده در acl Pupkin در لیست تمام آدرس های acl قرار دارد. این را در نظر داشته باشید.

Delay_class pool_number pool_class delay_parameters پارامترهای pool_number

پارامترها بسته به کلاس استخر متفاوت است:

برای کلاس اول:

Delay_parameters 1 byte_to_whole_network

برای کلاس دوم:

Delay_parameters 1 per_network per_client

برای کلاس سوم:

Delay_parameters 1 per_whole_network per_subnet per_client

به عنوان مثال، ما یک کانال 128 کیلوبیت در ثانیه (به طور متوسط ​​15 کیلوبایت در ثانیه) داریم و آرزو می کنیم واسیا (پاپکین) فقط 4 کیلوبایت در ثانیه (یک لیوان کوچک برای همه چیز) به بخش برنامه نویسی (پروگ) فقط بدهد. 10 کیلوبایت در ثانیه و برای هر تنها 5 کیلوبایت در ثانیه (فقط دو لیوان)، بقیه باید به 2 کیلوبایت در ثانیه برای هرکدام و 10 کیلوبایت در ثانیه برای همه، و فایل های mp3 (رسانه) باید به 3 کیلوبایت محدود شوند. در هر ثانیه برای همه (در کل بشکه آبجو چنین شیر کوچکی وجود دارد). سپس می نویسیم:

AC pools 4 # first limit mp3 delay_class 1 1 delay_parameters 1 3000/3000 delay_access 1 allow media delay_access 1 deny all # limited poor Vasya delay_class 2 1 delay_parameters 2 4000/4000 delay_delay_declass 3 10000. deny Prog delay_access 4 اجازه LocalNet delay_access 4 رد کردن همه

اغلب این سوال پیش می آید که بهترین راه برای استفاده از چنین کانال کوچکی چیست تا به طور خودکار بین همه کسانی که در حال دانلود چیزی هستند به اشتراک گذاشته شود؟ پاسخ روشنی برای این سوال وجود دارد - انجام این کار با استفاده از سرور پراکسی Squid امکان پذیر نیست، اما هنوز هم می توان کاری انجام داد:

delay_class 1 2 delay_parameters 1 -1/-1 5000/15000 delay_access 1 اجازه LocalNet delay_access 1 رد همه

بنابراین، ما حداکثر کانال را برای کل شبکه و زیرشبکه های خود اختصاص می دهیم (-1 به معنای نامحدود)، و به هر کاربر حداکثر سرعت 5 کیلوبایت در ثانیه را پس از دانلود 15 کیلوبایت اول سند با حداکثر سرعت، می دهیم.

بنابراین، مشتری کل کانال را نمی خورد، اما به سرعت 15 کیلوبایت اول را دریافت می کند.

بهینه سازی کش اشیاء در SQUID

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

برای حل چنین شرایطی، از پارامتر refresh_pattern در فایل تنظیمات پروکسی Squid استفاده می‌شود، اما کاملاً با فرمول‌ها و این‌ها. ما آن را در نظر نخواهیم گرفت.

Refresh_pattern [-i] رشته MINV درصد پارامترهای MAXV

از این پارامتر برای تعیین سن شی (فایل خوانده شده) در حافظه پنهان استفاده می شود که آیا باید به روز شود یا خیر.

MINV (حداقل زمان) - زمانی بر حسب دقیقه که یک شی در حافظه نهان تازه در نظر گرفته می شود.

MAXV (حداکثر زمان) - حداکثر زمان در دقیقه که جسم تازه در نظر گرفته می شود.

گزینه ها یک یا چند مورد از گزینه های زیر هستند:

  • override-expire - اطلاعات انقضای شی را نادیده بگیرید و از MINV استفاده کنید.
  • override-lastmod - اطلاعات تاریخ اصلاح فایل را نادیده بگیرید و از minv استفاده کنید.
  • reload-into-ims - به جای درخواست از مشتری درخواست "Do not cache document" (بدون کش)، درخواست "If change from" (If-Modified-Since) را ارسال کنید.
  • نادیده گرفتن-بارگذاری مجدد - نادیده گرفتن درخواست های مشتری برای "اسناد کش نشوید" (بدون کش) یا "بارگذاری مجدد سند" (بارگذاری مجدد).

بنابراین، به مهمترین چیز می رسیم. خوب، چه نوع فایل هایی کمتر به روز می شوند؟ به عنوان یک قاعده، اینها فایل های موسیقی و تصاویر مختلف هستند.

بیایید تازگی اشیاء را تنظیم کنیم، برای این کار، برای عکس ها و فایل های موسیقی، مثلاً 30 روز (43200 دقیقه) می گوییم:

Refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire.jpgride-lastmod override. انقضا refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-43200 override-lastmod override-1000000000000000000000000 $ override-lastmod override-expire refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tgz$ 43200 100% 43200 43200 $43200 override-last 43200 override-lastmod override-expire refresh_pattern -i \.prz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.ppt$ 43200 100% 4320$ride-43200-100% refresh_0000 $ % 43200 override-lastmod override-expire refresh_patt ern -i \.swf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire override-lastmod override-pattern -i \30ride refresh_pattern -i \30. انقضا refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire

تنظیمات نشان داده شده در بالا فقط یک مثال است تا ماهیت را روشن کند. اکنون می توانید کارایی سرور پروکسی خود را بررسی کنید، مطمئناً افزایش می یابد.

نتیجه

سرور پراکسی Squid تنها سرور پراکسی محبوب نیست، سایرین نیز وجود دارند. اما همانطور که آمار نشان می دهد، اکثر مردم از این سرور پروکسی خاص استفاده می کنند، اما در عین حال، بسیاری از مبتدیان هنوز با تنظیمات مشکل دارند.

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

مرحله بعدی پیکربندی، نصب یک سرور پراکسی برای دسترسی کنترل شده به اینترنت است.

ما از سرور پروکسی SQUID3 برای این کار استفاده خواهیم کرد.

سرور را با دستور نصب کنید:

sudo apt-get install squid3

توجه: در نسخه های سرور Ununtu کمتر از 16، آدرس پوشه سرور پراکسی squid /etc/squid3، در سرور اوبونتو 16 آدرس پوشه سرور پروکسی squid است /etc/squid. هنگام تجویز مسیرها مراقب باشید. از نظر بصری، مسیر صحیح پوشه SQUID را می توان با استفاده از تأیید کرد.

فایل پیکربندی SQUID3 در این آدرس قرار دارد /etc/squid3/squid.conf، از آنجایی که این آموزش برای مبتدیان در نظر گرفته شده است و فایل پیکربندی بسیار بزرگ است و حاوی نظرات زیادی است، ما یک فایل پیکربندی جدید ایجاد می کنیم و فایل اصلی را با نام دیگری کپی می کنیم.

هنگامی که تصمیم گرفتید با گزینه های پیکربندی احتمالی SQUID3 بیشتر آشنا شوید، می توانید فایل اصلی را خودتان بازیابی کنید.

نام فایل اصلی را تغییر دهید squid3.confبه فایلی به نام squid3.conf.bac

sudo mv /etc/squid3 /squid.conf /etc/squid3 /squid.conf.bac

یک فایل پیکربندی خالی ایجاد کنید ماهی مرکب.conf:

sudo touch /etc/squid3/squid.conf

فایل پیکربندی را باز کنید:

sudo nano /etc/squid3 /squid.conf

متن تنظیمات زیر را در فایل قرار دهید:

پورت acl SSL_ports 443 پورت acl Safe_ports 80 # http پورت acl Safe_ports 21 # ftp پورت acl Safe_ports 443 # https پورت acl Safe_ports 70 # gopher acl Safe_ports port 210 #wais پورت acl Safe_ports 1025-65535 # پورت های ثبت نشده پورت پورت_ایمن acl 280 # http-mgmt پورت پورت_ایمن acl 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl localnet src 192.168.137.0/24 acl روش CONNECT CONNECT http_access deny !Safe_ports http_access انکار CONNECT !SSL_ports http_access به مدیر لوکال هاست اجازه می دهد http_access deny manager http_access اجازه لوکال هاست را می دهد http_access به شبکه محلی اجازه می دهد http_access همه را رد کنید http_port 192.168.137.1:3128 رهگیری cache_dir ufs /var/spool/squid3 2048 16 256 حداکثر_ابجکت_اندازه 4 مگابایت Maximum_object_size_in_Memory 512 KB cache_mem 1024 مگابایت Access_log daemon:/var/log/squid3 /access.log squid logfile_rotate 31 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320

سرور اوبونتو 15: فایل پیکربندی اولیه پروکسی SQUID

آنچه در پیکربندی اصلی تغییر دادیم:

  • acl localnet src 192.168.137.0/24 - محدوده شبکه محلی ما را نشان می دهد.
  • http_port 192.168.137.1:3128 intercept - یک سرور پروکسی شفاف را در پورت 3128 باز کرد، در حالت "شفاف" روی کلاینت ها، نیازی به پیکربندی آدرس سرور پراکسی ندارید.
  • cache_dir ufs /var/spool/squid3 2048 16 256 - تنظیمات استفاده از حافظه پنهان را مشخص کنید. بسته به نسخه سرور خود به مسیر پوشه SQUID توجه کنید.
  • Maximum_object_size 4 مگابایت - حداقل اندازه فایل کش.
  • Maximum_object_size_in_memory 512 KB — حداکثر اندازه یک شی قابل ذخیره در حافظه RAM.
  • cache_mem 1024 مگابایت - مقدار مجاز حافظه برای ذخیره کش.
  • Access_log daemon:/var/log/squid3 /access.log squid - ورود به سیستم را فعال کنید. بسته به نسخه سرور خود به مسیر پوشه SQUID توجه کنید.
  • logfile_rotate 31 - دوره ذخیره سازی فایل لاگ.

تمام پارامترهای دیگر در فایل پیکربندی اصلی کنار گذاشته شده اند - بدون تغییر.

بیایید قبل از راه اندازی مجدد سرویس، فایل پیکربندی را بررسی کنیم:

چک sudo squid3 -k

اگر دستور بدون خروجی کار کند هیچ خطایی وجود ندارد وگرنه خروجی را مطالعه کرده و خطاها را اصلاح می کنیم.

برای اعمال تغییرات، سرویس squid را مجددا راه اندازی کنید:

راه اندازی مجدد سرویس sudo squid3

فایل ایجاد شده را باز کنید /etc/natو تغییر مسیر ترافیک http را از طریق سرور پراکسی squid خود مشخص کنید:

sudo nano /etc/nat

موارد زیر را در انتهای فایل اضافه کنید:

# wrap http در پروکسی iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.137.0 /24 -p tcp -m چند پورت --dport 80,8080 -j DNAT --به 192.168.137.1 :3128

سرور اوبونتو: راه اندازی Squid

سرور را مجددا راه اندازی می کنیم.

سرور پروکسی Squid با موفقیت پیکربندی شد.

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

برترین مقالات مرتبط