آموزش های لینوکس کانفیگ و مدیریت سرور

آموزش نصب Squid,Tunnel در Centos

install_squid_b
Written by LearnSpot Group

سلام

پس از مدت ها با آموزشی دیگه در خدمت شما هستیم. در این اموزش قصد داریم ابتدا سرویس Squid رو در سرور کانفیگ کنیم و سپس به وسیله اون سرویس های STunnel و Zebeede(Tunnel Plus) رو در سرور راه اندازی کنیم.

سرور استفاده شده در این اموزش: CentOS 6.6  با معماری ۶۴بیت میباشد. با توجه به کاربرد بیشتر نسخه ۶۴بیتی ، این اموزش تنها برای این معماری تهیه شده است.

مرحله صفر) نصب پیشنیازها:

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

 

مرحله اول) نصب Squid:

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

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

 

مرحله دوم) نصب squid_radius_auth به منظور رادویس و تایید هویت به وسیله سیستم های اکانتینگ(IBSng و …)

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

اکنون پکیج squid_radius_auth در سرور شما باید بدون مشکل نصب شده باشد.دستور زیر را وارد کنید:

در فایل بالا بجای sunclone.cistron.nl ادرس سرور رادیوس(IBSng) و بجای testje سکرت secret IBSng رو وارد و سپس تغییرات رو ذخیره کنید.
سپس دستور زیر را واردکنید:

و خطوط زیر را به اون اضافه و سیو کنید:

سپس:

اکنون نصب squid به پایان رسید.

 

جهت نصب سرویس Tunnel plus دستورات زیر را به ترتیب وارد کنید:

سپس خطوط زیر را به ان اضافه کنید:

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

درصورتی که پس از وارد کردن دستور بالا ،خروجی به شما داده شد؛ قسمتی از مراحل را اشتباه انجام داده اید.

تنظیمات به پایان رسید.جهت نصب سرویس stunnel نیز دستورات زیر را وارد کنید:

سپس محتویات زیر را در ان کپی وسیو کنید:

سپس دستورات زیر را وارد کنید:

و با دو دستور زیر سرویس stunnel رو start و سرویس squid رو restart میکنیم:

برای اینکه سرویس های فوق که راه اندازی کرده اید موقع reboot سرور به صورت اتوماتیک اجرا شود میبایست دو دستور زیر را

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

جهت اتصال نیز برای اتصال به سرویس tunnelplus از پورت ۴۴۴ و جهت اتصال به stunnel از پورت ۸۰۸۰ استفاده کنید.

موفق باشید.

 

 

 

 

LearnSpot Group

About the author

LearnSpot Group

۳۶ Comments

  • سلام
    ممنونم که این آموزش قرار دادین مشکلی که من دارم داخل proxy checker که نیگاه میکنم با پیغام خطای زیر مواجه میشم.

    [۰۷:۰۷] Testing Started.
    Proxy Server
    Address: ********:۳۱۲۸
    Protocol: HTTPS
    Authentication: Basic
    Username: test

    [۰۷:۰۷] Starting: Test 1: Connection to the Proxy Server
    [۰۷:۰۷] IP Address: **********
    [۰۷:۰۷] Connection established
    [۰۷:۰۷] Test passed.
    [۰۷:۰۷] Starting: Test 2: Connection through the Proxy Server
    [۰۷:۳۷] Error : authorization on the proxy server failed.
    Please make sure that the username and password are correct.
    The error may also indicate that the proxy server requires NTLM authorization.
    The proxy server reply header is:
    HTTP/1.0 407 Proxy Authentication Required
    Server: squid/3.1.10
    Mime-Version: 1.0
    Date: Fri, 01 May 2015 20:40:18 GMT
    Content-Type: text/html
    Content-Length: 3223
    X-Squid-Error: ERR_CACHE_ACCESS_DENIED 0
    Vary: Accept-Language
    Content-Language: en
    Proxy-Authenticate: Basic realm=”DarkLoveProxyAccess”
    X-Cache: MISS from starport.localdomain
    X-Cache-Lookup: NONE from starport.localdomain:444
    Via: 1.0 starport.localdomain (squid/3.1.10)
    Connection: keep-alive
    [۰۷:۳۷] Test failed.
    [۰۷:۳۷] Testing Finished.

    در مرحله اول به سرور وصل میشم و پیغام Test passed میزنه.
    در مرحله بعد که میخواد authorization انجام بده پیغام خطا میده.
    در قسمت لاگ های IBSng هم که نیگاه میکنم پیغام Wrong password میده.

    • نیازی به تنظیمات فایروال ندارد با این حال میتوانید پورت های استفاده شده در squid را در سرور باز کنید.
      همچنین درصورتی که متصل نمیشود لاگ های proxyfire را بررسی نمایید

  • روی سنت او اس ۶ ۶۴بیت اکانتینگ مشکل داره و اگر دوتا یوزر مختلف همزمان به سرور وصل بشن کلی ارور میده.
    راهی برای این موضوع هست؟
    روی ۳۲ بیت من تست کردم این مشکل وجود نداشت.

    • سرور به اشتباه کانفیگ میکنید(squid) .تنظیمات squid.conf رو بررسی کنید
      ما از معماری ۶۴بیت استفاده میکنیم و بدون مشکل کارمیکند

      • بسیار ممنون از آموزشهای خوبتون
        و وقتی که میذارید . بنده مطالب زیادی یاد گرفتم.
        DNS رو تنظیم کردم که پیشفرض سرور بود و دو تا هم اضافه کردم
        که چهارتا ۸ و ۴٫۲٫۲٫۴ ولی همچنان فقط سایتهای https باز میشه
        که مس دود هم هستند ولی سایتهای عادی باز نمیشه و خطای زیر رو میگیرم

        Could not connect through proxy 127.0.0.1:8080 – Proxy server cannot establish a connection with the target, status code 403
        تنظیمات هم دقیقا از روی دستوری که در سایت هست رفتم . اسکویید رو نصب کردم و اس تانل . tunnel+ رو هم نصب کردم بازم فقط سایتهای HTTPS باز میشه .

        یه سوال دیگه : اگه بخوام به IBSng کاری نداشته باشم و ۱ یوزر روی سرور
        بتونه فقط لاگین کنه چکار باید بکنم ؟ و یوزر دیگه ای نتونه کانکت بشه . یعنی بشه
        سرور تک یوزره .

        پیشاپیش یکدنیا تشکر بابت وقت و مطالب خوبتون .

  • یه اشکال دیگه هم دارم … هر یوزر و پسوردی بزنم سایتهایی که https هستن رو باز میکنه ولی معمولی رو خیر
    و نمیدونم چرا هر یوزری باشه فرقی نمیکنه . در قسمت ادرس سرور رادیوس . آی پی خود سرور رو که روش IBSng نصب هست دادم ولی نشد

    • شما به صورت دستی بوسیله proxyfire به سرور متصل بشید و سپس لاگ ها رو بررسی کنید ببنید ارور مربوط به چی هست.
      وقتی که با هر یوزر بشه وصل شد به این معنی هست که رادیوس رو به اشتباه وارد کردید و یا در ibsng تنظیمات charge,ras رو بدرستی انجام ندادید.
      برای مثال اگر شما در فایل رادیوس squid یعنی /usr/local/squid/etc ادرس ای پی ۱۲۷٫۰٫۰٫۳ رو وارد کردید در ibsng نیز همین ای پی رو وارد کنید.

  • سلام
    با تشکر از آموزشتون
    من اسکوئید رو نصب کردم وبعد از تایپ دستور service squid start پیغام failed رو میده چکار کنم ؟
    در ضمن من روی وی پی اس centos6.6 پیاده کردم .

    • احتمالا مشکل از پورت هست بررسی کنید پورتی که درsquid.conf وارد شده باز باشه.همینطور لاگ ها رو میتونید در ادرس /var/log/squid ببینید مشکل از چی هست

  • سلام
    من میخواستم بدون استفاده از ibsng از طریق خود squid یوزر تعریف کنم بعد از پیاده کردن دستورات لازم باز squid l من start نشد واین error رو میده
    fatel: auth-parm basik program /user/bin/squid/ncsa-auth: (2) no such file or directory
    میتونید کمکم منید ؟
    البته این error مربوط به این خط از دستور می باشد :
    #This line defines the file holding the authentication details and also the program to check those details
    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/password

  • آقا http میزارم چورت ۴۴۴ این ارور را میده

    [۲۷:۰۳] Testing Started.
    Proxy Server
    Address: ۸۷٫۲۳۶٫۲۱۴٫۲۱:۴۴۴
    Protocol: HTTPS
    Authentication: Basic
    Username: tt

    [۲۷:۰۳] Starting: Test 1: Connection to the Proxy Server
    [۲۷:۰۳] IP Address: 87.236.214.21
    [۲۷:۰۳] Connection established
    [۲۷:۰۳] Test passed.
    [۲۷:۰۳] Starting: Test 2: Connection through the Proxy Server
    Error: the proxy server (Squid) is not configured to allow SSL tunnel to port 80.
    To fix the problem please find and comment the following line in the Squid
    configuration file (squid.conf):
    http_access deny CONNECT !SSL_ports
    The proxy server reply header is:
    HTTP/1.0 403 Forbidden
    Server: squid/3.1.23
    Mime-Version: 1.0
    Date: Sat, 29 Aug 2015 20:59:34 GMT
    Content-Type: text/html
    Content-Length: 3124
    X-Squid-Error: ERR_ACCESS_DENIED 0
    Vary: Accept-Language
    Content-Language: en
    X-Cache: MISS from localhost.localdomain
    X-Cache-Lookup: NONE from localhost.localdomain:3128
    Via: 1.0 localhost.localdomain (squid/3.1.23)
    Connection: keep-alive
    [۲۷:۰۳] Test failed.
    [۲۷:۰۳] Testing Finished.
    پورت ۸۰۸۰ این ارور را میده
    [۳۷:۵۶] Testing Started.
    Proxy Server
    Address: ۸۷٫۲۳۶٫۲۱۴٫۲۱:۸۰۸۰
    Protocol: HTTPS
    Authentication: Basic
    Username: tt

    [۳۷:۵۶] Starting: Test 1: Connection to the Proxy Server
    [۳۷:۵۶] IP Address: 87.236.214.21
    [۳۷:۵۶] Connection established
    [۳۷:۵۶] Test passed.
    [۳۷:۵۶] Starting: Test 2: Connection through the Proxy Server
    [۳۷:۵۶] Error : connection to the proxy server was closed unexpectedly.
    Please make sure that the proxy server protocol and address are correct.
    [۳۷:۵۶] Test failed.
    [۳۷:۵۶] Testing Finished.

  • nano config.zbd باید در پوشه zebedee-2.5.3 انجام بشه و دستور ./zebedee config.zbd همونجا انجام بشه ؟ چون در غیر این صورت واسه من ارور میده

  • میشه در مورد ارور زیر را هنمایی کنید؟
    بعد از زدن دستورmake OS=linux به مشکل میخورم.
    make OS=linux64 رو هم امتحان کردم!!!
    با تشکر
    gcc -pthread -Wall -O3 -DHAVE_PTHREADS -I. -I../blowfish-0.9.5a -I../zlib-1.2.3 -I../bzip2-1.0.3 -c -o zebedee.o zebedee.c
    zebedee.c: In function ‘makeListener’:
    zebedee.c:2462: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness
    /usr/include/sys/socket.h:119: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘acceptConnection’:
    zebedee.c:2624: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
    /usr/include/sys/socket.h:214: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘socketIsUsable’:
    zebedee.c:2734: warning: pointer targets in passing argument 3 of ‘getpeername’ differ in signedness
    /usr/include/sys/socket.h:133: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘checkPeerForSocket’:
    zebedee.c:4669: warning: pointer targets in passing argument 3 of ‘getpeername’ differ in signedness
    /usr/include/sys/socket.h:133: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘spawnHandler’:
    zebedee.c:4884: warning: pointer targets in passing argument 3 of ‘getsockname’ differ in signedness
    /usr/include/sys/socket.h:119: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘clientListener’:
    zebedee.c:5289: warning: pointer targets in passing argument 6 of ‘recvfrom’ differ in signedness
    /usr/include/sys/socket.h:166: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c:5354: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
    /usr/include/sys/socket.h:214: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘serverListener’:
    zebedee.c:6106: warning: pointer targets in passing argument 3 of ‘accept’ differ in signedness
    /usr/include/sys/socket.h:214: note: expected ‘socklen_t * __restrict__’ but argument is of type ‘int *’
    zebedee.c: In function ‘main’:
    zebedee.c:8065: warning: unused variable ‘serviceArgs’
    gcc -pthread -Wall -O3 -DHAVE_PTHREADS -I. -I../blowfish-0.9.5a -I../zlib-1.2.3 -I../bzip2-1.0.3 -c -o sha_func.o sha_func.c
    gcc -pthread -Wall -O3 -DHAVE_PTHREADS -I. -I../blowfish-0.9.5a -I../zlib-1.2.3 -I../bzip2-1.0.3 -c -o huge.o huge.c
    gcc -pthread -Wall -O3 -DHAVE_PTHREADS -I. -I../blowfish-0.9.5a -I../zlib-1.2.3 -I../bzip2-1.0.3 -o zebedee zebedee.o sha_func.o huge.o ../blowfish-0.9.5a/libblowfish.a ../zlib-1.2.3/libz.a ../bzip2-1.0.3/libbz2.a -lpthread
    gcc: ../zlib-1.2.3/libz.a: No such file or directory
    gcc: ../bzip2-1.0.3/libbz2.a: No such file or directory
    make: *** [zebedee] Error 1
    [root@onlineservers zebedee-2.5.3]# make OS=linux64
    gcc -pthread -m64 -Wall -O3 -DHAVE_PTHREADS -I. -I../blowfish-0.9.5a -I../zlib-1.2.3 -I../bzip2-1.0.3 -o zebedee zebedee.o sha_func.o huge.o ../blowfish-0.9.5a/libblowfish.a ../zlib-1.2.3/libz.a ../bzip2-1.0.3/libbz2.a -lpthread
    gcc: ../zlib-1.2.3/libz.a: No such file or directory
    gcc: ../bzip2-1.0.3/libbz2.a: No such file or directory
    make: *** [zebedee] Error 1

Leave a Comment