IPv6 लूपबैक पते (127.xxx के बराबर)


16

मेरे पास एक विकास का माहौल है जहां मेरे पास कई वेबसाइटों के लिए एक अलग लूपबैक पता है।

उदाहरण के लिए, मेरे पास निम्नलिखित हैं:

127.0.0.1 www.example.com
127.0.0.2 foo.example.com
127.0.0.3 bar.example.com
127.0.0.4 waffles.example.com

मैं IPv6 के लिए एक समतुल्य समाधान चाहूंगा।

मुझे पहले से पता है कि आप लूपबैक पते के रूप में :: 1 का उपयोग कर सकते हैं, लेकिन :: 2, :: 3, आदि काम नहीं करते।

क्या IPv6 में कोई अन्य लूपबैक पते हैं? वहाँ कई अद्वितीय लूपबैक पते के लिए एक रास्ता है?


1
मैं सिफारिश करूँगा :: ffff: 7f00: 1, :: ffff: 7f00: 2, और इसी तरह, लेकिन कोई संदेह नहीं है कि कोई मुझ पर सड़े फल फेंक देगा।
Womble

आप IPv6 इंटरफ़ेस-लोकल मल्टीकास्ट स्कोप में कुछ आज़मा सकते हैं। यह आपके मेजबान में वापस लूप करेगा, और यह एक बड़ी रेंज है। आपके लिए काम करता है या नहीं यह इस बात पर निर्भर करने वाला है कि आप क्या करने की कोशिश कर रहे हैं।
रॉन मौपिन

जवाबों:


13

तकनीकी रूप से :: 2, :: 3 आदि :: 0.0.0.0/96 का हिस्सा हैं, "आईपीवी 4 संगत आईपीवी 6 पता" रेंज। यह पदावनत है, लेकिन आप शायद उस सीमा का उपयोग नहीं करना चाहते हैं।

एक प्रयोगशाला वातावरण के लिए, अद्वितीय स्थानीय पते का उपयोग करें। Https://www.ultratools.com/tools/rangeGenerator पर जाएं और खुद को एक उपसर्ग बनाएं। फिर आप उस उपसर्ग में से जो भी पते चाहें निकाल सकते हैं, और उन्हें लूपबैक इंटरफ़ेस में असाइन कर सकते हैं।


क्यों नहीं :: 127.0.0.0/96?
टोड

9

आपका लूपबैक एड्रेस :: 1/128 है। सबनेट की चौड़ाई पर ध्यान दें जो इसे केवल एक होस्ट तक सीमित करता है। सबनेटमैस्क को कुछ व्यापक में बदलें और अपनी रूटिंग टेबल की जांच करें। या लिंक-स्थानीय आदतों का उपयोग करें।


1
यह उत्तर बेहतर होगा, यदि आप या तो दोनों पर, खिड़कियों या लिनक्स पर, अतिरिक्त IPv6 पतों को लूपबैक इंटरफ़ेस से कैसे जोड़ते हैं। IPv4 में, आपको 127.0.0.1/8 मिलता है, और IPv6 में आपको :: 1/128 मिलता है, तो क्या IPv6 के लिए कुछ और जोड़ने का कोई तरीका है?
विलियम

2
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ sudo ip route add local ::/104 dev lo 
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ ping6 ::2
PING ::2(::2) 56 data bytes
64 bytes from ::2: icmp_seq=1 ttl=64 time=0.083 ms
64 bytes from ::2: icmp_seq=2 ttl=64 time=0.128 ms
^C
--- ::2 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.083/0.105/0.128/0.024 ms
jcomeau@aspire:~/rentacoder/jcomeau/kybyz$ ping6 ::3
PING ::3(::3) 56 data bytes
64 bytes from ::3: icmp_seq=1 ttl=64 time=0.148 ms
64 bytes from ::3: icmp_seq=2 ttl=64 time=0.141 ms
64 bytes from ::3: icmp_seq=3 ttl=64 time=0.142 ms

से Can मैं बाँध एक (बड़े) एक अंतरफलक के लिए पतों का ब्लॉक?

यह केवल एक चीज है जो मेरे लिए काम करती है। linux- विशिष्ट, निश्चित रूप से।

नोटा नेक : क्योंकि यह भविष्य में किसी समय 0.0.0.0/8 पते के साथ संघर्ष कर सकता है, ::127.0.0.0/104शायद एक बेहतर विकल्प होगा।


यह बेन जेन्क्स द्वारा वर्णित के रूप में आईपीवी 4 संगतता के लिए आरक्षित सीमा में रूटिंग टेबल को प्रभावी ढंग से चौड़ा कर रहा है।
कॉर्कमैन

जो भी मुझे चिंतित करता है। यह परीक्षण के उद्देश्यों के लिए है; यह मेरी स्थानीय मशीन पर है; यह किसी और को नहीं बल्कि खुद को प्रभावित करता है।
jcomeau_ictx

1
@jcomeau_ictx यह आपको चिंतित करता है या नहीं, यह आपके जवाब का उपयोग करने वाले किसी भी व्यक्ति को चिंतित कर सकता है, क्योंकि यह तब उन्हें प्रभावित करेगा
mtraceur

यह हो सकता है, लेकिन IPv4 रेंज 0/8 को असाइन किए जाने तक यकीनन नहीं। वैसे भी, मैं अपना जवाब ठीक कर दूँगा।
jcomeau_ictx

यह बुरा होता जब मैंने / 96 का उपयोग किया था, लेकिन मैंने / 104 का उपयोग किया। वैसे भी, मैंने उपयोग करने का उत्तर संपादित किया :: 127.0.0.0/104, लूपबैक रेंज।
jcomeau_ictx

2

मैं इसके लिए RFC 4193 पतों का उपयोग करने की सलाह देता हूं । RFC 4193 आपको fd5 यादृच्छिक बाइट्स के बाद बाइट मान द्वारा स्थानीय उपयोग के लिए अपना / 48 बनाने की अनुमति देता है । आपको पहले 48 बिट्स के बाद आप जो कुछ भी देख सकते हैं उसे फिट करने की अनुमति है, इसलिए यदि आप / 64 चाहते थे तो आप fdलिनक्स सिस्टम के लिए इस उदाहरण के अनुसार 7 यादृच्छिक बाइट्स ले सकते हैं :

ip -6 route add to local fd66:29e9:f422:8dfe::/64 dev lo

RFC 4193 का उपयोग करने से पहले के जवाबों की तुलना में लाभ होता है कि आप ऐसा करने में किसी भी RFC का उल्लंघन नहीं कर रहे हैं और पते का उपयोग बिना इंटरफ़ेस आइडेंटिफायर के किया जा सकता है।

पहले के उत्तरों में उल्लिखित प्रत्येक श्रेणी या तो अलग-अलग उद्देश्यों या लिंक-स्थानीय पते के लिए आरक्षित श्रेणियों का उपयोग कर रही है, जिन्हें जब भी उपयोग किया जाता है, तो उन्हें एक इंटरफ़ेस पहचानकर्ता की आवश्यकता होती है।

एक एक्सपायर्ड ड्राफ्ट मौजूद है जिसमें बताया गया है कि इस रेंज 1::/32को अतिरिक्त लूपबैक एड्रेस के लिए आवंटित किया जाता है, जैसे आप पूछ रहे हैं। हालाँकि, उस मसौदे की वर्षों पहले अवधि समाप्त हो गई थी और ऐसा कोई आवंटन कभी नहीं किया गया था, जिसका आप इसके 1::/32लिए उपयोग नहीं कर सकते ।


मैंने अब RFC 4193 अनुरूप उपसर्गों को उत्पन्न करने के लिए एक छोटा कमांड लाइन टूल लिखा है: v6tools.kasperd.dk/rfc4193
kasperd

0

लिंक-स्थानीय पते का उपयोग करना एकमात्र वैध विकल्प लगता है। यहां जो सबसे अधिक सुझाव नजरअंदाज करते हैं, वह तथ्य यह है कि IPv6 उपसर्ग गुंजाइश की घोषणा करता है , और मैं नहीं चाहूंगा कि मेरा निजी निजी पता वैश्विक दायरे में हो।

तो लिनक्स के लिए:

$ sudo ip -6 address add fe80::1/64 dev lo
$ sudo ip -6 address add fe80::2/64 dev lo
$ sudo ip -6 address add fe80::3/64 dev lo

और ऐसे पतों का जिक्र करते समय इंटरफ़ेस निर्दिष्ट करें। Netcat के साथ परीक्षण:

$ nc -l -p 10001 fe80::1%lo
$ nc fe80::1%lo 10001

सही गुंजाइश की जाँच:

$ ip -6 a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 
    inet6 fe80::1/64 scope link 
       valid_lft forever preferred_lft forever

अभी भी यह हर एक आईपी जोड़ने के लिए इसे करने के लिए सक्षम होने के लिए बहुत खूबसूरत नहीं लगता है। 127.0.0.0/8 के साथ, आप उन्हें बिना किसी पूर्व पते के किसी भी पते पर बाँध सकते हैं।


नहीं, ULA साइट को स्थानीय पता करने का एक वैध तरीका है। यह इंटरनेट पर डिफ़ॉल्ट रूप से मार्ग नहीं करेगा। हालाँकि आप इसे स्थानीय रूप से रूट कर सकते हैं। एक साइट पर प्रत्येक सबनेट में आईएसपी से स्वतंत्र विश्व स्तर पर अद्वितीय निजी उपसर्ग हो सकता है
जॉन महोवाल्ड

और साइट स्थानीय स्थानीय होस्ट नहीं है। यह मेरी बात है :-)
korkman

0

IPv6 के लिए एक बड़ा लूपबैक प्रीफ़िक्स नामक एक RFC प्रोपेलर है , जो स्थानीयहोस्ट नेटवर्क के रूप में उपयोग करने का प्रस्ताव करता है। हालांकि, प्रस्ताव को मंजूरी नहीं दी गई थी और 2013 में पहले ही समाप्त हो गई थी।1::/32


इस सवाल पर पिछले साल मैंने जो उत्तर लिखा था, उसमें यह पहले ही उल्लेख किया गया था।
कास्परड

@kaspered ओह, तुम ठीक कह रहे हो, क्षमा नहीं किया क्योंकि जवाब में वास्तव में दो उत्तर शामिल हैं और दूसरे के साथ शुरू होता है।
F.Raab

मैंने वास्तव में समाप्त हो चुके मसौदे को उत्तर नहीं माना क्योंकि यह कभी भी एक मानक नहीं बना। मैंने इसे अपने उत्तर के तहत नोट किया क्योंकि यह प्रासंगिक पृष्ठभूमि की जानकारी है और उस विशेष उद्देश्य के लिए एक सीमा पर मानकीकरण पर क्या प्रयास किया गया है, इस पर कुछ संदर्भ प्रदान करता है।
कास्परड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.