ডেবিয়ানের একটি নেটওয়ার্ক ইন্টারফেসে পুরো আইপিভি 6/64 ব্লক যুক্ত করা


15

আমি একটি ইন্টারফেস ব্যবহার করে একটি সম্পূর্ণ আইপিভি 6 (/ 64) ব্লক যুক্ত করার চেষ্টা করেছি

ip route add local 2001:41d0:2:ad64::/64 dev lo

যেমনটি এখানে আমার ডেবিয়ান সার্ভারে বর্ণিত হয়েছে তবে মনে হচ্ছে আমি কিছু মিস করছি।

যদি আমি উদাহরণস্বরূপ 2001:41d0:2:ad64::feস্থানীয়ভাবে পিং করি তবে সবকিছু ঠিকঠাক কাজ করে তবে আমি যদি কোনও দূরবর্তী মেশিন থেকে চেষ্টা করি তবে এটি কাজ করে না। আমি পরে এথ0 এ রুটটি যুক্ত করার চেষ্টা করেছি:

ip route add local 2001::41d0:2:ad64::/64 dev eth0

এখন আমি স্থানীয়ভাবে কোনও উদাহরণ ঠিকানা পিং করতে পারিনি!

আমি কিছুটা হারিয়ে যাচ্ছি বলে মনে হচ্ছে তবে আমি এখানে উত্তর খুঁজে পাচ্ছি না।

সংক্ষেপে: আমি 2001:41d0:2:ad64::/64এথ0 এর সাথে আবদ্ধ হতে চাই যাতে এই ব্লকটি থাকা প্রতিটি আইপি আমার মেশিনের ইন্টারনেট থেকে পৌঁছতে পারে।

আমি আশা করি যে কেউ আমাকে সঠিকভাবে নির্দেশ করতে পারে। আগাম ধন্যবাদ.

নির্দেশিকা আইএসপি দ্বারা উপলব্ধ আমাকে explictly ইন্টারফেসে প্রতিটি IPv6, যোগ করার জন্য প্রয়োজন নেই। আমি এটা জড়িত করা চাই।

এক্সপ্লিট আইপি অ্যাড্রেস বাঁধাইয়ের সাথে কনফিগারেশন কাজ করছে

জন্য / etc / network /? ইন্টারফেস:

auto eth0
iface eth0 inet static
        address my.ip.v4
        netmask 255.255.255.0
        network my.network.address.ip
        broadcast my.broadcast.address.ip
        gateway my.gateway.ip

iface eth0 inet6 static
        address 2001:41d0:2:ad64::fe
        netmask 64
        gateway 2001:41d0:2:adff:ff:ff:ff:ff
        up ip addr add 2001:41d0:2:ad64::1/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::1/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::2/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::2/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::3/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::3/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::4/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::4/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::5/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::5/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::6/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::6/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::7/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::7/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::8/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::8/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::9/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::9/64 dev eth0
        up ip addr add 2001:41d0:2:ad64::a/64 dev eth0
        down ip addr del 2001:41d0:2:ad64::a/64 dev eth0

সমাধান চেষ্টা # 1

@ ক্যাস্পার্ডের পরামর্শ অনুসারে আমি স্থানীয় রুটটি পুনরায় চালু করার চেষ্টা করেছি।

আমার / ইত্যাদি / নেটওয়ার্ক / ইন্টারফেসের সামগ্রী

auto lo
iface lo inet loopback
    post-up ip route add local 2001:41d0:2:ad64::/64 dev lo
    pre-down ip route del local 2001:41d0:2:ad64::/64 dev lo

auto eth0
iface eth0 inet static
        # <snip of ipv4 config>

iface eth0 inet6 static
        address 2001:41d0:2:ad64::fe
        netmask 64
        gateway 2001:41d0:2:adff:ff:ff:ff:ff

স্থানীয় রুটিং টেবিল:

# ip -6 route show table local
local ::1 dev lo  proto none  metric 0
local 2001:41d0:2:ad64::fe dev lo  proto none  metric 0
local 2001:41d0:2:ad64::/64 dev lo  metric 1024
local fe80::225:90ff:fe06:6bbe dev lo  proto none  metric 0
ff00::/8 dev eth0  metric 256

traceroute(আমার স্থানীয় হোম পিসি) এর আউটপুট :

  1    <1 ms    <1 ms    <1 ms  fritz.box [xxx]

  2    20 ms    21 ms    24 ms  2002:c058:6301::1
  3    21 ms    22 ms    24 ms  10gigabitethernet6.switch2.fra1.he.net [2001:470
:0:150::1]
  4    44 ms    31 ms    40 ms  100ge3-1.core1.ams1.he.net [2001:470:0:2d4::1]
  5     *        *        *     Zeitüberschreitung der Anforderung.
  6     *        *       35 ms  ams-5-6k.nl.eu [2001:41d0::8d1]
  7    37 ms    39 ms    36 ms  rbx-g2-a9.fr.eu [2001:41d0::ab1]
  8    37 ms    70 ms    36 ms  chi-3-4m.il.us [2001:41d0::176]
  9  Zielhost nicht erreichbar.

Ablaufverfolgung beendet.

traceroute6 সার্ভারে:

traceroute to 2001:41d0:2:ad64::23 (2001:41d0:2:ad64::23), 30 hops max, 80 byte packets
 1  2001:41d0:2:ad64::a (2001:41d0:2:ad64::a)  0.028 ms  0.009 ms  0.008 ms

ping6 সার্ভারে:

PING 2001:41d0:2:ad64::23(2001:41d0:2:ad64::23) 56 data bytes
64 bytes from 2001:41d0:2:ad64::23: icmp_seq=1 ttl=64 time=0.029 ms
64 bytes from 2001:41d0:2:ad64::23: icmp_seq=2 ttl=64 time=0.057 ms
^C
--- 2001:41d0:2:ad64:23 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.029/0.043/0.057/0.014 ms

tcpdump আউটপুট (রিং সার্ভারে পিংং এবং ট্রেসারআউট করার সময়):

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes

tracert প্রবেশদ্বার:

Routenverfolgung zu vss-3-6k.fr.eu [2001:41d0:2:adff:ff:ff:ff:ff] über maximal 3
0 Abschnitte:

  1    <1 ms    <1 ms    <1 ms  fritz.box [2002:5476:1b4c:0:c225:6ff:fe40:b2b0]

  2    23 ms    22 ms    26 ms  2002:c058:6301::1
  3    24 ms    40 ms    23 ms  10gigabitethernet6.switch2.fra1.he.net [2001:470
:0:150::1]
  4    28 ms    37 ms    39 ms  100ge3-1.core1.ams1.he.net [2001:470:0:2d4::1]
  5     *        *        *     Zeitüberschreitung der Anforderung.
  6    38 ms    33 ms     *     ams-5-6k.nl.eu [2001:41d0::8d1]
  7    36 ms    39 ms    38 ms  rbx-g2-a9.fr.eu [2001:41d0::ab1]
  8    36 ms    35 ms    35 ms  vss-3-6k.fr.eu [2001:41d0:2:adff:ff:ff:ff:ff]

Ablaufverfolgung beendet.

ping প্রবেশদ্বার:

Ping wird ausgeführt für 2001:41d0:2:adff:ff:ff:ff:ff mit 32 Bytes Daten:
Antwort von 2001:41d0:2:adff:ff:ff:ff:ff: Zeit=36ms
Antwort von 2001:41d0:2:adff:ff:ff:ff:ff: Zeit=34ms
Antwort von 2001:41d0:2:adff:ff:ff:ff:ff: Zeit=38ms
Antwort von 2001:41d0:2:adff:ff:ff:ff:ff: Zeit=57ms

Ping-Statistik für 2001:41d0:2:adff:ff:ff:ff:ff:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 34ms, Maximum = 57ms, Mittelwert = 41ms

সুতরাং এটি এখনও স্থানীয়ভাবে সার্ভার করছে (সার্ভার) তবে দূরবর্তী থেকে নয় (আমার পিসি)।


সুতরাং আপনি কি একটি দূরবর্তী মেশিন থেকে ট্রেস্রুট চেষ্টা করেছেন? ট্রেস কোথায় ব্যর্থ হয়?
জোরডাচি

সমস্ত হোস্ট যদি একই নেটওয়ার্কে থাকে তবে আপনার কোনও রুট থাকা উচিত নয়।
স্প্যাক করুন

আপনার দ্বিতীয় ip routeকমান্ডের আইপিভি 6 ঠিকানায় একটি টাইপ রয়েছে।
মাইকেল হ্যাম্পটন

@ স্প্যাক আমি এথ0 একটি সম্পূর্ণ আইপিভি 6/64 উপসর্গ (আগত ট্র্যাফিক) শুনতে চাইছি, @ মাইকেল-হ্যাম্পটন স্থির হয়েছে, এই প্রশ্নটি টাইপ করার সময় এটি ছিল, @ জোরডাচি এটি আইএসপিএস গেটওয়েতে ব্যর্থ 2001:41d0:2:adff:ff:ff:ff:ffহবে তার ঠিক পরে সময়সীমা শেষ হবে।
হিকারু-সিন্ডো

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

উত্তর:


13

অতীতে আমারও তেমন কিছু দরকার ছিল। আমি দেখতে পেয়েছি যে এই কাজটি করার জন্য তিনটি পদক্ষেপ প্রয়োজন:

  • আপনাকে হোস্টের একটি উপসর্গ রুট করতে হবে
  • হোস্টে আপনার স্থানীয় রুট দরকার
  • অ্যাপ্লিকেশনগুলির সকেটে বিকল্প IP_FREEBINDবা IP_TRANSPARENTবিকল্পটি সেট করা দরকার

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

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

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

দেখে মনে হচ্ছে আপনি ইতিমধ্যে স্থানীয় রুটটি কাজ করে গেছেন। যেমন আপনি লক্ষ্য করেছেন, এটি loকাজ করার জন্য ইন্টারফেসে বরাদ্দ করতে হবে ।

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

const int one = 1;
setsockopt(fd, SOL_IP, IP_FREEBIND, &one, sizeof(one));

আমি আইএসপি দ্বারা আমার সার্ভারে আবর্তিত একটি স্ট্যাটিক উপসর্গ পেয়েছি (তারা ডিএইচসিপি সরবরাহ করে না। আইপিভি 4 বা আইপিভি 6 এর জন্য নয়)। আমি চাই যে এই / 64 ব্লকের সমস্ত আইপিভি 6 বাইরে থেকে পৌঁছতে পারা যায় (আমার বেশিরভাগ অ্যাপ্লিকেশন বাঁধাই করে: যা আমার ভুল না হলে সমস্ত উপলব্ধ ঠিকানা হওয়া উচিত)। এখন আমি এই সমস্ত আইপিগুলি ETH0 এ উপলব্ধ থাকার জন্য চাই তাই যদি আমি সেই ব্লকের যে কোনও আইপিভি 6 এর সাথে সংযোগ স্থাপনের চেষ্টা করি তবে নির্দিষ্ট পোর্ট শুনে যে কোনও অ্যাপ্লিকেশন উত্তর দিতে সক্ষম হবে (উদাহরণস্বরূপ প্রতিটি আইপি পিংয়ের সঠিকভাবে প্রতিক্রিয়া জানাতে হবে)।
হিকারু-সিন্ডো

আপনি যদি আবদ্ধ হন :: IP_TRANSPARENT বিকল্পের প্রয়োজন নেই। আমার সার্ভারে এবং স্থানীয় রুটটিতে প্রিফিক্সের সাহায্যে, আমি :: এ আবদ্ধ হতে পারি এবং সেই সীমাতে নির্বিচারে IPv6 ঠিকানার সাথে সংযোগ পেতে পারি। পিং 6 পাশাপাশি কাজ করে। আমি এটি উবুন্টু 12.04 এ পরীক্ষা করছি, তবে আমি এটি অন্যান্য বিতরণেও সাম্প্রতিক যে কোনও কার্নেলটিতে কাজ করবে বলে আশা করব। যদি এটি আপনার পক্ষে কাজ করে না, তবে আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি ব্যবহার করে নেটওয়ার্ক ট্র্যাফিকটি একবার দেখে নিনtcpdump -pni eth0 'host 2001:41d0:2:ad65::fe'
ক্যাস্পারড

এটি এখনও কাজ করে না। আমি আমার প্রশ্নে কনফিগারেশন সম্পর্কিত আরও কয়েকটি তথ্য সরবরাহ করেছি, সম্ভবত এটি সহায়তা করে।
হিকারু-সিন্ডো

আপনি বলছেন যে আপনি একটি / 64 সার্ভারে রাউট করেছেন। তবে হোস্টিং সরবরাহকারীর গাইডের উদাহরণগুলিতে কেবল একটি লিঙ্ক উপসর্গ রয়েছে এবং কোনও রাউড উপসর্গ নেই। এবং tcpdump এবং traceroute6 আউটপুট দেখে মনে হয় যে ঠিকানাগুলি সার্ভারে রাউটে না। আপনি সরবরাহকারীর কাছ থেকে ডকুমেন্টেশন ব্যবহার করে কোনও একক আইপিভি 6 ঠিকানা অর্জন করতে পেরেছেন?
ক্যাস্পার্ড

1
@Arya যখন আমি যেমন একটি জিনিস প্রয়োজন আমি কমান্ড করা/etc/rc.local
kasperd

2

এখন 2019 সালের। একটি শব্দ: ip_nonlocal_bind (যেহেতু 4.3 কার্নেল হিসাবে আমি জানি)।

Ndppd + sysctl নেট.ipv6.ip_nonlocal_bind = 1 ব্যবহার করুন, শেষটি আপনাকে যে কোনও আইপিভি 6 ঠিকানার সাথে আবদ্ধ করতে দেয় (এই ক্ষেত্রে কোনও আইপি_ফ্রেইবিআইএনডি প্রয়োজন নেই)।

অনুমান করুন আপনি এটি করেছেন:

ip add add local 2001::41d0:2:ad64::/64 dev lo
ip route add local 2001::41d0:2:ad64::/64 dev eth0
sysctl  net.ipv6.ip_nonlocal_bind = 1

ndppd.conf দেখতে পাবেন:

route-ttl 30000

proxy eth0 {

   router no

   timeout 500
   ttl 30000
   rule 2001::41d0:2:ad64::/64{
       static
   }
}

এনডিপিডিডি চালান এবং এখন আপনি যে কোনও ঠিকানার সাথে যুক্ত করতে পারেন (অ্যাড ব্লকের) এবং এটি নিজে যুক্ত হওয়া হিসাবে এটি ব্যবহার করতে পারেন।

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