আমি আমার আসল উত্তরটি মুছে ফেলেছি, কারণ আমি পুরোপুরি আত্মবিশ্বাসী ছিলাম না যে এটি সঠিক ছিল। আমার তখন থেকে প্রশ্নটিতে নেটওয়ার্কটি অনুকরণ করার জন্য ভিএমগুলির একটি সামান্য ভার্চুয়াল নেটওয়ার্ক সেটআপ করার জন্য কিছু সময় ছিল। এখানে ফায়ারওয়াল নিয়মের সেট রয়েছে যা আমার পক্ষে কাজ করেছে ( iptables-saveবিন্যাসে natকেবল টেবিলের জন্য ):
-A PREROUTING -d 89.179.245.232/32 -p tcp -m multiport --dports 22,25,80,443 -j DNAT --to-destination 192.168.2.10
-A POSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -d 192.168.2.10/32 -p tcp -m multiport --dports 22,25,80,443 -j MASQUERADE
প্রথম POSTROUTINGনিয়মটি ল্যানের সাথে ইন্টারনেট সংযোগ ভাগ করে নেওয়ার একটি সহজ উপায়। আমি এটি সম্পূর্ণতার জন্য সেখানে রেখেছি।
PREROUTINGনিয়ম এবং দ্বিতীয় POSTROUTINGএকসঙ্গে নিয়ম উপযুক্ত NATs প্রতিষ্ঠা, তাই বহিস্থিত IP ঠিকানা দিয়ে সার্ভারে যে সংযোগ, ঘটতে পারে এর সংযোগ বাইরে থেকে বা ল্যান ভিতরে থেকে উদ্ভূত কিনা হোক না কেন। ল্যানেলে থাকা ক্লায়েন্টরা বাহ্যিক আইপি ঠিকানার মাধ্যমে সার্ভারের সাথে সংযোগ স্থাপন করে, সার্ভারটি রাউটারের অভ্যন্তরীণ আইপি ঠিকানা (192.168.2.1) থেকে আসা সংযোগগুলি দেখে।
মজার বিষয় হল, এটি দেখা যাচ্ছে যে দ্বিতীয় পোষ্ট্রোটিং রুলেরও বেশ কয়েকটি বৈকল্পিক রয়েছে যা কাজ করে। যদি লক্ষ্যটি পরিবর্তিত হয় -j SNAT --to-source 192.168.2.1তবে এর প্রভাবটি (আশ্চর্যজনকভাবে নয়) একইরকম MASQUERADE: সার্ভারটি স্থানীয় ল্যান ক্লায়েন্টের রাউটারের অভ্যন্তরীণ আইপি ঠিকানা থেকে উদ্ভূত হিসাবে সংযোগগুলি দেখে । অন্যদিকে, যদি লক্ষ্যটি পরিবর্তিত হয় -j SNAT --to-source 89.179.245.232, তবে NATগুলি এখনও কাজ করে তবে এবার সার্ভারটি স্থানীয় ল্যান ক্লায়েন্টের রাউটারের বাইরের আইপি ঠিকানা (89.179.245.232) থেকে উদ্ভূত হিসাবে সংযোগগুলি দেখে ।
অবশেষে, লক্ষ্য করুন যে আপনার মূল PREROUTING/ DNATবিধিটি কার্যকর -i ppp0হয় না, কারণ বিধিটি কখনই ল্যান ক্লায়েন্টদের থেকে আসা প্যাকেটের সাথে মেলে না (যেগুলি এগুলি ppp0ইন্টারফেসের মাধ্যমে রাউটারে প্রবেশ করে না )। এটি PREROUTINGকেবল অভ্যন্তরীণ ল্যান ক্লায়েন্টদের জন্য একটি দ্বিতীয় নিয়ম যুক্ত করে এটি কাজ করা সম্ভব হবে তবে এটি অকার্যকর (আইএমও) হবে এবং এখনও বাহ্যিক আইপি ঠিকানার সাথে স্পষ্টভাবে উল্লেখ করতে হবে।
এখন, একটি সম্পূর্ণরূপে একটি "হেয়ারপিন নাট" (বা "ন্যাট লুপব্যাক", বা "এনএটি প্রতিবিম্ব", বা যে কোনও এটি কল করতে পছন্দ করে) সমাধান দেওয়ার পরেও আমি বিশ্বাস করি যে একটি বিভক্ত দিগন্ত ডিএনএস সমাধান-- - বাহ্যিক আইপি এবং অভ্যন্তরীণ আইপি-তে সমাধানকারী অভ্যন্তরীণ ক্লায়েন্টগুলির সাথে সমাধান করা বাহ্যিক ক্লায়েন্টগুলির সাথে গ্রহণ করা আরও পরামর্শ দেওয়া পথ হবে। কেন? কারণ আরও লোকেরা বুঝতে পারে যে ডিএনএস কীভাবে কাজ করে না কীভাবে এনএটি কীভাবে কাজ করে, এবং ভাল সিস্টেম তৈরির একটি বড় অংশ রক্ষণাবেক্ষণযোগ্য অংশগুলি ব্যবহার করতে বেছে নিচ্ছে। একটি ডিএনএস সেটআপ সম্ভবত আরকেন নাট সেটআপ (আইএমও, অবশ্যই) এর চেয়ে বেশি সঠিকভাবে বোঝা যায় এবং এটি সঠিকভাবে বজায় থাকে।