iptables SNAT / DNAT আচরণ ব্যাখ্যা


0

আমি iptables নতুন এবং আমি কিভাবে iptables nat কাজ করছে বুঝতে চাই। আমি একটি LXC ধারক সঙ্গে একটি linux মেশিন আছে। মেশিন নেটওয়ার্ক কনফিগারেশনটি নিম্নরূপ: eth0 ইন্টারফেস যা মেশিনটিকে ইন্টারনেটে সংযুক্ত করে (এটি IPv4 ঠিকানা 10.9.63.173) এবং lxc ধারক জন্য একটি veth-1 ইন্টারফেস (192.168.2.1)। এলএক্সসি কন্টেইনারে একটি eth0 ইন্টারফেস (192.168.2.2) veth-1 এর সাথে সংযুক্ত রয়েছে।

লিনাক্স মেশিনে আমি দুটি iptables নিয়ম যুক্ত করেছি:

1) iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 10.9.63.173
2) iptables -t nat -A PREROUTING -d 10.9.63.173 -j DNAT --to-destination 192.168.2.2

যদি আমি লিংক কন্টেইনার থেকে একটি পিং 8.8.8.8 করি তবে সবকিছু কাজ করছে (সোর্স আইপিটি 10.9.63.173 তে অনুবাদ করলে লিনাক্স মেশিনটি ছেড়ে দেওয়া হবে)। কিন্তু দ্বিতীয় নিয়মটি পিং ইকো উত্তরগুলির সাথে মেলে না। আমি tcpdump ব্যবহার করে eth0 (10.9.63.173) এ ইনকামিং প্যাকেটগুলি দেখেছি এবং আউটপুটটি নিম্নরূপ:

23:34:33.151565 IP google-public-dns-a.google.com > host.local: ICMP echo reply, id 536, seq 174, length 64

অতএব, 10.9.63.173 গন্তব্যের প্যাকেট eth0 ইন্টারফেসে পৌঁছে।

আমার তিনটি প্রশ্ন আছে:

1) কেন প্রজনন নিয়ম মেলা হয় না?

2) কিভাবে iptables কীভাবে জবাবগুলি সংশোধন করতে পারে যেমন তাদের 19২.168.2.2 এ পাঠানো?

3) SNAT লক্ষ্যটি সোর্স পোর্টকে সংশোধন করতে পারে (স্পষ্টভাবে একটি নির্দিষ্ট পোর্টে অনুবাদ করতে বলার অপেক্ষা রাখে না)?

ধন্যবাদ!

উত্তর:


0

Iptables একটি NAT টেবিল, এবং conntrack মেশিন ব্যবহার করা হয়। এইভাবে, যদি আপনার ধারক সংযোগটি শুরু করে তবে এটি SNAT রুলের সাথে মেলে, NAT টেবিলের মধ্যে লিখুন এবং কনট্র্যাক্টটি পূরণ করুন।

একটি উত্তর আসছে, Conntrack (সোর্স এবং গন্তব্য আইপি এবং পোর্ট, এবং সংযোগ টিসিপি ক্রম যদি TCP ক্রম সঙ্গে) প্যাকেট সংযোগের সাথে সম্পর্কিত, এবং ডান NAT correspondence এটি ঠিকানা হবে জানি।

প্রতি সংযোগ, শুধুমাত্র প্রথম প্যাকেট একটি NAT নিয়ম মিলবে, তারপর একে অপরকে একই পথ অনুসরণ করবে (অথবা বিপরীত পথ)।

যদি বাইরে থেকে আপনার কন্টেইনারে একটি নতুন সংযোগ আসছে, তবে এটি পরিবর্তে DNAT রুল মিলবে।

SNAT উৎস পোর্ট পরিবর্তন করতে পারবেন না।


ঠিক আছে! ধন্যবাদ! Iptables nat এর সঠিক আচরণ নির্দিষ্ট করার জন্য কোন আনুষ্ঠানিক ডকুমেন্টেশন আছে কি?
SebiSebi

একটি চেহারা নিন এই , এই , এবং এই
Sanael

0

আমি অনুমান TCP এবং সংযোগ ট্র্যাকিং জন্য একটি পঠন নিন: http://www.iptables.info/en/connection-state.html

SNAT যতদূর আমি জানি সোর্স আইপি ঠিকানা পরিবর্তন করতে পারে।


একটি লিঙ্ক থেকে প্রাসঙ্গিক তথ্য সহ এই উত্তরটি ব্যাপকভাবে উন্নত করবে এবং লিঙ্কটি পরিবর্তন এবং খারাপ হলেও এটি এখনও সহায়ক হবে।
music2myear

0

1) কেন প্রজনন নিয়ম মেলা হয় না?

iptables NAT "সংযোগগুলি" -এ কাজ করে *, প্রতিটি "সংযোগ" এর প্রথম প্যাকেট কেবল ব্যবহারকারী-নিয়ন্ত্রিত নাটকগুলির মাধ্যমে যায়।

2) কিভাবে iptables কীভাবে জবাবগুলি সংশোধন করতে পারে যেমন তাদের 19২.168.2.2 এ পাঠানো?

যখন একটি "সংযোগ" এর প্রথম প্যাকেটটি NAT এর মাধ্যমে পাস করে তখন এটি একটি অভ্যন্তরীণ সংযোগ ট্র্যাকিং টেবিলে একটি এন্ট্রি স্থাপন করে। এই সংযোগ পরবর্তী প্যাকেট অনুবাদ করতে ব্যবহৃত হয়।

3) SNAT লক্ষ্যটি সোর্স পোর্টকে সংশোধন করতে পারে (স্পষ্টভাবে একটি নির্দিষ্ট পোর্টে অনুবাদ করতে বলার অপেক্ষা রাখে না)?

হ্যাঁ এটি করতে পারে, তবে ডিফল্টরূপে এটি কেবল তখনই করবে যখন এটি অস্পষ্টতা এড়ানো দরকার।

* "সংযোগ" এখানে মাপদণ্ডের একটি সেট বোঝায় যা তাদের সংশ্লিষ্ট প্রতিক্রিয়ার অনুরোধগুলি মিলতে ব্যবহার করতে পারে। উদাহরণস্বরূপ উৎস আইপি / সোর্স পোর্ট / গন্তব্য আইপি / গন্তব্য পোর্ট টিপল টিসিপি / ইউডিপি বা আইসিএমপি প্রশ্নের জন্য উৎস আইপি / টাইপ / আইডি / কোড / গন্তব্য আইপি।

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