پروتکل ساکس Socks یک راه حل ایده آل برای تونل زدن ایمن در زمانی است که حکومت همه پورت های استاندارد VPN را می بندد چرا که ساکس به سادگی روی هر پورتی از سرور (از جمله پورت 80) قابل تنظیم است. بنابراین حکومت برای خنثی کردن این روش فقط دو راه دارد: (۱) بستن پورت 80 (که مساوی است با خاموش کردن کل اینترنت) (۲) استفاده از تکنیک های DPI ) Deep Packet Inspection) یا بررسی عمقی داده ها که بسیار زمانبر و گران است و در ابعاد ملی به سختی قابل اجراست.
در این آموزش فرض بر این است که شما به روت یک سرور (واقعی یا مجازی) با سیستم عامل لینوکس یا FreeBSD از طریق پروتکل SSH دسترسی دارید و می خواهید از این سرور فقط برای پروکسی ساکس استفاده کنید. مرورگر شما فایرفاکس و کلاینت شما هم لینوکس یا مک است. دستورات زیر خصوصا برای دبیان/اوبونتو ارائه شده اما با تغییر مناسب برای روایت های دیگر هم قابل انجام است.
روش تنظیم سرور:
به سرور ssh کنید. اگر نانو نصب نشده آن را نصب کنید و پورت 80 را از دست دیمون آپاچی خلاص کنید. همین طور اگر bind9 و Sendmail نصب شده آن را هم ریمو کنید و کلی رم را صرفه جویی کنید.
apt-get install nano
apt-get --purge remove apache2
apt-get --purge remove bind9
apt-get --purge remove sendmail
update-rc.d -f apache2 remove
update-rc.d -f bind9 remove
update-rc.d -f sendmail remove
pkill apache2
pkill bind9
pkill sendmail
فایل تنظیمات دیمون سرور ssh را باز کنید:
nano /etc/ssh/sshd_config
حال در اوایل sshd_config (حدود خط پنجم) پورت پیشفرض را تغییر دهید به 80 یعنی به جای
Port 22
بگذارید
Port 80
با زدن ctl+x تغییر را ذخیره کنید و خارج شوید.
دیمون ssh را ریستارت کنید:
service ssh restart
اگر با ورژن پایین دبیان یا روایت دیگری از لینوکس کار می کنید که فرمان service را نمی شناسد بزنید:
/etc/init.d/ssh restart
کاربری با اسم دلخواه اضافه کنید چون نمی خواهید که یوزر پراکسی شما با root به پروکسی کانکت شود. مثلا:
adduser user1
پسورد انتخابی تان برای user1 را دوبار بدهید و آن را به خاطر داشته باشید. اینتر بزنید و اطلاعات را تایید کنید تا کاربر ثبت شود.
در اینجا کار تنظیم سرور تمام می شود.
------------------------------------------------------------------
اتصال به سرور از PC با سیستم عامل لینوکس
باید پروکسی فایرفاکس را برای استفاده از Socks تنظیم کنید. به این منظور از منوبار فایرفاکس بروید به
Edit > Preferences
و از تب Advanced تب Network و دکمه Settings را بزنید و سپس بر اساس راهنمایی شکل زیر عمل کنید.
ترمینال (کنسول) را باز کنید و خط فرمان زیر را تایپ کنید (البته به جای 11.22.33.44 آی پی سرور خودتان را بگذارید):
ssh -TfnN2 -D 9999 user1@11.22.33.44
و پسورد مربوط به user1 را وارد کنید
حال اگر فایرفاکس را استارت کنید و What is My IP را بزنید می بینید که گوگل آی پی سرور شما یعنی (فرضا) 11.22.33.44 را نشان می دهد. حتی اگر ترمینال را ببندید همچنان فایرفاکس از تونلی که زده شده استفاده خواهد کرد.
البته مسلما راه های دیگری مثل tsocks (http://tsocks.sourceforge.net/) هم برای اتصال از کلاینت به سرور هست. اما من اینجا یک راه ساده را شرح دادم.
-------
برای اتصال به سرور از کامپیوتری با سیستم عامل ویندوز می توانید مطابق این آموزش عمل کنید.