আমি কেন ফ্রিবিএসডি এর অধীনে লুপব্যাক ডিভাইসে কোনও ঠিকানা পিং করতে পারি না?


10

উইকিপিডিয়া থেকে :

লুপব্যাক ডিভাইসে সর্বাধিক ব্যবহৃত আইপি ঠিকানাটি আইপিভি 4 এর জন্য 127.0.0.1 হয়, যদিও 127.0.0.0 থেকে 127.255.255.255 এর মধ্যে কোনও ঠিকানা এতে ম্যাপ করা থাকে।

অন্তত ফ্রিবিএসডি-তে এটি সত্য নয়:

$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
ping: sendto: Can't assign requested address

এটা কি সঠিক আচরণ?

উত্তর:


9

ফ্রিবিএসডি (এছাড়াও ওএস এক্স, এবং আমি বিশ্বাস করি যে নেটবিএসডি এবং ওপেনবিএসডি) লুপব্যাক ইন্টারফেসে কনফিগার করা ঠিকানাগুলিতে যেমন অনুরোধ পাঠানো হয়েছে তেমন প্রতিক্রিয়া জানাবে , যেমন তারা অন্য কোনও ইন্টারফেসের ঠিকানার জন্য চায় - আপনি যদি উত্তর চান তবে আপনাকে প্রথমে ঠিকানাটি নির্ধারণ করতে হবে :

mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
ping: sendto: Can't assign requested address
^C

[mgraziano@monitor ~]$ sudo ifconfig lo0 alias 127.1.1.1 netmask 0xFFFFFFFF

[mgraziano@monitor ~]$ ifconfig lo0
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
    options=3<RXCSUM,TXCSUM>
    inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3 
    inet6 ::1 prefixlen 128 
    inet 127.0.0.1 netmask 0xff000000 
    inet 127.1.1.1 netmask 0xffffffff 
    nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

[mgraziano@monitor ~]$ ping 127.1.1.1
PING 127.1.1.1 (127.1.1.1): 56 data bytes
64 bytes from 127.1.1.1: icmp_seq=0 ttl=64 time=0.020 ms
^C

এই প্রয়োগের পিছনে যুক্তি সম্পর্কে, দেখুন আরএফসি 3330 :

127.0.0.0/8 - এই ব্লকটি ইন্টারনেট হোস্ট
লুপব্যাক ঠিকানা হিসাবে ব্যবহারের জন্য বরাদ্দ করা হয়েছে ।
এই ব্লকের মধ্যে যে কোনও স্থানে কোনও উচ্চ স্তরের প্রোটোকল প্রেরিত একটি ডেটাগ্রামের হোস্টের অভ্যন্তরে ফিরে আসা উচিত।
এটি সাধারণত 127.0.0.1/32 লুপব্যাকের জন্য ব্যবহার করে প্রয়োগ করা হয় ,
তবে এই ব্লকের কোনও ঠিকানা কোনও নেটওয়ার্কে আর
কোনও জায়গায় উপস্থিত হওয়া উচিত নয় [ আরএফসি 1700 , পৃষ্ঠা 5]।

(জোর আমার)
লিনাক্স এবং উইন্ডোজ এখানে "সহায়ক" হচ্ছে, তবে আমার চেয়ার থেকে একটি অনুরোধের উত্তর দেওয়া যা এই হোস্টকে বরাদ্দ না করা ঠিকানায় পাঠানো হয়েছিল এটি সঠিক আচরণ নয় ...


7

আপনি ফ্রিবিএসডি 8.1 তে বর্ণিত একই আচরণটি দেখছি। ম্যাক ওএস এক্স, যা ফ্রিবিএসডি-র সাথে কিছু ডিএনএ ভাগ করে, কেবলমাত্র 127.0.0.1 মানচিত্র করে।

উইন্ডোজ and এবং লিনাক্স (২.6.২6 কার্নেল দিয়ে ডেবিয়ান) উভয়ই পুরো উইন্ডো উইকিপিডিয়া উদ্ধৃতিতে বর্ণিত (এবং আরএফসিতে উল্লিখিত) হিসাবে পুরো ঠিকানার সীমাটি মানচিত্রিত করতে উপস্থিত হবে।

আরএফসি 3330 থেকে উদ্ধৃতি:

127.0.0.0/8 - এই ব্লকটি ইন্টারনেট হোস্ট লুপব্যাক ঠিকানা হিসাবে ব্যবহারের জন্য বরাদ্দ করা হয়েছে। এই ব্লকের মধ্যে যে কোনও স্থানে কোনও উচ্চ স্তরের প্রোটোকল প্রেরিত একটি ডেটাগ্রামের হোস্টের অভ্যন্তরে ফিরে আসা উচিত। এটি সাধারণত 127.0.0.1/32 লুপব্যাকের জন্য ব্যবহার করে প্রয়োগ করা হয়, তবে এই ব্লকের কোনও ঠিকানা কোনও নেটওয়ার্কে আর কোনও জায়গায় উপস্থিত হওয়া উচিত নয় [আরএফসি 1700, পৃষ্ঠা 5]।

আপনি "কী" শব্দটি কঠোরভাবে ব্যাখ্যা করেছেন তার উপর নির্ভর করে কেউ কেউ ফ্রিবিএসডি / ম্যাকোস আচরণটি ভুল বলে মনে করে। তবে লুপব্যাকের ঠিকানা হিসাবে 127.0.0.1 এর সর্বব্যাপী ব্যবহারের ফলে আমি সন্দেহ করি এটি সম্ভবত গুরুত্বপূর্ণ।


3
+1 ডিফল্টরূপে কেবল 127.0.0.1 লো-তে নির্ধারিত হয়। আপনি অবশ্যই বাকি যোগ করতে পারেন যদিও; আমি ভাবতে পারি না এমন অনেক পরিস্থিতি যেখানে তা গুরুত্বপূর্ণ।
ক্রিস এস

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

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


2
@ Voretaq7 আমি প্রথমে এটি সম্পূর্ণ উদ্ধৃত করেছি ed :)
ইজ

0

প্রবণতা এটি buck। এটির ফ্রিবিএসডি বা আপনার কনফিগারেশন কিনা তা নিশ্চিত করার জন্য কোনও ফ্রিবিএসডি বক্স হাতে নেই।

আরএফসি 127.0.0.1/24 বলে - তাই এটি প্রতিক্রিয়া জানানো উচিত।


1
প্রকৃতপক্ষে আরএফসি 127.0.0.0/8 বলছে, তবে সেই সীমাতে কোন নির্দিষ্ট ঠিকানা (এস) ব্যবহার করবে তা নির্দিষ্ট করে না: কনভেনশন অনুসারে সেই ব্যাপ্তির প্রথম ব্যবহারযোগ্য ঠিকানা (127.0.0.1) হিসাবে বরাদ্দ করা হয়েছে localhost, তবে আপনি 127.32 ব্যবহার করতে পারেন আপনি চাইলে আপনার নিজের ওএস প্রয়োগে .194.75। (এটি করা আপনাকে রাগান্বিত
সিস্টাডমিনদের

0

প্রশ্নের তিনটি সময়ের মধ্যে পুরোপুরি উত্তর দেওয়া হয়েছে, তাই আমি কিছু সেন্ট যুক্ত করতে চেয়েছিলাম।

মনে রাখবেন যে বেশ কিছু সময়ের জন্য ডিফল্ট ipfw কনফিগারেশন এই ধরণের প্যাকেটগুলি ড্রপ করে:

./rc.firewall:  ${fwcmd} add 100 allow ip from any to any via lo0
./rc.firewall:  ${fwcmd} add 300 deny ip from 127.0.0.0/8 to any

পরিবর্তে সক্ষম ফায়ারওয়াল দিয়ে তাই

ping: sendto: Can't assign requested address

আপনি পেতে পারেন

[savetherbtz@PH34R ~]$ ping 127.0.0.2
PING 127.0.0.2 (127.0.0.2): 56 data bytes
ping: sendto: Permission denied

পুনশ্চ. কারণ হিসাবে সেখানে INET(আইপিভি 4 সমর্থন) ব্যতীত সার্ভার নির্মিত হতে পারে এবং আপনার কাছে এমনকি 127.0.0.1=) থাকবে না

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