Làm cách nào tôi có thể telnet đến máy chủ IPv6 bằng Mac OS X?


10

Tôi đang thử nghiệm IPv6 trên một mạng công ty và gặp vấn đề với OS X. Với hầu hết các lệnh IPv6, chẳng hạn như telnet -6hay traceroute6, tôi nhận được lỗi:

connect: No route to host

Ví dụ, tôi có một máy chủ web. Điều này không thành công:

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

Tôi biết máy chủ có thể truy cập được vì ping6hoạt động (lưu ý rằng tôi phải sử dụng -Iđối số):

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

Và tôi biết máy chủ web đang chạy vì tôi có thể telnet đến nó từ Windows:

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

Tôi nghi ngờ có một số cờ cấu hình hoặc đối số dòng lệnh mà tôi đang thiếu.


Ok, tôi sẽ cắn. Tại sao không chỉ sử dụng IPv4? Đối với vấn đề đó, tại sao telnet thậm chí được kích hoạt?
John Gardeniers

1
@John Nate đang cố gắng telnet đến cổng 80. Máy chủ web của bạn sẽ trở nên cô đơn và khô héo nếu bạn không nói chuyện với nó theo định kỳ.
Gerald Combs

2
@ John Gardeniers: Tôi đang thử nghiệm IPv6 vì tôi dự đoán tôi sẽ cần bắt đầu triển khai nó trong 12-18 tháng tới. Ngoài ra, như Gerald nói, telnet máy khách là một công cụ hữu ích để kiểm tra kết nối cơ bản với máy chủ web hoặc e-mail. Tôi đã không thấy một máy chủ telnet trong ít nhất 10 năm.
Nate

@Gerald và @Nate, tôi đã thấy "Làm thế nào tôi có thể telnet đến máy chủ IPv6", theo tôi, giao thức telnet, lúc đó tôi luôn rùng mình và ngừng đọc. Tất nhiên có tiêu đề giống như "Làm thế nào để tôi sử dụng chương trình telnet để kết nối ..." Tôi sẽ đọc toàn bộ câu hỏi. Lấy làm tiếc.
John Gardeniers

Câu trả lời:


11

Tiền tố fe80 :: / 16 dành cho các địa chỉ liên kết cục bộ và chúng đặc biệt. Hãy thử chạy

netstat -nr

trên OS X và

netsh int ipv6 show routes

trên Windows. Trên OS X, rất có thể bạn sẽ thấy một tuyến đường riêng80 cho mỗi giao diện, ví dụ như lo0 và en1. Windows (ít nhất là XP) dường như không làm điều đó. Vì OS X có nhiều tuyến đến cùng một tiền tố, bạn phải sử dụng chỉ mục vùng để chỉ lưu lượng truy cập theo đúng hướng:

$ telnet -6 fe80::…%en1 80

Cảm ơn bạn, điều này đã làm việc. Và cảm ơn vì đã giải thích lý do tại sao nó hoạt động trên Windows mà không phải trên OS X.
Nate

4

Một giao diện có thể và thường sẽ có nhiều địa chỉ IPv6. Một địa chỉ liên kết cục bộ được tự động tạo từ phạm vi fe80 :: / 16 và không được định tuyến (kết nối điểm tới điểm). Như Gerald Combs đề cập , bạn sẽ cần chỉ định một chỉ mục vùng nếu bạn không thể chỉ định giao diện nào sẽ sử dụng.

Để sử dụng thường xuyên và các kết nối ngoài liên kết cục bộ, bạn sẽ cần thêm các địa chỉ có thể định tuyến vào giao diện. Điều này có thể được thực hiện bằng cách nhận phạm vi IPv6 của riêng bạn từ ISP của bạn (hoặc từ nhà cung cấp đường hầm như SixXS hoặc he.net) và phân phối chúng đến các thiết bị của bạn thông qua Bộ định tuyến Quảng cáo, DHCPv6 hoặc thủ công.

Nếu bạn chỉ đang thử nghiệm, bạn cũng có thể sử dụng dải IP "Unique Unicast" đặc biệt của fc00 :: / 7 nên được sử dụng cho điều này theo RFC4193:

Tài liệu này xác định định dạng địa chỉ unicast IPv6 là duy nhất trên toàn cầu và dành cho truyền thông địa phương, thường là bên trong một trang web. Các địa chỉ này dự kiến ​​sẽ không thể định tuyến trên Internet toàn cầu

Kiểm tra trang web này , trang này giúp bạn bắt đầu bằng cách tạo phạm vi cho bạn.


Địa chỉ địa phương duy nhất sẽ là bước tiếp theo của tôi. Cảm ơn các liên kết tuyệt vời!
Nate

0

Tôi tin rằng bạn đã tìm thấy một lỗi trong liên kết địa phương fe80 ::. Nó hoạt động với tôi bằng cách sử dụng địa chỉ công cộng của tôi, mặc dù chúng là liên kết cục bộ.

$ 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.

Hãy thử lấy địa chỉ v6 thực.


1
Một địa chỉ liên kết cục bộ không thực sự ít , nhưng nó có thể ít hữu ích hơn tùy thuộc vào trường hợp sử dụng của bạn.
Gerald Combs

Một địa chỉ 2001 :: không phải là liên kết cục bộ. Đây là một phạm vi có thể định tuyến và không nên nhầm lẫn với đặt phòng liên kết cục bộ fe80 :: / 16. Xin đừng lạm dụng thuật ngữ này, vì điều này sẽ gây nhầm lẫn cho mọi người.
Martijn Heemels

Tôi có nghĩa là liên kết cục bộ như trong vật lý máy chủ lưu trữ trên cùng một miền phát ethernet.
bahamat
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.