Bagaimana saya bisa telnet ke host IPv6 menggunakan Mac OS X?

11

Saya menguji IPv6 pada jaringan perusahaan dan mengalami masalah dengan OS X. Dengan sebagian besar perintah IPv6, seperti telnet -6atau traceroute6, saya mendapatkan kesalahan:

connect: No route to host

Misalnya, saya punya server web. Ini gagal:

$ telnet -6 fe80::… 80    # this fails

Saya tahu server dapat dijangkau karena ping6berfungsi (perhatikan bahwa saya harus menggunakan -Iargumen):

$ ping6 -I en1 fe80::…    # this works

Dan saya tahu server web sedang berjalan karena saya bisa telnet dari Windows:

C:\> telnet fe80::… 80  # this works

Saya curiga ada beberapa flag konfigurasi atau argumen baris perintah yang saya lewatkan.

Nate
sumber
Ok, saya akan gigit. Mengapa tidak menggunakan IPv4 saja? Untuk itu, mengapa telnet diaktifkan?
John Gardeniers
1
@John Nate sedang mencoba melakukan telnet ke port 80. Server web Anda akan menjadi kesepian dan layu jika Anda tidak berbicara dengannya secara berkala.
Gerald Combs
2
@ John Gardeniers: Saya bereksperimen dengan IPv6 karena saya mengantisipasi saya perlu mulai mengimplementasikannya dalam 12-18 bulan ke depan. Juga, seperti dikatakan Gerald, telnet klien adalah alat yang berguna untuk menguji konektivitas dasar ke server web atau email. Saya belum melihat server telnet setidaknya dalam 10 tahun.
Nate
@Gerald dan @Nate, saya melihat "Bagaimana saya bisa telnet ke host IPv6", yang bagi saya kata protokol telnet, di mana saya selalu bergidik dan berhenti membaca. Tentu saja judulnya seperti "Bagaimana saya menggunakan program telnet untuk menghubungkan ..." Saya akan membaca seluruh pertanyaan. Maaf.
John Gardeniers

Jawaban:

11

Awalan fe80 :: / 16 adalah untuk alamat tautan-lokal, dan itu khusus. Coba jalankan

netstat -nr

pada OS X dan

netsh int ipv6 show routes

di Windows. Pada OS X Anda kemungkinan besar akan melihat rute fe80 :: terpisah untuk setiap antarmuka, misalnya untuk lo0 dan en1. Windows (setidaknya XP) tampaknya tidak melakukan itu. Karena OS X memiliki beberapa rute ke awalan yang sama, Anda harus menggunakan indeks zona untuk mengarahkan lalu lintas ke arah yang benar:

$ telnet -6 fe80::…%en1 80
Sisir Gerald
sumber
Terima kasih, ini berhasil. Dan terima kasih telah menjelaskan mengapa ini bekerja pada Windows tetapi tidak pada OS X.
Nate
4

Antarmuka dapat dan biasanya akan memiliki beberapa alamat IPv6. Alamat tautan-lokal secara otomatis dibuat dari kisaran fe80 :: / 16 dan tidak dialihkan (koneksi point to point). Seperti Gerald Combs menyebutkan , Anda harus menentukan indeks zona jika Anda tidak bisa menentukan antarmuka mana yang digunakan.

Untuk penggunaan reguler, dan koneksi di luar tautan lokal, Anda harus menambahkan alamat yang bisa dirutekan ke antarmuka. Ini dapat dilakukan dengan mendapatkan rentang IPv6 Anda sendiri dari ISP Anda (atau dari penyedia terowongan seperti SixXS atau he.net), dan mendistribusikannya ke perangkat Anda melalui Router Advertising, DHCPv6 atau secara manual.

Jika Anda hanya menguji Anda juga bisa menggunakan rentang IP "Unik Unicast" khusus dari fc00 :: / 7 yang harus digunakan untuk ini sesuai RFC4193:

Dokumen ini mendefinisikan format alamat IPv6 unicast yang unik secara global dan ditujukan untuk komunikasi lokal, biasanya di dalam sebuah situs. Alamat-alamat ini tidak diharapkan dapat dirutekan di Internet global

Lihatlah situs ini , yang akan membantu Anda memulai dengan membuat kisaran untuk Anda.

Martijn Heemels
sumber
Alamat Lokal Unik akan menjadi langkah saya selanjutnya. Terima kasih atas tautannya!
Nate
0

Saya yakin Anda telah menemukan bug di tautan local fe80 :: address. Ini berfungsi untuk saya menggunakan alamat publik saya, meskipun mereka tautan lokal.

$ telnet -6 2001::xxx:: 80
Trying 2001::xxx::...
Connected to 2001::xxx::
Escape character is '^]'.
HEAD / HTTP/1.0

HTTP/1.1 200 OK
Date: Thu, 30 Dec 2010 01:18:00 GMT
Server: Apache
Last-Modified: Sun, 30 May 2010 20:11:06 GMT
Accept-Ranges: bytes
Content-Length: 44
Connection: close
Content-Type: text/html

Connection closed by foreign host.

Coba dapatkan alamat v6 yang sebenarnya.

bahamat
sumber
1
Alamat tautan-lokal tidak terlalu nyata , tetapi mungkin kurang bermanfaat tergantung pada kasus penggunaan Anda.
Gerald Combs
Alamat 2001 :: bukanlah tautan-lokal. Ini adalah rentang yang dapat dirutekan dan tidak boleh bingung dengan reservasi tautan-lokal fe80 :: / 16. Tolong jangan menyalahgunakan istilah, karena ini akan membingungkan orang.
Martijn Heemels
Maksud saya tautan lokal karena secara fisik host berada pada domain broadcast ethernet yang sama.
bahamat