একক সার্বজনীন আইপি ঠিকানা ব্যবহার করে NAT এর পিছনে একাধিক সার্ভার উন্মুক্ত করা হচ্ছে


17

এটি NAT এবং DNS সম্পর্কে একটি ক্যানোনিকাল প্রশ্ন

আমি বর্তমানে একটি ডিএমজেডের সাথে একটি ওয়েব সার্ভার এবং একটি ই-মেইল সার্ভার যুক্ত একটি নেটওয়ার্ক অ্যাড্রেস অনুবাদ করে (এনএটি) ফায়ারওয়াল দ্বারা ইন্টারনেট থেকে পৃথক একটি নেটওয়ার্ক সেট আপ করার চেষ্টা করছি।

আমি নীচের ইন্টারফেসগুলির সাথে নেট ফায়ারওয়াল ইনস্টল করেছি:

WAN - x.x.x.x (redacted public IP address)
DMZ - 192.168.124.5/24
LAN - 192.168.123.5/24

আমার ডিএমজেডে আমার দুটি হোস্ট রয়েছে:

Web server - 192.168.124.30
E-mail server - 192.168.124.32

আমি জানি যে example.comডোমেনটির জন্য example.comএবং mail.example.comআমার সার্বজনীন আইপি ঠিকানার উভয় সমাধান করার জন্য আমাকে ডিএনএস কনফিগার করতে হবে ।

আমি আমার NAT ফায়ারওয়ালটি example.com192.168.124.30 নম্বরে ওয়েব সার্ভারে সমস্ত আগত অনুরোধগুলি এবং 192.168.124.32 নম্বরে mail.example.comই-মেইল সার্ভারে সমস্ত আগত অনুরোধগুলি ফরোয়ার্ড করতে চাই । আমি আমার NAT ফায়ারওয়ালের কনফিগারেশনে একটি "পোর্ট ফরওয়ার্ডিং" বৈশিষ্ট্যটি দেখতে পাচ্ছি তবে আমি যা খুঁজছি তা অর্জন করতে পারে না বলে মনে হচ্ছে।


3
নির্দিষ্ট প্রযুক্তির উল্লেখগুলি সরিয়ে দিতে আমি আপনার প্রশ্ন সম্পাদনা করেছি। প্রশ্নটি এখনও একই বেসিক জিনিসটিকে জিজ্ঞাসা করে তবে প্রযুক্তি-নিরপেক্ষ উপায়ে। তেমনিভাবে, আমার উত্তরটি আপনার মূল প্রশ্নের ক্ষেত্রে প্রযোজ্য তবে বিভিন্ন ফায়ারওয়াল এবং পরিষেবা হোস্টের পরিস্থিতিযুক্ত অন্যান্য ব্যক্তিরা যদি এখানে উত্তর খুঁজছেন তবে তা প্রযোজ্য হবে।
ইভান অ্যান্ডারসন

উত্তর:


18

বিশেষ করে ডিএনএস এবং অ্যাপ্লিকেশন স্তর প্রোটোকলের মধ্যে টিসিপি / আইপি প্রোটোকল স্ট্যাকের স্তরগুলির মধ্যে কীভাবে তথ্য প্রবাহিত হয় - তা সম্পর্কে আপনার চিন্তায় বিভ্রান্ত হয়ে পড়ছেন।

আপনার একটি সার্বজনীন আইপি ঠিকানা রয়েছে। আপনার ডিএনএস অবশ্যই mail.example.comএবং example.comএকই পাবলিক আইপি ঠিকানায় উভয়ই সমাধান করতে পারে।

সাধারণভাবে, আপনার সার্বজনীন আইপি ঠিকানার অনুরোধ সম্বলিত আইপি ডেটাগ্রামগুলি, যা আপনার ফায়ারওয়ালের বাহ্যিক ইন্টারফেস দ্বারা প্রাপ্ত হবে, দূরবর্তী ক্লায়েন্ট অ্যাক্সেস করার চেষ্টা করছে এমন হোস্টের নামটি ধারণ করবে না। উভয় হোস্টনাম একই আইপি ঠিকানায় সমাধান করার কারণে আপনার ফায়ারওয়ালটি যাদুকরীভাবে "জানতে" পারে না যা দূরবর্তী ক্লায়েন্টকে সমাধান করেছে কোন হোস্টনামটি। আইপি স্তর অ্যাপ্লিকেশন স্তরে ব্যবহৃত হোস্টনাম সম্পর্কে সচেতন নয়।

টিসিপি এবং ইউডিপি প্রোটোকলগুলি পোর্ট সংখ্যা ব্যবহার করে কোনও হোস্ট দ্বারা প্রদত্ত নির্দিষ্ট পরিষেবাগুলিকে আলাদা করে। আপনার উদাহরণের ক্ষেত্রে ইনবাউন্ড টিসিপি পোর্ট প্রেরণ করার সময় ওয়েব সার্ভারে টিসিপি পোর্ট 80 (এইচটিটিপি) তে ইনকামিং রিকোয়েস্ট পাঠানোর জন্য আপনার NAT ফায়ারওয়ালের পোর্ট ফরওয়ার্ডিং (পোর্ট অ্যাড্রেস ট্রান্সলেশন, বা প্যাট নামে পরিচিত) ব্যবহার করা সম্ভব হতে পারে T আপনার ইমেল সার্ভারে 25 (এসএমটিপি)।

তবে, যদি আপনি উভয় মেশিনে একই পরিষেবা হোস্ট করার পরিকল্পনা করেন তবে এই কৌশলটি সমস্যাযুক্ত হয়ে উঠবে। মনে করুন আপনি নিজের ওয়েব সার্ভারে (গ্রাহক অ্যাক্সেসের জন্য) সুরক্ষিত ওয়েব সাইট এবং আপনার ইমেল সার্ভারে (ওয়েবমেলের জন্য) একটি সুরক্ষিত ওয়েবসাইট উভয়ই হোস্ট করতে চলেছেন। টিসিপি পোর্ট 443 (এইচটিটিপিএস) এ আপনার NAT ফায়ারওয়ালের সর্বজনীন আইপি ঠিকানায় আসার অনুরোধগুলি কেবল একটি সার্ভার বা অন্যটিতে যেতে পারে।

এই পরিস্থিতির সাধারণ সমাধান হ'ল আরও বেশি পাবলিক আইপি অ্যাড্রেস থাকা। কারণ আইপিভি 4 অ্যাড্রেসগুলি দুর্লভ হয়ে উঠছে যা সমস্যাযুক্তও হতে পারে।

আমরা অ্যাপ্লিকেশন স্তরের কিছু প্রোটোকলে পাবলিক আইপি অ্যাড্রেসের ঘাটতি দেখা দিয়ে কাজ করব । উদাহরণস্বরূপ, HTTP / 1.1 Host:নির্দিষ্টভাবে একটি ওয়েব সার্ভারকে একই পাবলিক আইপি ঠিকানায় একাধিক ওয়েবসাইটের হোস্ট করার অনুমতি দেওয়ার জন্য শিরোনাম যুক্ত করেছে । টিএলএস দূরবর্তী ক্লায়েন্টের দ্বারা প্রবেশ করা হোস্টনামের ভিত্তিতে উপযুক্ত শংসাপত্রের নির্বাচনের অনুমতি দেওয়ার জন্য সার্ভার নেম ইন্ডিকেশন (এসএনআই) এক্সটেনশান যুক্ত করে।

অ্যাপ্লিকেশন স্তরে এ জাতীয় কাজ করার অর্থ প্রতিটি অ্যাপ্লিকেশন স্তর প্রোটোকলের নিজস্ব "ফিক্স" প্রয়োজন হবে (এবং তারপরে সমস্ত সার্ভার এবং ক্লায়েন্ট সফ্টওয়্যারকে সেই "ফিক্স" প্রয়োগ করতে হবে)। এটি একটি দীর্ঘ আদেশ।

অ্যাপ্লিকেশন স্তর প্রোটোকল পরিবর্তনের পরিবর্তে কিছু প্রোটোকল সহজেই সফ্টওয়্যার ব্যবহার করে "রুট" করতে পারে এমন সফ্টওয়্যার ব্যবহার করে একাধিক হোস্টের মধ্যে "মাল্টিপ্লেক্সড" হওয়ার পক্ষে সহজলভ্য। এটি সম্ভবত একটি সাধারণ NAT ফায়ারওয়াল সক্ষম তার বাইরে চলে গেছে কারণ অ্যাপ্লিকেশন স্তরে প্যাকেটগুলি পরিদর্শন করা প্রয়োজন। এইচটিটিপি প্রোটোকলের জন্য এনগিনেক্সের মতো বিপরীত প্রক্সি ব্যবহার করা এই জাতীয় "মাল্টিপ্লেক্সিং" (বা ফোরফ্রন্ট টিএমজি বা মাইক্রোসফ্ট পরিবেশে আইএসএ সার্ভারে ওয়েব প্রকাশনা বিধি ) এর একটি ভাল উদাহরণ । তত্ত্বের ক্ষেত্রে কোনও প্রোটোকল বিপরীত প্রক্সি দিয়ে একাধিক সংযোজন করা যেতে পারে তবে কাস্টম কোডটি লেখার বিষয়ে আপনি যতটা বেশি কথা বলবেন তার প্রোটোকলটি তত বেশি প্রোটোকল।

যখন আপনাকে একটি একক সার্বজনীন আইপি ঠিকানায় দুটি পৃথক হোস্টের কাছ থেকে একই পরিষেবাটি সরবরাহ করা প্রয়োজন তখন আপনার কাছে সর্বদা হোস্টগুলির মধ্যে একটিকে একটি মানহীন পোর্টে স্থানান্তর করার বিকল্প থাকে। এটির জন্য ক্লায়েন্টদের অ-মানক বন্দর সম্পর্কে সচেতন হওয়া প্রয়োজন। এইচটিটিপি (এস) এর ক্ষেত্রে এই http://example.com:XXXচিহ্নটি URL সহ ফলাফল দেয় (যেখানে XXXঅ-মানক বন্দর নম্বর রয়েছে)। এটি আপনার পরিস্থিতিতে সমস্যাযুক্ত কিনা তা কেবলমাত্র আপনিই সিদ্ধান্ত নিতে পারেন। (আমার অভিজ্ঞতা দেখিয়েছে যে কার্যত কোনও শেষ ব্যবহারকারী তাদের :XXXহাতে প্রবেশ করতে হবে এমন কোনও ইউআরএলটিতে পোর্ট নোটেশন পরিচালনা করতে সক্ষম নয় ))


1
কাজের সমাধান, "ফিক্স" নয়। :)
মাইকেল হ্যাম্পটন

@ মিশেলহ্যাম্পটন - আমি শুনছি '! > হাসি <
ইভান অ্যান্ডারসন

@ ইভানএন্ডারসন আপনার উত্তরের জন্য ধন্যবাদ। আমি অনুমান করি যে আমি জিনিসগুলিতে গোলযোগ পেয়েছি কারণ আমি ফোরফ্রন্টের সাথে কাজ করতে অভ্যস্ত ছিলাম, এই জাতীয় কাজটি আমার কাছে কেবল স্বাভাবিক মনে হয়েছিল। অ্যাপ্লিকেশন স্তরটিতে কাজ করে এমন ক্ষমতা সহ কোনও লিনাক্স ফায়ারওয়াল বিতরণ সম্পর্কে আপনি কি জানেন? আমি এখনও শোরওয়ালের দিকে তাকালাম তবে আমি নিশ্চিত নই যে এটি এটি করতে সক্ষম কিনা কারণ এটি আইপ লেবেলের উপর ভিত্তি করে যা iptables এর উপর ভিত্তি করে।
অ্যাট্রোটিগমা

5

আপনার "পোর্ট ফরওয়ার্ডিং" বৈশিষ্ট্যটি আপনাকে ট্রাফিককে: 80 এবং: 443 থেকে 192.168.124.30 এবং বাকি পোর্টগুলিতে (বা কেবলমাত্র আপনার ইমেল সার্ভারটি ব্যবহার করতে কনফিগার করা আছে) 192.168.124.32 এ পাঠাতে পারে। যদি কোনও কারণে আপনার ইমেল সার্ভারের পাশাপাশি ওয়েব সার্ভারের জন্য সেই দুটি বন্দরগুলির প্রয়োজন হয় তবে আপনি সমস্যায় পড়েছেন। এই পদ্ধতিটি কাজ করার জন্য, আপনার ইমেল সার্ভারে যে কোনও ওয়েব অ্যাক্সেস আলাদা (সম্ভবত সম্ভবত অ-মানক) পোর্টে থাকতে হবে। পরিবর্তে mail.example.comব্যবহারের জন্য " " বলে যে কোনও কিছু পুনর্নির্দেশের জন্য আপনি ওয়েব সার্ভারটিও সেট আপ করতে পারেন , যে ব্যবহারকারীরা বন্দর নম্বর যুক্ত করতে এবং / অথবা সুরক্ষিত সংযোগ নির্দিষ্ট করতে জানেন না তাদের জন্য। (আপনি হয় মেইল সার্ভার একমাত্র নিরাপদ ওয়েব সংযোগগুলি ব্যবহার, ঠিক যাচ্ছে?)https://mail.example.com:other_port

এটি অ্যাপ্লিকেশন স্তরটির পরিবর্তে পরিবহন স্তরে রয়েছে যার অর্থ এটি গভীর প্যাকেট পরিদর্শনের উপর নির্ভর করতে হবে না। পরিবর্তে এটি পোর্টের জন্য টিসিপি শিরোনামে একটি সন্ধানের সহজ অবস্থানের দিকে নজর দিতে পারে।


3

যদি আপনার "আগত অনুরোধগুলি" আলাদা আলাদা জিনিস হয়, যেমন ওয়েব সার্ভারের জন্য ওয়েব ট্র্যাফিক (HTTP) এবং মেল সার্ভারের জন্য মেল ট্র্যাফিক (এসএমটিপি), এটি সত্যই করা যায়: HTTP টিসিপি পোর্ট 80 (এইচটিটিপিএসের জন্য 443) ব্যবহার করে, যখন এসএমটিপি টিসিপি পোর্ট 25 ব্যবহার করে; সুতরাং, একই পাবলিক আইপি ঠিকানা থেকে, আপনি HTTP ট্র্যাফিক আপনার ওয়েব সার্ভারে এবং এসএমটিপি ট্র্যাফিক আপনার মেইল ​​সার্ভারে ফরোয়ার্ড করতে পারেন; "পোর্ট ফরওয়ার্ডিং" এর অর্থ এটি। যে কোনও শালীন ফায়ারওয়াল এটি সক্ষম।

যাইহোক, যদি সুযোগক্রমে দুটি সার্ভার একই ধরণের ট্র্যাফিক গ্রহণ করতে সক্ষম হয়, তবে যদি আপনার মেল সার্ভারটি কোনও ওয়েবমেল পরিষেবাও হোস্ট করে তবে আপনি সমস্যায় পড়েছেন, কারণ আপনি নির্দিষ্ট পোর্টগুলি ফরোয়ার্ড করতে পারেন (80 এবং / অথবা 443) শুধুমাত্র একটি সার্ভারে; ক্লায়েন্টটি যে নামটির জন্য অনুরোধ করেছিল তার উপর ভিত্তি করে ওয়েব ট্র্যাফিক পৃথক করতে আপনার টিসিপি / আইপি, যেমন একটি বিপরীত প্রক্সি এর চেয়ে উচ্চতর স্তরে অপারেটিংয়ের কিছু দরকার।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.