اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نصب و راه اندازی Dante Socks5 Proxy در اوبونتو/دبیان

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نصب و راه اندازی Dante Socks5 Proxy در اوبونتو/دبیان

    ابزار Dante یک سرور رایگان SOCKS و محصول انعطاف پذیر در لینوکس میباشد که توسط Inferno Nettverk طراحی گردیده که میتوان برای ارتباطات امن و راحت شبکه مورد استفاده قرار بگیرد. این محصول ترکیبی از یک سرور و یک کلاینت SOCKS است که از RFC1928 و سایر استاندارهای مربوطه بهره برده است. Dante یک سرور ساکس اوپن سورس است که میتوان آنرا به همراه تعداد زیادی نرم افزارهای مربوط شبکه که به صورت پیش فرض پیشتیبانی از SOCKS در آنها تعبیه شده، استفاده کرد، مانند اکثر مرورگرهای وب، ترمینال ها، برنامه های مربوط به چت (مانند تلگرام) و ...

    خوشبختانه Dante توسط 100 شرکت و سازمان های بسیار بزرگ بین المللی مورد استفاده قرار گرفته که هر دو با عنوان یک Proxy Server استاندارد یا یک سرور Reverse Proxy از آن استفاده میکنند. ماژول های پولی زیادی برای سرورهای Dante موجود است که برای افزایش کارایی آن میتوان مورد استفاده قرار داد. اطلاعات شما از طریق سرور پراکسی Danted مسیردهی خواهد شد و قبل از اینکه به مقصد شما برسد یک IP Address اختیاری ایجاد میشود. پروکسی سرور SOCKS یک Proxy عمومی میباشد و تقریبا هر اپلیکیشنی که نیاز به اجرای SOCKS دارد را پشتیبانی میکند. سرور SOCKS به صورت پیش فرض روی پورت 1080 در حال lissten است. کلاینت SOCKS درخواست خود را در غالب یک درخواست SOCKS ارسال میکند که به این معناست که همه ترافیک به سمت سرور SOCKS روی پورت 1080 ریدایرکت خواهد شد.

    سرور SOCKS Donte مزایای بسیاری دارد، مانند امنیت، TCP/IP Terminatoin که در حقیقت هیچ ارتباط مستقیمی بین درون هاست ها و خارج از شبکه مشتری نخواهد بود. این سرور به کنترل منابع شامل پهنای باند، درخواست ها و دیباگ درباره اطلاعات هاست و اطلاعات منتقل شده کمک میکند. در اینجا به نحوه نصب و استفاده از سرور پراکسی SOCKS5 با استفاده از Donte روی سیستم عامل اوبونتو و دبیان خواهیم پرداخت. پیش نیازهای نصب Dante Socks5 Proxy در لینوکس به شرح زیر میباشد.


    پیش نیازها
    • خرید سرور مجازی لینوکس از ناسا هاست
    • یک سرور لینوکس (ترجیحا Debian 9 یا Ubuntu 18.04)
    • دسترسی SSH با اکانت root

    همچنین توصیه میشود مطالعه کنید :

    آموزش نصب Debian 10 (سرور و دسکتاپ)

    آموزش نصب Ubuntu 20.04 (به زودی)

    نحوه نصب و راه اندازی VPN Server L2TP در لینوکس




    مرحله 1 : نصب Dante در Ubuntu/Debian

    برای نصب پراکسی سرور Dante از ریپازیتوری APT دستورات زیر را اجرا کنید.
    کد PHP:
    # apt update
    # apt install dante-server 
    وقتی نصب به پایان رسید، برای راه اندازی سرویس Danted و start شدن اتوماتیک آن در زمان Boot سیستم دستور زیر را اجرا کنید.
    کد PHP:
    # systemctl start danted
    # systemctl enable danted 
    هنگام start کردن سرویس Danted شما با یک خطایی مواجه خواهید شد که به دلیل این میباشد که Dante هنوز کانفیگ نشده است و جای نگرانی نیست. در ادامه بعد از انجام تنظیمات وقتی سرویس Dante را restart کنیم، این خطا برطرف خواهد شد.
    بررسی وضعیت سرویس danted در اوبونتو و دبیان







    برای بررسی ورژن Dante دستور زیر را اجرا کنید.
    کد PHP:
    # danted -v
    Dante v1.4.2Copyright (c1997 2014 Inferno Nettverk A/SNorway 


    مرحله 2 : تنظیمات Dante در لینوکس

    ابتدا باید اینترفیس های شبکه سرور را بررسی کنیم. برای این کار از دستور ifconfig یا ip addr show استفاده میکنیم. در مثال زیر اینترفیس شبکه من ens33 میباشد.
    نصب و راه اندازی پراکسی سرور dante در اوبونتو و دبیان








    قبل از اینکه تغییراتی در کانفیگ فایل Dante ایجاد کنیم، میبایست از فایل تنظیمات مان یک بک آپ بگیریم، زیرا در این فایل کانفیگ، توضیحاتی درباره تنظیمات هر خط وجود دارد که شاید بعدها نیاز شود.
    کد PHP:
    # mv /etc/danted.conf /etc/danted.conf.bak 
    سپس با استفاده از یک ادیتور متن فایل تنظیمات Dante را به جهت ویرایش باز میکنیم.
    کد PHP:
    # vim /etc/danted.conf 
    تنظیمات زیر را درون فایل danted.conf کپی پیست کنید.
    کد PHP:
    logoutput: /var/log/socks.log
    internal
    ens33 port 1080
    external
    ens33
    clientmethod
    none
    socksmethod
    none
    user
    .privilegedroot
    user
    .notprivilegednobody

    client pass 
    {
    from0.0.0.0/0 to0.0.0.0/0
    log
    error connect disconnect
    }
    client block {
    from0.0.0.0/0 to0.0.0.0/0
    log
    connect error
    }
    socks pass {
    from0.0.0.0/0 to0.0.0.0/0
    log
    error connect disconnect
    }
    socks block {
    from0.0.0.0/0 to0.0.0.0/0
    log
    connect error


    نکته : در صورتی که اینترفیس شبکه شما eth0 نمی باشد، نام اینترفیس شبکه سرور خود را در بخش internal و external جایگزین کنید. همچنین شماره پورت دلخواه خود را میتوانید در بخش port وارد کنید.

    کد PHP:
    # socksmethod: none // for non-authentication
    socksmethodusername

    socks pass 
    {
    from0.0.0.0/0 to0.0.0.0/0
    command
    bind connect udpassociate
    log
    error connect disconnect
    socksmethod
    username

    نصب و راه اندازی سرور پراکسی با dante در لینوکس








    اکنون سرویس Dante را restart کنید و وضعیت سرویس را به جهت بررسی نداشتن خطا در تنظیمات چک کنید.
    کد PHP:
    # systemctl restart danted
    # systemctl status danted 


    تست Dante Socks5

    از دستور curl با فرمت زیر برای تست سرویس Dante استفاده میکنیم.
    کد PHP:
    # curl -x socks5://<your_ip_server>:<your_danted_port> ifconfig.co 

    نمونه خروجی دستور :
    کد PHP:
    # curl -x socks5://10.0.0.1:1080 ifconfig.co
    10.0.0.1 
    در صورتیکه هنگام تست، خطایی مشاهده کردید، شما میتوانید لاگ های سرویس Danted را از مسیر /var/log/socks.log مشاهده کنید.



    مرحله 3 : محدود کردن دسترسی

    شما میتوانید دسترسی به پراکسی سرور را با استفاده از username و password محدود کنید. فایل تنظیمات Danted را از مسیر /etc/danted.conf باز کنید و همانند تصویر زیر، socksmethod ها را برابر با username قرار دهید.

    عکس



    تنظیمات را ذخیره کنید و سرویس Danted را restart کنید.
    کد PHP:
    # systemctl restart danted 
    برای ایجاد اکانت کاربری و تعریف پسورد برای آن اکانت دستور زیر را اجرا کنید.
    کد PHP:
    # useradd linuxzone -r
    # passwd nasahost123 
    برای تست لاگین اکانتی که ایجاد کردید، از دستور curl با فرمت زیر استفاده کنید.
    کد PHP:
    curl -x socks5://<your_username>:<your_password>@<your_ip_server>:< your_danted_port> ifconfig.co 

    نمونه خروجی دستور :
    کد PHP:
    # curl -x socks5://linuxzone:nasahost123@10.0.0.1:1080 ifconfig.co
    10.0.0.1 

    برای مشاهده لاگ ها هم از دستور tail استفاده کنید.
    کد PHP:
    # tail -10 /var/log/socks.log
    Apr 19 12:15:16 (1555701316.599506danted[1477]: infopass(1): tcp/accept [: 203.0.113.1.36730 10.0.0.1.1080
    Apr 19 12
    :15:16 (1555701316.625405danted[1479]: infopass(1): tcp/connect [: username%linuxzone@203.0.113.1.36730 10.0.0.1.1080 -> 10.0.0.1.36730 104.28.19.94.80
    Apr 19 12
    :15:16 (1555701316.808180danted[1479]: infopass(1): tcp/connect ]: 363 -> username%linuxzone@203.0.113.1.36730 10.0.0.1.1080 -> 7575 -> 10.0.0.1.36730 104.28.19.94.80 -> 363local client closedSession duration0s
    Apr 19 12
    :15:16 (1555701316.808231danted[1479]: infopass(1): tcp/accept ]: 363 -> 203.0.113.1.36730 10.0.0.1.1080 -> 75local client closedSession duration0s
    Apr 19 12
    :15:20 (1555701320.794622danted[1596]: infopass(1): tcp/accept [: 203.0.113.1.36732 10.0.0.1.1080
    Apr 19 12
    :15:20 (1555701320.796002danted[1596]: infoblock(1): tcp/accept ]: 203.0.113.1.36732 10.0.0.1.1080error after reading 4 bytes in 0 secondsclient offered no acceptable authentication method 

    محدود کردن دسترسی توسط IP Address

    در تنظیمات قبلی، ما به همه IP آدرس ها دسترسی اتصال به سرور را دادیم. در این مرحله، ما میخواهیم دسترسی پراکسی سرور Dante را به یک IP آدرس خاص یا چند IP آدس محدود کنیم.

    فایل تنظیمات Danted را باز کنید و بخش client pass را همانند زیر تغییر دهید.
    کد PHP:
    client pass {
    from203.0.113.1/32 to0.0.0.0/0
    log
    error connect disconnect

    آدرس 203.0.113.1/32 تنها ip میباشد که شما میخواهید به سرور پروکسی شما دسترسی داشته باشد.

    اگر شما میخواهید مجددا تنها یک ip دیگر را اضافه کنید، فقط بخش client pass را مجددا تکرار کنید.
    کد PHP:
    client pass {
    from203.0.113.1/32 to0.0.0.0/0
    log
    error connect disconnect
    }
    client pass {
    from198.51.100.1/32 to0.0.0.0/0
    log
    error connect disconnect

    تغییرات را ذخیره و سرویس Danted را restart کنید.
    کد PHP:
    # systemctl restart danted 
    اگر شما میخواهید یک رنج از ip address ها را به سرور proxy دسترسی دهید، در بلاک ip قبل از اسلش (/)، رنج ip آدرس خود را وارد کنید.


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

    در صورت استفاده از username و password :
    کد PHP:
    # curl -x socks5://linuxzone:nasahost123@10.0.0.1:1080 ifconfig.co
    curl: (7Unable to receive initial SOCKS5 response

    در صورتیکه از username و password استفاده نکنید :
    کد PHP:
    # curl -x socks5://10.0.0.1:1080 ifconfig.co
    curl: (7Unable to receive initial SOCKS5 response


    خلاصه

    اکنون پراکسی سرور Dante شما برای استفاده در دبیان و اوبونتو آماده میباشد. همچنین در این مقاله ما نحوه محدود کردن سرور Dante به username / password و ip address را به شما یاد دادیم. در صورتیکه تجربه ی جدیدی خارج از توضیحات ما به دست آوردید، لطفا آنرا با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-08-2021, 11:56 PM.

    #2
    سلام
    ممنون از آموزش خوبتون
    من یه سرور آمریکا دارم م این رو انجام دادم و با موفقیت انجام شد ظاهرا
    اما مشکلی که هست کلایت ظاهرا با ip ایران نمیتونه به سرور متصل بشه!
    به عنوان مثال من وقتی دستور curl رو از ترمینا خودم با ip ایران میزنم خطا میده و به سرور متصل نمیشه
    اما وقتی با ssh وصل میشم به vps که در آلمان دارم و از اون curl رو میزنم متصل میشه و ریسپانس میده و همه چی اوکیه
    شما میدونید مشکل چیه؟ راه حل داره؟ ممنون میشم راهنمایی کنید.

    کامنت


      #3
      نوشته شده توسط AliINL مشاهده پست
      سلام
      ممنون از آموزش خوبتون
      من یه سرور آمریکا دارم م این رو انجام دادم و با موفقیت انجام شد ظاهرا
      اما مشکلی که هست کلایت ظاهرا با ip ایران نمیتونه به سرور متصل بشه!
      به عنوان مثال من وقتی دستور curl رو از ترمینا خودم با ip ایران میزنم خطا میده و به سرور متصل نمیشه
      اما وقتی با ssh وصل میشم به vps که در آلمان دارم و از اون curl رو میزنم متصل میشه و ریسپانس میده و همه چی اوکیه
      شما میدونید مشکل چیه؟ راه حل داره؟ ممنون میشم راهنمایی کنید.
      سرور شما در ایران فیلتره...

      کامنت


        #4
        سلام مهندس
        کد PHP:
        root@CHECK-1:~# curl -x socks5://<IP>:<1080> ifconfig.co
        -bashsyntax error near unexpected token `1080'​ 



        من این ارورو میگیرم و کار نمیکنه پروکسی. میشه کمک کنین؟
        آخرین ویرایش توسط Habili; در تاریخ/ساعت 07-02-2023, 08:36 PM.

        کامنت

        درباره انجمن منطقه لینوکسی ها

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

        شبکه های اجتماعی
        در حال انجام ...
        X