আমি একটি ইন্টারফেসে ঠিকানাগুলির একটি (বৃহত) ব্লক বাঁধতে পারি?


26

আমি জানি যে আইপি সরঞ্জামটি আপনাকে একটি ইন্টারফেসে একাধিক ঠিকানা বাঁধতে দেয় (যেমন, http://www.linuxplanet.com/linuxplanet/tutorials/6553/1/ )। এখনই, যদিও আমি আইপিভি 6 এর শীর্ষে কিছু তৈরির চেষ্টা করছি, এবং ঠিকানার সম্পূর্ণ ব্লক (বলুন, একটি / 64) পাওয়া সত্যিই কার্যকর হবে, যাতে প্রোগ্রামগুলি পরিসীমা থেকে কোনও ঠিকানা বাছাই করতে পারে এবং এটি আবদ্ধ। বলা বাহুল্য, এই ব্যাপ্তিটি থেকে একটি ইন্টারফেসে প্রতিটি আইপি সংযুক্ত হতে কিছু সময় লাগবে।

লিনাক্স কি কোনও ইন্টারফেসের ঠিকানার পুরো ব্লককে সমর্থন করে?


বিভিন্ন ডিস্ট্রোদের এটি পরিচালনা করার বিভিন্ন উপায় রয়েছে। একটা তোল.
Ignacio Vazquez-Abram

উবুন্টু এখনই, তবে অবশ্যই ডিস্ট্রস জুড়ে কাজ করা সমাধানগুলি অবশ্যই পছন্দসই।
পি-স্থির

এই টিউটোরিয়ালটি একটি ব্লকের মধ্যে (/ 24) একক ঠিকানা আবদ্ধ করে। / 24 কেবল এটি কোন ব্লকটিতে রয়েছে তা সুনির্দিষ্ট করে IP এটি আইপিভি 6 এর জন্য অভিন্নভাবে কাজ করা উচিত।
বিলথোর

ক্রস-ডিস্ট্রো এমন স্ক্রিপ্ট লিখতে হবে যা "আইপি অ্যাডারে অ্যাড" ব্যবহার করে। রেড হ্যাট, উবুন্টু এবং সুসির আলাদা আলাদা নেটওয়ার্কিং স্ক্রিপ্ট রয়েছে ...
শান রিফশনিডার

1
@ChandraNakka Is এই আপনার জন্য উপযোগী?
ক্যাস্পার্ড

উত্তর:


31

লিনাক্স ২.6.৩7 এবং তারপরেও এআইআইআইপি নামক একটি বৈশিষ্ট্যের মাধ্যমে এটি সমর্থন করে । উদাহরণস্বরূপ যদি আমি চালান

ip route add local 2001:db8::/32 dev lo

একটি উবুন্টু 11.04 মেশিনে এটি 2001: db8 :: / 32 নেটওয়ার্কের যে কোনও ঠিকানায় সংযোগ গ্রহণ করবে।


1
আইপিভি 4 এর জন্য কি কোনও আইআইপি সমাধান রয়েছে?
কোকু

এটি কি উবুন্টু 14.04 এ কাজ করে?
চন্দ্র নাক্কা

এটি কাজ করে বলে মনে হচ্ছে এবং আমি ঠিকানাগুলির সীমাটি পিন করতে পারি তবে যখন আমি চালাব ip route listবা ip -6 route listযুক্ত রুটটি দৃশ্যমান হয় না। আপনি কীভাবে কোনও আইআইপি ঠিকানা ব্লক গণনা করবেন?
কল্টন

এটি স্থানীয়ভাবে ঠিকানাগুলির জন্য কাজ করে তবে আমি বাহ্যিক উত্স থেকে এই আইপিগুলিকে পিং বা অ্যাক্সেস করতে পারি না। এটা ঠিক করার কোন উপায়? (আমি
এথ0

@ ব্রেনস্টোন আপনাকে তার জন্য এনডিপিডিপি ইনস্টল করতে হবে, বা আপনার সরবরাহকারীর কাছ থেকে একটি উপসর্গ পেতে হবে
আর্য

6

হ্যাঁ, লিনাক্স একটি নেটওয়ার্ক ইন্টারফেসে নেটওয়ার্ক ঠিকানাগুলির একটি ব্লককে বাঁধাই সমর্থন করে ... তবে কেবল লুপব্যাক ইন্টারফেসে। সুতরাং আপনি এটি করতে পারেন:

ip addr add 192.168.5.0/24 dev lo

এবং তারপরে এটি করুন:

$ nmap -sP -oG - 192.168.5.0/24

# Nmap 5.21 scan initiated Tue Dec  7 11:38:28 2010 as: nmap -sP -oG - 192.168.5.0/24 
Host: 192.168.5.0 ()    Status: Up
Host: 192.168.5.1 ()    Status: Up
Host: 192.168.5.2 ()    Status: Up
[...]
Host: 192.168.5.254 ()  Status: Up
Host: 192.168.5.255 ()  Status: Up
# Nmap done at Tue Dec  7 11:38:46 2010 -- 256 IP addresses (256 hosts up) scanned in 0.11 seconds

যথাযথ রুটের জায়গায় এটি আপনি যা করতে চান তা করবে ... আইপিভি 4 অ্যাড্রেসের জন্য। আপনি আইপিভি 6 সম্পর্কে জিজ্ঞাসা করেছেন, এবং আইপিভি 6 এর সাথে আমার কোনও অভিজ্ঞতা নেই, তবে এটি একইভাবে কাজ করার একটি ভাল সুযোগ আছে।

আমি মূলত এটি সম্পর্কে এখানে (নিবন্ধের নীচের দিকে) পড়েছি । মনে রাখবেন যে এই আর্টিকেলটিতে CentOS / Red Hat বৈশিষ্ট্যগুলি সম্পর্কে আগে জানা ছিল না সেগুলি কীভাবে স্পষ্টভাবে একটি ইন্টারফেসে একাধিক ঠিকানা বরাদ্দ করা যায় তা নিয়ে আলোচনা করা হয়েছে।


শান্ত! আমি কোনও ভাগ্য ছাড়াই উবুন্টুতে (লুসিড অ্যান্ড হার্ডি) আইপিভি 6 দিয়ে চেষ্টা করেছি। আমি মনে করি এটি আইপিভি 6 এর জন্য একটি হত্যাকারী বৈশিষ্ট্য হবে - আপনি ঠিকানাগুলি মানচিত্র করতে পারেন ডাটাবেস অবজেক্টগুলি করতে বা সেশন আইডি হিসাবে ঠিকানাগুলি ব্যবহার করতে পারেন।
জেরাল্ড কম্বস

2
না, আপনাকে লো তে কোনও ঠিকানা যুক্ত করা উচিত নয়। পরিবর্তে, একটি রুট যোগ করুন: ip -6 route add local <ip> dev lo
নবীন

2

সুতরাং আমি এখানে কয়েকটি বিকল্প দেখতে পাচ্ছি:

  1. ইন্টারফেসে পৃথকভাবে ঠিকানাগুলিকে আবদ্ধ করতে একটি স্ক্রিপ্ট ব্যবহার করুন

  2. আপনার মেশিনের একক ঠিকানায় আপনি যে ব্লকটি চান তা সরিয়ে ফেলুন এবং তারপরে সেই মেশিনটি পিসিএফ ইন্টারফেসটি সমস্ত ধরণের ট্র্যাফিককে ব্লক (যেমন এটি একটি রাউটার হিসাবে) আটকাতে ব্যবহার করবে এবং এটি পরিচালনা করবে।

  3. আপনি একযোগে আইপিএসের একটি ব্লককে সেই মেশিনের একক অভ্যন্তরীণ আইপি-তে রচনা করতে আইপিএসের একটি ব্লকটি পুনরায় লেখার জন্য নির্বিঘ্নে কৌশলগুলি খেলতে পারেন ... তবে আপনি এখনও আইপি প্রতি একটি অভ্যন্তরীণ আইপি দিয়ে শেষ করতে পারবেন যা আপনি সত্যিই দিতে চান মনোযোগ, যা আপনাকে সমাধান 1 এ ফিরে আসে।

আমি যদি আপনি হয়ে থাকি তবে আমি কেবল 1 বিকল্পে ছোট স্ক্রিপ্টটি লিখতাম বা এখান থেকে একটি ব্যবহার করতে পারি :

#!/bin/sh
if [ "$#" -ne "4" ]; then
        echo Usage:
        echo " $0 interface ip range netmask"
        echo " examples:"
        echo "  1) Assuming you want to bind the IP range 192.168.0.1..192.168.0.254 to eth0 with netmask 255.255.255.0:"
        echo "  $0 eth0 192.168.0. 1..254 255.255.255.0"
        echo "  2) Assuming you want to bind the IPv6 range 2001:41d0:1:5000::1-2001:41d0:1:5000::254 to eth0 with netmask /56"
        echo "  $0 eth0 2001:41d0:1:5000:: 1..254 56"
else
        echo "Attempting to assign the IP range $2($3) to interface $1 with netmask $4"
        for ip in $(eval echo "{$3}"); do ifconfig -v $1 add $2$ip netmask $4; done
fi

এরকম স্ক্রিপ্টের নাম কোথায় রাখা হবে?
স্কেপেরেন

2

অন্যরা যেমন বলেছে, আপনি লোকালহোস্ট ইন্টারফেসে সম্পূর্ণ সাবনেটের জন্য আগত প্যাকেটগুলি রুট করতে যে কোনও আইআইপি প্রক্রিয়া ব্যবহার করতে পারেন তবে মনে রাখবেন যে আপনাকে এই মেশিনে সমস্ত পছন্দসই প্যাকেটগুলি রুট করার জন্য আপনার প্রবাহের রাউটারটিও পেতে হবে mind প্রথম স্থান. এটি কেবল রাউটারের টেবিল এন্ট্রিগুলির মাধ্যমে বা বিজিপির মাধ্যমে করা যেতে পারে can আপনার মেশিনকে পৃথকভাবে প্রতিটি আইপি-এর জন্য এআরপি দিতে হবে তা এআরপি আসলেই উপযুক্ত নয়।


1

উপরে বর্ণিত "অনিআইপি" সেন্টোস me এ আমার পক্ষে কাজ করেনি I বুট করার সময় আমাকে নিজে নিজে আইপিভি 6 ঠিকানা তৈরি করতে একটি স্ক্রিপ্ট তৈরি করতে হয়েছিল। এটি করার জন্য আমি নিম্নলিখিতগুলি / etc / crontab এ যুক্ত করেছি:

@reboot root /path/to/bashscript

মোটামুটি 3000 আইপিভি 6 অ্যাড্রেস তৈরি করতে এখানে বাশ স্ক্রিপ্ট রয়েছে:

#!/bin/bash
INETP="2a00:xxxx:xxxx:xxxx::"
PRE="64"
INTE="eth0"
IP1=/sbin/ip
echo -n "Adding IPv6 addresses..."
for i in {3..3000}
do
$IP1 -6 addr add ${INETP}$(printf '%x\n' $i)/${PRE} dev ${INTE}
done
echo "Done!"

আপনি প্রায় 4000 ঠিকানায় পৌঁছানো পর্যন্ত এই পদ্ধতিটি কেবলমাত্র কাজ করে। আপনি যদি এর চেয়ে আরও ঠিকানা কনফিগার করার চেষ্টা করেন তবে এটি কাজ করবে না। এমন পরিস্থিতিতে রয়েছে যেখানে কোনও একক হোস্টকে পুরো / 96৯ বা / 64৪ নির্ধারণ করা বাঞ্ছনীয়, আপনার পদ্ধতিটি এতদূর পরিমাপ করার কোনও উপায় নেই।
ক্যাস্পারড

@ ক্যাস্পারড যেখানে আপনি জেরাল্ড কম্বস দ্বারা সেন্টোস 7 বা ডেবিয়ান 8 এর উপরে কাজ করা তথাকথিত যেকোন পদ্ধতিতে "বর্ণিত" করতে সক্ষম?
নিকোলাস গুরিনেট

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