আইপি প্যাকেট ফরোয়ার্ড করার জন্য আমি কীভাবে আমার লিনাক্স বাক্সটিকে রাউটার হিসাবে সেট করতে পারি?


25

আমি আইপি প্যাকেট ফরওয়ার্ডিং সম্পর্কে একটি নেটওয়ার্ক পরীক্ষা করছি, তবে কেন এটি কাজ করে তা আমি জানি না।

আমার কাছে দুটি নেটওয়ার্ক ইন্টারফেসের সাথে একটি লিনাক্স মেশিন রয়েছে, এথ0 এবং ইথ 1 উভয়ই স্থির আইপি ঠিকানার (eth0: 192.168.100.1, eth1: 192.168.101.2)।

আমার লক্ষ্যটি সহজ, আমি কেবল এথ 1 থেকে আইপি 1 প্যাকেটগুলি গন্তব্য সহ 192.168.100.0/24 এথ0 তে ফরোয়ার্ড করতে চাইছি এবং আইপি প্যাকেটগুলি এথ0 থেকে গন্তব্য সহ 192.1.168.101.0/24 এথ 1 তে ফরোয়ার্ড করতে চাই।

আমি আইপি ফরোয়ার্ডিং এর সাথে চালু করেছি:

sysctl -w net.ipv4.ip_forward=1

আমার রাউটিং টেবিলটি এরকম:

# route -n
Kernel IP routing table
Destination     Gateway     Genmask        Flags Metric Ref   Use  Iface
192.168.100.0   0.0.0.0     255.255.255.0  U     0      0       0  eth0
192.168.101.0   0.0.0.0     255.255.255.0  U     0      0       0  eth1

তবে, আমি যখন 192.168.100.25 থেকে 192.168.101.47 থেকে পিং করার চেষ্টা করি তখন এটি কার্যকর হয় না।

উত্তর:


23

কমান্ড ব্যবহার করে আপনাকে একটি ফরওয়ার্ডিং রুল যুক্ত iptablesকরতে হবে, এরকম কিছু:

modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth1 -j ACCEPT

দেখতে man iptablesআরো বিস্তারিত জানার জন্য, অথবা হাওটুর নিবন্ধ জন্য অনুসন্ধান ইন্টারনেট, উদাহরণস্বরূপ একটি Linux- ভিত্তিক কম্পিউটারে একটি ন্যাট রাউটার সেটআপ করার জন্য

এখানে লিনাক্স আইপি মাস্ক্রেড হাওটিও রয়েছে যা বিষয়টিতে বিশদ আলোচনা করে।

আপনারও নিশ্চিত করতে হবে যে FORWARDউপরোক্ত ACCEPTনিয়মটি ওভাররাইড করে চলেছে এমন কোনও বিধি (যেমন শৃঙ্খলে রয়েছে) আপনার নেই । যদি থাকে তবে আপনি সম্ভবত এগুলি মুছতে চান।


আমি জানি না কেন, তবে এটি এখনও কাজ করে না। আমি উভয় iptables -A FORWARD -i eth0 -o eth1 -j ACCEPTএবং iptables -A FORWARD -i eth1 -o eth0 -j ACCEPTআমার টেবিলে যুক্ত করেছি। এবং আমার ইনপুট, আউটপুট, এবং ফরওয়ার্ড নীতি সবই ACCEPT
যিশু ফ্যাং

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

আমি যখন tracerouteআমার হোস্টটিতে ব্যবহার করি তখন এটি দেখায় যে প্যাকেটটি "রাউটার" (192.168.100.1) এ যায় তবে এটি আর যায় না।
যিশু ফ্যাং

1
@ ইউনিউমস: মনে হচ্ছে যে আমি মাসওয়ার্ডে জিনিসটি ভুলে গেছি - আমি আমার উত্তর সম্পাদনা করেছি এবং নিবন্ধগুলিতে নতুন লিঙ্ক যুক্ত করেছি।
সার্জি

2

আপনাকে 192.168.100.25 এবং 192.168.101.47 উভয় পথে একটি রুট যুক্ত করতে হবে।

আপনার ফরোয়ার্ডিং সার্ভারে যদি 192.168.100.1 এবং 192.168.101.1 আইপি থাকে আপনি ক্লায়েন্টে 192.168.100.25 যুক্ত করতে পারবেন

ip route 192.168.101.0/24 via 192.1268.100.1

এবং ক্লায়েন্টে 192.168.101.47

ip route 192.168.100.0/24 via 192.168.101.1

(এটি কেবলমাত্র ফরওয়ার্ডিং সক্ষম করার সাথে কাজ করে, কোনও আইপেটেবল নেই)।

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