পিং লোকালহোস্ট এবং পিং 127.0.0.1 এর মধ্যে পার্থক্য কী?


31

পিিংয়ের উত্তরগুলি অক্ষম করতে নিম্নলিখিতগুলি সম্পাদন করার পরে:

# sysctl net.ipv4.icmp_echo_ignore_all=1
# sysctl -p

127.0.0.1 বনাম লোকহোস্টের পিং থেকে আমি বিভিন্ন ফলাফল পেয়েছি

# ping -c 3 localhost
PING localhost(localhost (::1)) 56 data bytes
64 bytes from localhost (::1): icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from localhost (::1): icmp_seq=2 ttl=64 time=0.035 ms
64 bytes from localhost (::1): icmp_seq=3 ttl=64 time=0.101 ms

--- localhost ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2042ms
rtt min/avg/max/mdev = 0.047/0.072/0.101/0.022 ms

পিংং 127.0.0.1 ব্যর্থ:

ping -c 3 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.

--- 127.0.0.1 ping statistics ---
3 packets transmitted, 0 received, 100% packet loss, time 2032ms

কেন এই ফলাফলগুলি পৃথক?

উত্তর:


60

pingকমান্ড শো ঠিকানা যা নাম সমাধান। এই ক্ষেত্রে এটি IPv6 লোকালহোস্ট ঠিকানার সমাধান হয়েছে ::1,। অন্যদিকে, 127.0.0.1এটি একটি আইপিভি 4 ঠিকানা, সুতরাং এটি স্পষ্টতই pingআইপিভি 4 ব্যবহার করে।

sysctlআপনি শুধুমাত্র ব্যবহৃত IPv4- র পিংস প্রভাবিত করে, তাই আপনার জন্য প্রত্যুত্তর পেতে সহায়তা ::1, কিন্তু না জন্য 127.0.0.1

সমাধানের মাধ্যমে আপনি যে ঠিকানাটি পান localhostতা আপনার ডিএনএসের রেজলভার কীভাবে সেট আপ হয় তার উপর নির্ভর করে। localhostসম্ভবত সেট আপ করা আছে /etc/hosts, তবে তাত্ত্বিকভাবে আপনি এটি একটি আসল নাম সার্ভার থেকে পেতে পারেন।


আইপিভি p পিংস কীভাবে ফেলবেন, আপনার আইপিভি for-এর জন্য সাদৃশ্য ip6tablesরয়েছে বলে মনে হতে পারে sysctl। অথবা আপনি যদি আপনার নেটওয়ার্কে এটি ব্যবহার না করেন তবে কেবলমাত্র আইপিভি 6 অক্ষম করুন। (অবশ্যই এটি খুব সামনের দিকে তাকানোর মত ধারণা নয়, তবে আপনি যদি বর্তমানে কোনওভাবে এটি ব্যবহার না করেন তবে তা সম্ভব able


2
আইপিভি 6 এর সঠিকভাবে কাজ করার জন্য আইসিএমপি ব্লক করা উচিত নয় । ;)
zaTricky

3
@ জ্যা ট্রিকি, প্রশ্নটিতে কেবল পিংকে ব্লক করার বিষয়টি উল্লেখ করা হয়েছে। দুর্ভাগ্যজনক এবং খুব দরকারী না হলেও, আমি মনে করি না এটির সাধারণ কিছু ভাঙা উচিত। সমস্ত আইসিএমপি প্যাকেটগুলি ব্লক করা স্পষ্টতই আরও খারাপ হবে, তবে কেউই এমনও পরামর্শ দেয়নি যে, এখানে কেবল দুটি মন্তব্যেই এটি উল্লেখ করা হয়েছিল ...
ইলক্কাচু

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

33

127.0.0.1:
127.0.0.1 বেশিরভাগ সিস্টেমের ডিফল্ট লুপব্যাক। একটি লুপব্যাক ঠিকানা ওএসের নেটওয়ার্ক স্ট্যাকটি যাচাই করতে সিস্টেম দ্বারা ব্যবহৃত একটি ঠিকানা।
আইপিভি 4 127.0.0.0/8
এর লুপব্যাক ঠিকানা সাবনেটের ::1/128
pingকোনও মান নিতে পারে আইপিভি 6 এর লুপব্যাক ঠিকানা সাবনেটের কোনও মান নিতে পারে যদি আপনার নেটওয়ার্ক স্ট্যাকটি আপনার ওএসে কাজ করে থাকে তবে এই পরিসরের কোনও মানই কাজ করতে পারে।

লোকালহোস্ট:
localhost এটি একটি হোস্টনাম, এটি এক ধরণের ডোমেন নাম তবে আপনার নিজের মেশিনে স্থানীয়।
এই হোস্টনামটি ডিফল্টরূপে আপনার আইপিভি 4 এবং আইপিভি 6 লুপব্যাকের দিকে নির্দেশ করে যা প্রায়শই 127.0.0.1বা হয় ::1

localhostফাইল সম্পাদনা করে ঠিকানা সহজেই পরিবর্তন করা যেতে পারে /etc/hosts
যদি আপনার সিস্টেম পরিষেবাটি ব্যবহার করে systemd-resolved, এই পরিষেবাটি লোকালহোস্টের সমাধানের উপায়টিকে পরিচালনা করবে।
এর ডকুমেন্টেশন অনুযায়ীsystemd-resolved :

"লোকালহোস্ট" এবং "লোকালহোস্ট.লোকাল্ডোমাইন" (পাশাপাশি ".localhost" বা ".localhost.localdomain" এ শেষ হওয়া কোনও হোস্টনাম) আইপি ঠিকানাগুলিতে সমাধান করা হয় 127.0.0.1এবং::1

পিং
যখন আপনি কোনও হোস্টনাম বা ডোমেন নাম পিন করার চেষ্টা করেন এটি ওএসকে এই হোস্টনাম বা ডোমেন নামটি সমাধান করতে বলবে। আপনার ক্ষেত্রে, আপনি অক্ষম করেছেন icmpv4তবে লোকালহোস্ট আপনার আইপিভি 6 লুপব্যাক এবং আপনার আইপিভি 4 লুপব্যাক হিসাবে সমাধান করা হয়েছে তবে কেবলমাত্র আপনার আইপিভি 6 লুপব্যাক উত্তর।
পার্থক্যটি একটি ক্ষেত্রে আপনি একটি আইপি পিং করার চেষ্টা করছেন এবং অন্য ক্ষেত্রে আপনি একটি হোস্টনাম পিং করছেন যা বেশ কয়েকটি মান গ্রহণ করতে পারে।

আইসিএমপিভি 6 অক্ষম করুন
যদি আপনার আইপিভি 6 না লাগে আমি আপনাকে এটি অক্ষম করার পরামর্শ দিই। এটি ফায়ারওয়াল এবং কনফিগারেশন পরিষেবাগুলিতে আপনার যা করতে হবে তা দ্বিগুণ করবে:

sysctl -w net.ipv6.conf.all.disable_ipv6=0

আপনি যদি এখনও আইপিভি 6 সমর্থন চান এবং এড়াতে চান তবে আপনি icmpv6ব্যবহার করতে পারেন ip6tables:

ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP

2
আপনার হোস্ট ফাইলটিতে কিছু ভুল। এটিতেও এটি থাকা উচিত ::1 localhost
মাইকেল হ্যাম্পটন

2
পার্শ্ব দ্রষ্টব্য: মনে রাখবেন আইপিভি 4 এর চেয়ে পুরো 127.0.0.0/8 নেটওয়ার্ক লুপব্যাকের ঠিকানা (সুতরাং এটিও ping 127.100.101.102কাজ করবে)।
jjmontes

1
প্রবেশের জন্য localhostঅগত্যা প্রয়োজন হয় না /etc/hosts। উদাহরণস্বরূপ, জন্য systemd-সমাধান হয়েছে synthesizes ডিএনএস সম্পদের রেকর্ডগুলি localhostএবং localhost.localdomain
জোহান ম্যারেইন


2
"সাবনেট" :: 1/128 কেবলমাত্র একটি আইপি এর সাথে মিলে যায়, 127.0.0.1/32 এর মতো কেবল সেই আইপি-র সমাধান হয় ol
zaTricky

9

লোকালহোস্টের দুটি ঠিকানা রয়েছে, একটি আইপিভি 6 ঠিকানা :: 1 এবং একটি আইপিভি 4 ঠিকানা 127.0.0.1।

আইপিভি 6 ডিফল্ট প্রোটোকল, সুতরাং :: 1 সর্বদা 127.0.0.1 এর চেয়ে বেশি পছন্দ করা হয়। লোকালহোস্টকে পিং করতে বলার কারণেই আপনি :: 1 টি পিন করেছেন।

কেন আপনি :: 1 পিং করতে পারেন তবে 127.0.0.1 পিং করতে পারেননি, আপনার সিস্টেমে কেবল আইপিভি 4 এর জন্য পিংস অক্ষম করেছে, তবে আইপিভি 6 এর জন্য নয়। আমি যতদূর বলতে পারি, আইপিভি 6 এর জন্য পিংস অক্ষম করার জন্য কোনও সম্পর্কিত সিস্কটেল নেই, তবে আপনার যদি সত্যিই প্রয়োজন হয় তবে আপনি ফায়ারওয়ালে এটি অক্ষম করতে পারেন (অবশ্যই এটি অক্ষম করা কোনওভাবেই প্রস্তাব দেওয়া হয় না)।


5
আইপিভি 6 এর জন্য পিংস অক্ষম করার পরামর্শ দেওয়া হয়েছে এটির সংযোগ বিচ্ছিন্ন করার জন্য, টেরেডো ঠিকানা থেকে সংযুক্ত লোকেরা আর মেশিনে পৌঁছতে পারবেন না (যেহেতু এটি পিং ব্যবহার করে নিকটতম টেলিডো টানেল মেশিনটি নির্বাচন করে)
ফেরিবিগ

1
আইপিভি 6 বনাম আইপিভি 4 এর জন্য নাম রেজোলিউশনের পছন্দটি /etc/gai.confফাইলের মাধ্যমে নিয়ন্ত্রণ করা যায় । ডিফল্টরূপে, এটিতে কেবল মন্তব্য রয়েছে। আপনি যদি এতে precedenceলাইনগুলিকে অবিচ্ছিন্ন করেন এবং পরিবর্তিত মন্তব্যেও প্রস্তাবিত হন, আপনি ডিফল্ট আইপিভি 6 এর পরিবর্তে হোস্টনাম রেজোলিউশনটি আইপিভি 4 পছন্দ করতে পারবেন।
টেলকোমে

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