একযোগে বা যাই হোক না কেন, পরিস্থিতিগুলির জন্য প্রক্সিকম্যান্ড পদ্ধতির সহজেই খুব সুবিধাজনক।
অন্যদিকে, আপনার যদি একসাথে বেশ কয়েকটি সংযোগের প্রয়োজন হয়, বা আপনার যখন প্রতিদিনের কাজের জন্য সম্ভবত এই আদেশটি ঘন ঘন ব্যবহার করতে হয়, আপনি তার পরিবর্তে আপনার সার্ভারে একটি নেটওয়ার্ক-ঠিকানা-অনুবাদ (নাট) বিধি সেট করার কথা বিবেচনা করতে পারেন।
এটির জন্য root
প্রথমে একক একা ন্যাট বিধি প্রয়োগ করতে আপনার সার্ভারে সুপারজার (সাধারণত ) অ্যাক্সেসের প্রয়োজন । মনে রাখবেন যে পারে এ সব দেয়া হবে না (অথবা কার্যকর) ন্যাট নিয়ম প্রয়োগ করতে, এমনকি যখন আপনি সুপার-ইউজার এক্সেস আছে, যদি আপনার "সার্ভার" আসলে একটি ধারক (ক Docker এক মত) পরিবর্তে একটি মেশিন।
iptables
স্যুট সহ একটি সাধারণ লিনাক্স সিস্টেমের কথা বলতে গেলে, আপনার স্যাম্পল কেসের জন্য আপনার সার্ভার 1 এ প্রয়োগ করার NAT নিয়মটি হতে পারে:
iptables -t nat -I POSTROUTING -d <server2-ip-address> -p tcp --dport <server2-port> -j SNAT --to :33101-33109
যে কমান্ড বন্দর প্রতি কোনো সংযোগ করতে লিনাক্স কার্নেল নির্দেশ server2 পোর্ট এর server2-IP- ঠিকানা পরিসর 33101-33109 যে মুহূর্তে পাওয়া যায় মধ্যে মনোনীত উৎস বন্দর ব্যবহার করে যেতে।
এই নিয়মটি কার্যকর হয়ে গেলে আপনি কেবল নিজের স্বাভাবিকের সাথে আপনার সার্ভার 2 এ সংযুক্ত হন:
ssh username@server2 -p remote_port
এবং আপনি এই একই ssh
কমান্ডটি একই সাথে আপনার প্রয়োজন অনুসারে যতবার ব্যবহার করতে পারবেন ততক্ষণ যতক্ষণ না NAT নিয়মে বর্ণিত রেঞ্জের মধ্যে উপলব্ধ পোর্ট রয়েছে।
তবে খেয়াল করুন যে netstat
আপনার সার্ভারে চালিত একটি (বা সমমানের কমান্ড) সংযোগের স্থানীয় ঠিকানাটিকে অশোধিত , এলোমেলোভাবে বেছে নেওয়া, উত্স পোর্ট নম্বর হিসাবে রিপোর্ট করেছে যদিও আপনার সার্ভার 2 এ দেওয়া প্রকৃত ট্র্যাফিক পরিবর্তিত উত্স বন্দর নম্বর বহন করে ।
NAT নিয়মটি পূর্বাবস্থায় ফেলার জন্য কমান্ডটি -D
বিকল্পের পরিবর্তে বিকল্প হিসাবে বাদ দেওয়া হয় -I
।
বুট এ স্বয়ংক্রিয়ভাবে NAT নিয়ম প্রয়োগ করা আপনার সার্ভারে লিনাক্স বিতরণ কী হবে এবং এর মধ্যে ইতিমধ্যে কিছু ফায়ারওয়াল কনফিগারেশন রয়েছে কিনা তা নির্ভর করে।
বিএসডি-মতো সিস্টেমের সাথে আমার কোনও অভিজ্ঞতা নেই তবে আমি বিশ্বাস করি এর একটি সমতুল্য রয়েছে।