এটি হল ন্যাট-ট্রাভার্স কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
nat-traverse - NAT গেটওয়ে অতিক্রম করতে UDP-এর ব্যবহার
সাইনোপিসিস
একটি সাধারণ পাঠ্য-শুধু টানেল তৈরি করতে, কমান্ডগুলি ব্যবহার করুন৷
user@left $ nat-traverse 40000:natgw-of-right:40001
user@right $ nat-traverse 40001:natgw-of-left:40000
যেখানে 40000 হল "বামে" একটি অব্যবহৃত UDP পোর্ট এবং 40001 হল "ডানদিকে" একটি অব্যবহৃত পোর্ট। দেখা
আরো জন্য "উদাহরণ"।
সংস্করণ
এই নথিটি nat-traverse v0.5 বর্ণনা করে।
বর্ণনাঃ
nat-traverse নোডগুলির মধ্যে সংযোগ স্থাপন করে যা NAT গেটওয়ের পিছনে থাকে, যেমন
হোস্ট যা করে না পাবলিক আইপি ঠিকানা আছে। উপরন্তু, আপনি এর দ্বারা একটি ছোট VPN সেটআপ করতে পারেন
nat-traverse এর উপরে pppd ব্যবহার করে ("উদাহরণ" দেখুন)। nat-traverse করে না একটি প্রয়োজন
ইন্টারনেটে বহিরাগত সার্ভার, এবং জড়িত NAT পুনরায় কনফিগার করার প্রয়োজন নেই
গেটওয়ে, হয়. nat-traverse কাজ বাক্সের বাইরে.
এটি কিভাবে অর্জন করা হয় তার জন্য "টেকনিক" দেখুন।
সীমাবদ্ধতা: nat-traverse গেটওয়ের সাথে কাজ করে না যা পোর্ট নম্বর পরিবর্তন করে। এই
ন্যাট-ট্র্যাভার্স ডিজাইনের একটি মৌলিক সমস্যা, কারণ পরিবর্তিত পোর্ট নম্বরগুলি হল (এ
সাধারণ) অনুমানযোগ্য নয়।
বিকল্প
"local_port:peer:remote_port" (আবশ্যক)
ব্যবহার করার জন্য স্থানীয় পোর্ট এবং সংযোগের জন্য দূরবর্তী ঠিকানা সেট করে।
উল্লেখ্য যে আপনাকে আইপি ঠিকানা বা হোস্টনেম দিতে হবে ন্যাট প্রবেশপথ হোস্ট এর
আপনি সংযোগ করতে চান, কারণ লক্ষ্য হোস্টের একটি পাবলিক আইপি ঠিকানা নেই।
"--cmd="pppd...""
সংযোগ স্থাপন করার পরে নির্দিষ্ট কমান্ড চালায়।
কমান্ডটি তার STDIN এবং STDOUT সকেটে আবদ্ধ করে চালানো হবে, অর্থাৎ
STDOUT-এ কমান্ড যা লিখবে তা পিয়ারের কাছে পাঠানো হবে।
যদি কোনো কমান্ড নির্দিষ্ট করা না থাকে, তাহলে nat-traverse STDIN থেকে পিয়ারে ইনপুট রিলে করবে
এর বিপরীতে, অর্থাৎ ন্যাট-ট্রাভার্স নেটক্যাটে অবনমিত হয়।
"--উইন্ডো=10 "
পাঠানোর জন্য প্রাথমিক আবর্জনা প্যাকেটের সংখ্যা সেট করে। ডিফল্ট, 10, এর সাথে কাজ করা উচিত
অধিকাংশ ফায়ারওয়াল।
"--সময় শেষ=10 "
পিয়ার দ্বারা একটি স্বীকৃতির জন্য অপেক্ষা করতে সেকেন্ডের সর্বাধিক সংখ্যা সেট করে।
"--প্রস্থান-পর-সংযোগ"
টানেলটি সফলভাবে প্রতিষ্ঠিত হওয়ার পরে ন্যাট-ট্র্যাভার্স ছেড়ে যায়।
nat-traverse একটি নন-0 স্ট্যাটাসকোড প্রদান করে যে এটি স্থাপন করতে সক্ষম হয়নি
সুড়ঙ্গ.
আপনি যদি টানেলটি ব্যবহার করতে অন্য একটি প্রোগ্রাম চান তবে "--quit-after-connect" উপযোগী। জন্য
উদাহরণস্বরূপ, আপনি ন্যাট-ট্রাভার্সের মতো একই পোর্ট ব্যবহার করতে OpenVPN কনফিগার করতে পারেন -- এইভাবে
OpenVPN NAT গেটওয়ে অতিক্রম করতে সক্ষম হবে।
"--সংস্করণ", "--সহায়তা"
প্রযুক্তি
nat-traverse প্রয়োজন ছাড়াই NAT গেটওয়ের পিছনে হোস্টদের মধ্যে সংযোগ স্থাপন করে
জড়িত NAT গেটওয়েগুলির পুনর্বিন্যাস।
1. প্রথমত, হোস্ট "বামে" ন্যাট-ট্র্যাভার্স আবর্জনা UDP প্যাকেটগুলি NAT গেটওয়েতে পাঠায়
"ঠিক"। এই প্যাকেটগুলি অবশ্যই ফায়ারওয়াল দ্বারা বাতিল করা হয়।
2. তারপর "ডান"-এর ন্যাট-ট্রাভার্স "বাম"-এর NAT গেটওয়েতে আবর্জনা UDP প্যাকেট পাঠায়।
এই প্যাকেটগুলো না বাতিল করা হয়েছে, যেমন "বাম" এর NAT গেটওয়ে মনে করে এই প্যাকেটগুলি
ধাপ 1 এ পাঠানো প্যাকেটের উত্তর!
3. "বাম" এর ন্যাট-ট্র্যাভার্স "ডান" এর ন্যাট গেটওয়েতে আবর্জনার প্যাকেট পাঠাতে থাকে।
এই প্যাকেটগুলি এখন বাদ দেওয়া হয় না, যেমন NAT গেটওয়ে মনে করে প্যাকেটগুলি
ধাপ 2 এ পাঠানো প্যাকেটের উত্তর।
4. অবশেষে, উভয় হোস্ট প্রস্তুতির সংকেত দিতে একটি স্বীকৃতি প্যাকেট পাঠায়। যখন এগুলো
প্যাকেট পাওয়া যায়, সংযোগ স্থাপন করা হয় এবং ন্যাট-ট্র্যাভার্স হয় রিলে করতে পারে
সকেটে STDIN/STDOUT বা একটি প্রোগ্রাম চালান।
উদাহরণ
সেটআপ of a ছোট ভিপিএন সঙ্গে পিপিপি
পয়েন্ট-টু-পয়েন্ট প্রোটোকল ব্যবহার করে একটি VPN (ভার্চুয়াল প্রাইভেট নেটওয়ার্ক) সেটআপ করা সহজ
ডেমন, "pppd":
root@left # nat-traverse \
--cmd="pppd updetach noauth প্যাসিভ নোটি \
ইপরাম ভিপিএন 10.0.0.1:10.0.0.2"
40000:natgw-of-right:40001
root@right # nat-traverse \
--cmd="pppd nodetach notty noauth"
40001: natgw-of-left: 40000
"pppd" একটি নতুন ইন্টারফেস তৈরি করে, সাধারণত "ppp0"। এই ইন্টারফেস ব্যবহার করে, আপনি পিং করতে পারেন
10.0.0.1 বা 10.0.0.2। আপনি দেখতে পাচ্ছেন, "pppd" শুধুমাত্র ডেটা-সুড়ঙ্গের ন্যাট-ট্রাভার্স আপগ্রেড করে
একটি সম্পূর্ণ আইপি টানেল প্রদান করে। এইভাবে আপনি নির্ভরযোগ্য TCP সংযোগ স্থাপন করতে পারেন
টানেল, যদিও টানেল UDP ব্যবহার করে! উপরন্তু, আপনি এমনকি IPv6 ঠিকানা যোগ করতে পারেন
"ip-0 addr add..." চালিয়ে "ppp6" এ!
উল্লেখ্য যে যদিও এই VPN is যুক্তিযুক্তভাবে একটি ব্যক্তিগত নেটওয়ার্ক, এটি না যে কোনো মধ্যে সুরক্ষিত
উপায় সংযোগ এনক্রিপ্ট করতে আপনি SSH ব্যবহার করতে চাইতে পারেন।
বন্দর ফরওয়ার্ড করা সঙ্গে netcat
আপনি আপনার স্থানীয় UDP বা TCP পোর্টগুলির মধ্যে একটিকে একটি নির্বিচারে UDP-তে ফরোয়ার্ড করতে "netcat" ব্যবহার করতে পারেন বা
দূরবর্তী হোস্টের টিসিপি পোর্ট, "ssh -L" বা "ssh -R" এর মতো:
user@left $ nat-traverse 10001:natgw-of-right:10002 \
--cmd="nc -vl 20000"
user@right $ nat-traverse 10002:natgw-of-left:10001 \
--cmd="nc -v localhost 22"
টানেলটি প্রতিষ্ঠিত হওয়ার সাথে সাথে (ইউডিপি পোর্ট 10001 এবং 10002 ব্যবহার করে), "বাম" এর টিসিপি পোর্ট
20000 "ডান" এর SSH ডেমনে (TCP পোর্ট 22) ফরোয়ার্ড করা হয়েছে:
user@some-other-host $ssh -p 20000 user@left
# ডানের SSH ডেমনের সাথে সংযোগ করবে!
কিন্তু মনে রাখবেন যে আপনি এই উদাহরণে TCP-এর নির্ভরযোগ্যতা হারাবেন, যেমন প্রকৃত তথ্য
UDP এর মাধ্যমে পরিবাহিত; তাই এটি শুধুমাত্র একটি খেলনা উদাহরণ। আপনি যদি নির্ভরযোগ্য স্ট্রীম চান, PPP ব্যবহার করুন
উপরে বর্ণিত ন্যাট-ট্র্যাভার্সের উপরে।
সেটআপ of a ভিপিএন সঙ্গে VPN খুলুন
তুমি ব্যবহার করতে পার over nat-traverse যদি আপনি একটি করতে চান নিরাপদ VPN এর।
ন্যাট-ট্রাভার্সের উপর OpenVPN ব্যবহার করার জন্য OpenVPN এর কনফিগারেশন ফাইলে শুধুমাত্র একটি পরিবর্তন প্রয়োজন,
অনুমান করে যে আপনি OpenVPN এর মাল্টি-ক্লায়েন্ট মোড ব্যবহার করতে চান না: আপনাকে সামঞ্জস্য করতে হবে
"কোড" এবং "lport" বিকল্পগুলি সেই অনুযায়ী, উদাহরণস্বরূপ:
# বাম এবং ডানের OpenVPN কনফিগারেশন যোগ করার বিকল্প:
পোর্ট 60001
lport 60001
# বাম রেসপে কার্যকর করার কমান্ড। ডান
root@left # পর্যন্ত \
nat-traverse --quit-after-connect 60001:right:60001 \
কর \
ঘুম 5 \
সম্পন্ন; \
openvpn [...]
root@right # পর্যন্ত \
nat-traverse --quit-after-connect 60001:left:60001 \
কর \
ঘুম 5 \
সম্পন্ন; \
openvpn [...]
"পর্যন্ত" লুপ নিশ্চিত করে যে ন্যাট-ট্রাভার্স সক্ষম হওয়ার আগে OpenVPN চালু হবে না
সংযোগ স্থাপন। মাইকেল কুগেল ("michael (at) kugele.net") একটি উপায়ও রিপোর্ট করেছেন
এখনও ন্যাট-ট্র্যাভার্স সহ OpenVPN এর মাল্টি-ক্লায়েন্ট মোড ব্যবহার করতে সক্ষম হতে: সমস্ত উদাহরণ হিসাবে
nat-traverse অনন্য পোর্ট ব্যবহার করতে হবে (কারণ একটি সংযোগ দ্বারা চিহ্নিত করা হয়
উত্স/গন্তব্য পোর্ট সংমিশ্রণ), আপনাকে পুনঃনির্দেশ করার নিয়মগুলি ব্যবহার করতে হবে
পোর্টে ন্যাট-ট্র্যাভার্স দ্বারা ব্যবহৃত পোর্টগুলি OpenVPN ডেমন শোনে:
iptables -t nat -A PREROUTING -p udp \
--dport $LPORT -j DNAT -- থেকে $HOST:$PORT
iptables -t nat -A PREROUTING -p udp \
--dport $PORT -j রিডাইরেক্ট --to-পোর্ট $LPORT
$LPORT সার্ভার সাইডে সোর্স পোর্ট ন্যাট-ট্রাভার্স ব্যবহার করে এবং "$HOST:$PORT" উল্লেখ করে
ওপেনভিপিএন সার্ভারের ঠিকানা।)
সীমাবদ্ধতা
শুধুমাত্র IPv4 সমর্থিত, nat-traverse IPv6 ঠিকানার সাথে কাজ করবে না। আপনি যদি আমাকে একটি নোট ড্রপ
IPv6 সমর্থন প্রয়োজন।
nat-traverse গেটওয়ের সাথে কাজ করে না যা পোর্ট নম্বর পরিবর্তন করে। এটা একটা
ন্যাট-ট্র্যাভার্স ডিজাইনের মৌলিক সমস্যা, যেহেতু পরিবর্তিত পোর্ট নম্বরগুলি (সাধারণভাবে)
অনুমানযোগ্য নয়।
onworks.net পরিষেবা ব্যবহার করে nat-traverse অনলাইন ব্যবহার করুন