Saya mencoba menambahkan seluruh blok IPv6 (/ 64) ke antarmuka menggunakan
ip route add local 2001:41d0:2:ad64::/64 dev lo
seperti dijelaskan di sini di server Debian saya, tetapi saya sepertinya kehilangan sesuatu.
Jika saya ping misalnya 2001:41d0:2:ad64::fe
secara lokal semuanya berfungsi dengan baik, tetapi jika saya mencoba dari mesin jarak jauh tidak berfungsi. Saya kemudian mencoba menambahkan rute pada eth0:
ip route add local 2001::41d0:2:ad64::/64 dev eth0
Sekarang saya bahkan tidak bisa melakukan ping alamat contoh apa pun secara lokal!
Saya agak tersesat karena saya sepertinya kehilangan sesuatu tetapi saya tidak dapat menemukan jawabannya di sini.
Singkatnya: Saya ingin 2001:41d0:2:ad64::/64
terikat dengan eth0 sehingga setiap IP yang berisi blok ini dapat dijangkau dari internet di mesin saya.
Saya harap seseorang di luar sana dapat menunjukkan saya dengan cara yang benar. Terima kasih sebelumnya.
The panduan yang disediakan oleh ISP memang membutuhkan saya untuk menambahkan setiap IPv6 ke antarmuka secara eksplisit. Saya ingin ini tersirat.
Konfigurasi yang berfungsi dengan explict binding address ip
/ etc / network / interfaces:
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
Solusi coba # 1
Saya mencoba mengaktifkan kembali rute lokal seperti yang disarankan @kasperd.
Konten dari saya / etc / network / interfaces
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
Tabel perutean lokal:
# 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
Output dari traceroute
(PC rumah lokal saya):
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
di server:
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
di server:
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
output (saat melakukan ping dan tracerouting di server jauh):
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
tracert
ke gateway:
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
ke gateway:
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
Jadi masih hanya berfungsi secara lokal (server) tetapi tidak dari jarak jauh (pc saya).
sumber
ip route
Perintah kedua Anda memiliki salah ketik di alamat IPv6.2001:41d0:2:adff:ff:ff:ff:ff
setelah itu hanya akan kehabisan waktu.Jawaban:
Saya membutuhkan sesuatu yang serupa di masa lalu. Saya menemukan bahwa ada tiga langkah yang diperlukan untuk membuatnya bekerja:
IP_FREEBIND
atauIP_TRANSPARENT
pada soketCara yang tepat untuk mendapatkan awalan yang dialihkan ke host melibatkan menghubungi penyedia Anda, jika mereka belum memberikannya kepada Anda. Mereka mungkin memiliki server DHCPv6, yang dapat mendelegasikan awalan kepada Anda, jika Anda hanya mengirim permintaan DHCPv6 yang tepat.
Jika awalan yang diarahkan secara nyata karena suatu alasan tidak mungkin Anda dapatkan, tetapi Anda memiliki akses untuk menggunakan alamat sebanyak yang Anda inginkan dari awalan tautan yang tersedia di salah satu antarmuka jaringan Anda, Anda dapat mengubah sebagian darinya menjadi awalan yang dialihkan dengan memiliki daemon menanggapi permintaan penemuan tetangga untuk setiap alamat IPv6 dalam rentang itu.
Menggunakan daemon semacam itu tidak disarankan selain sebagai upaya terakhir, karena daemon ini akan menghabiskan memori dari semua tetangga Anda. Ada beberapa implementasi daemon semacam itu, yang terlihat menjanjikan adalah ndppd . (Saya tidak punya pengalaman khusus dengannya, karena saya baru mempelajarinya setelah saya menulis sendiri dengan awalan tautan saya yang di-hardcode.)
Sepertinya Anda sudah membuat rute lokal berfungsi. Seperti yang Anda perhatikan, itu harus ditugaskan ke
lo
antarmuka agar berfungsi.Akhirnya aplikasi yang menggunakan alamat dari rentang ini memerlukan opsi IP agar dapat mengikat ke alamat, yang tidak secara eksplisit ditetapkan untuk antarmuka jaringan tertentu pada host. Berikut ini adalah fragmen kode, yang dapat digunakan:
sumber
tcpdump -pni eth0 'host 2001:41d0:2:ad65::fe'
/etc/rc.local
Sekarang tahun 2019. Satu kata: ip_nonlocal_bind (karena kernel 4.3 seperti yang saya ketahui).
Gunakan ndppd + sysctl net.ipv6.ip_nonlocal_bind = 1, yang terakhir memungkinkan Anda untuk mengikat ke alamat IPv6 (tidak diperlukan IP_FREEBIND dalam hal ini).
Kira Anda melakukannya:
ndppd.conf akan terlihat seperti:
jalankan ndppd dan sekarang Anda dapat mengikat ke alamat mana saja (dari blok yang ditambahkan) dan menggunakannya saat ditambahkan sendiri.
sumber