Dante দিয়ে সীমিত SOCKS5 সার্ভার
Dante 1.4.4-এ নির্দিষ্ট লিসেনার, একজন অনুমোদিত ক্লায়েন্ট ও একটি অনুমোদিত গন্তব্য সেট করুন এবং নিয়মের দুই ধাপ আলাদা বুঝুন।
Dante দুটি প্রবেশাধিকার পরীক্ষা করে: ক্লায়েন্ট নিয়ম আসা উৎসকে ঢুকতে দেয়, আর SOCKS নিয়ম চাওয়া গন্তব্য ও কমান্ড অনুমোদন করে। Dante 1.4.4-এর এই উদাহরণ একজন ক্লায়েন্টকে একটি নিয়ন্ত্রিত গন্তব্যের 443 পোর্টে যেতে দেয়।
সেবার পরিচয় ও ঠিকানা
ইনস্টলেশনে না থাকলে আলাদা কম-অধিকারের অ্যাকাউন্ট তৈরি করুন:
sudo useradd --system --no-create-home --shell /usr/sbin/nologin danteproxy
নিচের উচ্চ পোর্ট ও উৎসের অনুমোদিত তালিকাভিত্তিক কনফিগারেশনে দুই পরিচয়ই এই অ্যাকাউন্ট ব্যবহার করতে পারে। পাসওয়ার্ড প্রমাণীকরণ বা বিশেষাধিকারের সুবিধার জন্য ওই সেটিং আবার দেখতে হবে। ব্যবহারের আগে নথির সব ঠিকানা বদলান।
logoutput: stderr
internal: 192.0.2.10 port = 1080
external: 192.0.2.10
clientmethod: none
socksmethod: none
user.privileged: danteproxy
user.unprivileged: danteproxy
client pass {
from: 198.51.100.27/32 to: 192.0.2.10/32 port = 1080
log: connect error
}
socks pass {
from: 198.51.100.27/32 to: 203.0.113.20/32 port = 443
command: connect
log: connect error
}
internal ক্লায়েন্টের দিকের লিসেনার বেছে নেয়; external বেছে নেয় বহির্গামী ঠিকানা। একটি ইন্টারফেসের সার্ভার দুটোর জন্য একই বরাদ্দ ঠিকানা নিতে পারে। উপযুক্ত হলে ইন্টারফেসের নামও দেওয়া যায়; সেটি কোন ঠিকানাগুলোতে প্রসারিত হয় দেখুন।
এই নীতি কী অনুমোদন করে
প্রথম নিয়ম নির্দিষ্ট উৎসকে লিসেনারে আসতে দেয়। দ্বিতীয়টি শুধু নির্দিষ্ট লক্ষ্যে CONNECT অনুমোদন করে। না-মেলা অনুরোধ বন্ধই থাকে, BIND ও UDP ASSOCIATE-সহ।
method সেটিং ব্যবহারকারীনাম প্রমাণীকরণ দেয় না। প্রবেশাধিকার সংকীর্ণ উৎস নিয়ম ও তার নেটওয়ার্ক সীমার ওপর নির্ভর করে। ওই উৎস অনুমোদিত ক্লায়েন্ট চিহ্নিত করে কেবল এমন জায়গায় এই ব্যবস্থা উপযুক্ত।
sockd -V -f /path/to/sockd.conf
কিছু ডিস্ট্রিবিউশন executable-এর নাম দেয় danted। সেবা শুরুর আগে ইনস্টল করা কমান্ড দিয়ে কনফিগারেশন পরীক্ষা করুন। ফায়ারওয়ালে সমতুল্য উৎস সীমা দিন, তারপর অনুমোদিত লক্ষ্য ও প্রত্যাখ্যাত হওয়া উচিত এমন নিয়ন্ত্রিত লক্ষ্য দুটোই পরীক্ষা করুন।