Tag Archives: cache

Mikrotik + Squid transparent cache server

در این پست برای راه اندازی کش سرور Squid و انتقال ترافیک میکروتیک بر روی آن به صورت سریع توضیح می دهیم.

این تظیمات کامل و Customize  شده نیستند و فقط این سرویس رو فعال می کنه . در پست های بعدی نحوه صحیح کانفیگ Squid  و mikrotik رو هم توضیح میدم.

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

Gateway IP = 172.16.1.1
MIKROTIK LAN IP = 10.0.0.1
SQUID LAN IP = 172.16.2.1

تنظیمات رو طوری باید انجام بدیم که تمامی درخواست های روی پورت 80 به سرور Squid انتقال پیدا کنه و از اونجا transfer بشه

تنظیمات به دو بخش تقسیم میشه

  1. تنظیمات میکروتیک

  2.  تنظیمات Squid

  1. تنظیمات میکروتیک

میکروتیک دارای 3 interface  هست

(به شبکه داخلی متصل است) ether1 = 10.0.0.1 (به interface Squid متصل است) ether2 = 172.16.2.2 (به gateway اینترنت متصل است) ether3 = 172.16.1.2

حالا همونطوری که تو توضیحات گفتم باید پورت 80 رو به سمت Squid هدایت کنیم

/ip firewall nat add action=dst-nat chain=dstnat disabled=no dst-port=80 protocol=tcp to-addresses=172.16.2.1 to-ports=8080

( آی پی 192.168.2.1 همان آی پی سرور Squid هست )

« توجه داشته باشید که این کانفیگ رو باید در کنار کانفیگ های قبلی اضافه کنید »

تنظیمات Squid

 سرور Squid هم دارای 2 interface هست که یکی برای ارتباط با سرور میکروتیک و یکی برای ارتباط خود سرور به اینترنت

( برای ارتباط مستقیم با میکروتیک ) eth0 = 172.16.2.1 ( برای ارتباط مستقیم با  اینترنت ) eth0 = 172.16.1.3

از اونجایی که در اول پست هم توضیح دادم قصد ما آموزش تنظیمات Squid نیست، بلکه می خواهیم نحوه ارتباط این دو رو توضیح بدیم . به طور خلاصه ما باید تنظیمات Squid رو به حالت یک Transparent Cache Server تنظیم کنیم تا سیستم Caching  اختلالی در روند آی پی ها نداشته باشه.

برای این کار هم کافیه فقط خط زیر رو در مسیر /etc/squid/squid.conf تغییر بدید تا روی پورت 8080 و به شکل transparent در بیاد

# PORT and Transparent Option http_port 8080 transparent

برای اینکه در لینوکس بتونیم به پورت 8080 دسترسی داشته باشیم باید در firewall این سطح دسترسی رو اضافه کنیم ، پس کافیه این خط رو در آدرس فایل /etc/rc.local  اضافه کنیم تا در هربار بوت شدن سیستم این دستور اعمال بشه

iptables -t nat -A PREROUTING -i eth0 -p tcp –dport 80 -j DNAT –to 172.16.2.1:8080

در این دستور eth0 همان interface ارتباط با میکروتیک است

حالا با دستور زیر میتونید ترافیک عبوری از سرور Squid خودتونو ببینید

tail -f /var/log/squid/access.log

این نوع کانفیگ باعث میشه شما بتونید با همون آی پی که میکروتیک به شما در اینترنت اختصاص میده به وب گردی بپردازین و مشکلی با NAT شدن IP نداشته باشید

دوستتون دارم
عرفان