نصب و راه اندازی Socks5 Proxy در لینوکس ساده است، در این مقاله نحوه کانفیگ تنظیمات پروکسی ساکس در لینوکس اوبونتو را به شما عزیزان آموزش خواهیم داد، همراه داتیس نتورک باشید.
راه اندازی Socks5 در لینوکس
SOCKS proxy یک تونل SSH است که در آن اپلیکیشن مشخصی ترافیک خودش را از تونل به سمت سرور پراکسی هدایت میکند، سپس سرور پراکسی ترافیک را به سمت اینترنت عمومی هدایت میکند.
سرور پراکسی بین کلاینت و شبکه اینترنت قرار میگیرد.
ساکس یک پروتکل اینترنت است که بستههای شبکه را بین کلاینت و سرور به وسیله پراکسی سرور انتقال میدهد.
SOCKS5 همچنین امکان اصالتسنجی کاربران را نیز ارائه میکند تا تنها کاربران شناسایی شده بتوانند از سرویس استفاده کنند.
آشنایی با ابزار Dante Socks5 Proxy
ابزار Dante یک سرور رایگان SOCKS و محصول انعطاف پذیر در لینوکس میباشد که توسط Inferno Nettverk طراحی گردیده که میتوان برای ارتباطات امن و راحت شبکه مورد استفاده قرار بگیرد.
این محصول ترکیبی از یک سرور و یک کلاینت SOCKS است که از RFC1928 و سایر استاندارهای مربوطه بهره برده است.
Dante یک سرور ساکس اوپن سورس است که میتوان آنرا به همراه تعداد زیادی نرم افزارهای مربوط شبکه که به صورت پیش فرض پیشتیبانی از SOCKS در آنها تعبیه شده، استفاده کرد، مانند اکثر مرورگرهای وب، ترمینال ها، برنامه های مربوط به چت (مانند تلگرام) و …
سرور SOCKS Donte مزایای بسیاری دارد، مانند امنیت، TCP/IP Terminatoin که در حقیقت هیچ ارتباط مستقیمی بین درون هاست ها و خارج از شبکه مشتری نخواهد بود. این سرور به کنترل منابع شامل پهنای باند، درخواست ها و دیباگ درباره اطلاعات هاست و اطلاعات منتقل شده کمک میکند.
خوشبختانه Dante توسط 100 شرکت و سازمان های بسیار بزرگ بین المللی مورد استفاده قرار گرفته که هر دو با عنوان یک Proxy Server استاندارد یا یک سرور Reverse Proxy از آن استفاده میکنند.
ماژول های پولی زیادی برای سرورهای Dante موجود است که برای افزایش کارایی آن میتوان مورد استفاده قرار داد. اطلاعات شما از طریق سرور پراکسی Danted مسیردهی خواهد شد و قبل از اینکه به مقصد شما برسد یک IP Address اختیاری ایجاد میشود. پروکسی سرور SOCKS یک Proxy عمومی میباشد و تقریبا هر اپلیکیشنی که نیاز به اجرای SOCKS دارد را پشتیبانی میکند.
سرور SOCKS به صورت پیش فرض روی پورت 1080 در حال lissten است.
کلاینت SOCKS درخواست خود را در غالب یک درخواست SOCKS ارسال میکند که به این معناست که همه ترافیک به سمت سرور SOCKS روی پورت 1080 ریدایرکت خواهد شد.
در ادامه این مقاله قصد داریم نحوه راه اندازی و کانفیگ پروکسی ساکس 5 یا Socks5 Proxy در لینوکس اوبونتو را به شما عزیزان آموزش دهیم، همراه داتیس نتورک باشید.
پیش نیازها
- خرید سرور مجازی لینوکس ترجیحا Debian 9 یا Ubuntu 18.04
- دسترسی SSH با اکانت root
مراحل راه اندازی Socks5 در لینوکس
مراحل زیر را با دقت و ترتیب انجام دهید و در هر مرحله به مشکل برخورد کردید در قسمت نظرات مطرح کنید.
مرحله 1 : نصب Dante در Ubuntu/Debian
برای نصب پراکسی سرور Dante از ریپازیتوری APT دستورات زیر را اجرا کنید.
# apt update # apt install dante-server
وقتی نصب به پایان رسید، برای راه اندازی سرویس Danted و start شدن اتوماتیک آن در زمان Boot سیستم دستور زیر را اجرا کنید.
# systemctl start danted # systemctl enable danted
هنگام start کردن سرویس Danted شما با یک خطایی مواجه خواهید شد که به دلیل این میباشد که Dante هنوز کانفیگ نشده است و جای نگرانی نیست.
در ادامه بعد از انجام تنظیمات وقتی سرویس Dante را restart کنیم، این خطا برطرف خواهد شد.
برای بررسی ورژن Dante دستور زیر را اجرا کنید.
# danted -v Dante v1.4.2. Copyright (c) 1997 - 2014 Inferno Nettverk A/S, Norway
مرحله 2 : تنظیمات Dante در لینوکس
ابتدا باید اینترفیس های شبکه سرور را بررسی کنیم.
برای این کار از دستور ifconfig یا ip addr show استفاده میکنیم.
در مثال زیر اینترفیس شبکه من ens33 میباشد.
در ادامه مراحل کانفیگ Socks5 در لینوکس:
قبل از اینکه تغییراتی در کانفیگ فایل Dante ایجاد کنیم، میبایست از فایل تنظیمات مان یک بک آپ بگیریم.
زیرا در این فایل کانفیگ، توضیحاتی درباره تنظیمات هر خط وجود دارد که شاید بعدها نیاز شود.
# mv /etc/danted.conf /etc/danted.conf.bak
سپس با استفاده از یک ادیتور متن فایل تنظیمات Dante را به جهت ویرایش باز میکنیم.
# vim /etc/danted.conf
تنظیمات زیر را درون فایل danted.conf کپی پیست کنید.
logoutput: /var/log/socks.log internal: ens33 port = 1080 external: ens33 clientmethod: none socksmethod: none user.privileged: root user.notprivileged: nobody client pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } client block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error } socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 log: error connect disconnect } socks block { from: 0.0.0.0/0 to: 0.0.0.0/0 log: connect error }
نکته : در صورتی که اینترفیس شبکه شما eth0 نمی باشد، نام اینترفیس شبکه سرور خود را در بخش internal و external جایگزین کنید.
همچنین شماره پورت دلخواه خود را میتوانید در بخش port وارد کنید.
# socksmethod: none // for non-authentication socksmethod: username socks pass { from: 0.0.0.0/0 to: 0.0.0.0/0 command: bind connect udpassociate log: error connect disconnect socksmethod: username }
اکنون سرویس Dante را restart کنید و وضعیت سرویس را به جهت بررسی نداشتن خطا در تنظیمات چک کنید.
# systemctl restart danted # systemctl status danted
تست Dante Socks5
از دستور curl با فرمت زیر برای تست سرویس Dante استفاده میکنیم.
# curl -x socks5://: ifconfig.co
نمونه خروجی دستور :
# 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 کنید.
# systemctl restart danted
در ادامه مراحل کانفیگ Socks5 در لینوکس:
برای ایجاد اکانت کاربری و تعریف پسورد برای آن اکانت دستور زیر را اجرا کنید.
# useradd linuxzone -r # passwd nasahost123
برای تست لاگین اکانتی که ایجاد کردید، از دستور curl با فرمت زیر استفاده کنید.
curl -x socks5://:@:< your_danted_port> ifconfig.co
نمونه خروجی دستور :
# curl -x socks5://linuxzone:nasahost123@10.0.0.1:1080 ifconfig.co 10.0.0.1
برای مشاهده لاگ ها هم از دستور tail استفاده کنید.
# tail -10 /var/log/socks.log Apr 19 12:15:16 (1555701316.599506) danted[1477]: info: pass(1): tcp/accept [: 203.0.113.1.36730 10.0.0.1.1080 Apr 19 12:15:16 (1555701316.625405) danted[1479]: info: pass(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.808180) danted[1479]: info: pass(1): tcp/connect ]: 363 -> username%linuxzone@203.0.113.1.36730 10.0.0.1.1080 -> 75, 75 -> 10.0.0.1.36730 104.28.19.94.80 -> 363: local client closed. Session duration: 0s Apr 19 12:15:16 (1555701316.808231) danted[1479]: info: pass(1): tcp/accept ]: 363 -> 203.0.113.1.36730 10.0.0.1.1080 -> 75: local client closed. Session duration: 0s Apr 19 12:15:20 (1555701320.794622) danted[1596]: info: pass(1): tcp/accept [: 203.0.113.1.36732 10.0.0.1.1080 Apr 19 12:15:20 (1555701320.796002) danted[1596]: info: block(1): tcp/accept ]: 203.0.113.1.36732 10.0.0.1.1080: error after reading 4 bytes in 0 seconds: client offered no acceptable authentication method
محدود کردن دسترسی توسط IP Address
در تنظیمات قبلی، ما به همه IP آدرس ها دسترسی اتصال به سرور را دادیم.
در این مرحله، ما میخواهیم دسترسی پراکسی سرور Dante را به یک IP آدرس خاص یا چند IP آدس محدود کنیم.
فایل تنظیمات Danted را باز کنید و بخش client pass را همانند زیر تغییر دهید.
client pass { from: 203.0.113.1/32 to: 0.0.0.0/0 log: error connect disconnect }
آدرس 203.0.113.1/32 تنها ip میباشد که شما میخواهید به سرور پروکسی شما دسترسی داشته باشد.
اگر شما میخواهید مجددا تنها یک ip دیگر را اضافه کنید، فقط بخش client pass را مجددا تکرار کنید.
client pass { from: 203.0.113.1/32 to: 0.0.0.0/0 log: error connect disconnect } client pass { from: 198.51.100.1/32 to: 0.0.0.0/0 log: error connect disconnect }
در ادامه مراحل کانفیگ Socks5 در لینوکس:
تغییرات را ذخیره و سرویس Danted را restart کنید.
# systemctl restart danted
اگر شما میخواهید یک رنج از ip address ها را به سرور proxy دسترسی دهید، در بلاک ip قبل از اسلش (/)، رنج ip آدرس خود را وارد کنید.
برای تست لاگین از یک ip که در رنج ip های تعریف شده شما نیست، از دستور زیر استفاده کنید.
در صورت استفاده از username و password :
# curl -x socks5://linuxzone:nasahost123@10.0.0.1:1080 ifconfig.co curl: (7) Unable to receive initial SOCKS5 response.
در صورتیکه از username و password استفاده نکنید :
# curl -x socks5://10.0.0.1:1080 ifconfig.co curl: (7) Unable to receive initial SOCKS5 response.
جمع بندی
با موفقیت توانستیم یک سرور پروکسی ساکس در لینوکس ایجاد کنیم و تنظیمات جانبی را نیز مدیریت کنیم.
امیدواریم مقاله آموزش کانفیگ و راه اندازی ساکس 5 در لینوکس مفید بوده باشد.
داتیس نتورک را در شبکه هایاجتماعی دنبال کنید.
سلام، مرسی بابت توضحیات، بهترین و گویاترین متن و آموزش رو بین همهی سایتای فارسی دارید.
برای خرید سرور مجازی، فرقی داره داخلی باشه یا خارجی؟ یا باید حتماً سرور خارج از کشور باشه؟ اگه خارج از کشور باشه موقع قطعی اینترنت قطع نمیشه اتصالامون؟