Mac OS Xを使用してIPv6ホストにTelnetするにはどうすればよいですか?


10

企業ネットワークでIPv6をテストしていますが、OS Xで問題が発生しています。telnet -6またはなどのほとんどのIPv6コマンドでtraceroute6、次のエラーが発生します。

connect: No route to host

たとえば、Webサーバーがあります。これは失敗します:

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

ping6動作するのでサーバーに到達できることはわかっています(-I引数を使用する必要があることに注意してください)。

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

また、WindowsからTelnetを実行できるため、Webサーバーが実行されていることがわかります。

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

いくつかの構成フラグまたはコマンドライン引数がないと思います。


かしこまりました。なぜIPv4を使用しないのですか?さらに言えば、なぜTelnetが有効になっているのでしょうか。
John Gardeniers、

1
@John Nateはポート80にtelnetで接続しようとしています。定期的に通信しないと、Webサーバーは孤独に枯れてしまいます。
Gerald Combs、2010

2
@John Gardeniers:今後12〜18か月でIPv6の実装を開始する必要があると予想して、IPv6を実験しています。また、ジェラルドが言うように、telnet クライアントはWebサーバーまたは電子メールサーバーへの基本的な接続をテストするための便利なツールです。少なくとも10年間、Telnetサーバーを見ていません。
2010

@Geraldと@Nateで、「IPv6ホストにTelnetで接続するにはどうすればよいですか」が表示されました。これは、Telnetプロトコルと言っていました。もちろん、タイトルが「Telnetプログラムを使用して接続するにはどうすればよいですか...」のようなものだったとしたら、質問全体を読んだでしょう。ごめんなさい。
John Gardeniers、2010

回答:


11

fe80 :: / 16プレフィックスはリンクローカルアドレス用であり、特別です。実行してみてください

netstat -nr

OS Xおよび

netsh int ipv6 show routes

Windowsの場合。OS Xでは、ほとんどの場合、lo0とen1のように、インターフェースごとに個別のfe80 ::ルートが表示されます。Windows(少なくとも、XP)はそのようには見えません。OS Xには同じプレフィックスへの複数のルートがあるため、ゾーンインデックスを使用してトラフィックを正しい方向に向ける必要があります。

$ telnet -6 fe80::…%en1 80

ありがとう、これでうまくいきました。そして、それはOS X上でWindows上で働いていたではない理由を説明するためのおかげで
ネイト

4

インターフェイスは、通常、複数のIPv6アドレスを持つことができます。リンクローカルアドレスはfe80 :: / 16の範囲から自動的に作成され、ルーティングされません(ポイントツーポイント接続)。以下のようジェラルドコムズは言及、あなたが使用するインターフェイスを指定することはできません場合は、ゾーンインデックスを指定する必要があります。

通常の使用、およびローカルリンクを越えた接続の場合、インターフェイスにルーティング可能なアドレスを追加する必要があります。これは、ISP(またはSixXSやhe.netなどのトンネルプロバイダー)から独自のIPv6範囲を取得し、ルーターアドバタイズ、DHCPv6、または手動でデバイスに配布することで実行できます。

テストしているだけの場合は、RFC4193に従ってこれに使用する必要があるfc00 :: / 7の特別な「ユニークユニキャスト」IP範囲を使用することもできます。

このドキュメントでは、グローバルに一意であり、通常サイト内でのローカル通信を目的としたIPv6ユニキャストアドレス形式を定義しています。これらのアドレスは、グローバルインターネット上でルーティング可能ではない

このサイトをチェックしてください。このサイトでは、範囲を生成することから始めます。


次のステップは、一意のローカルアドレスです。素晴らしいリンクをありがとう!
2010

0

リンクのローカルfe80 ::アドレスにバグを見つけたと思います。リンクローカルであるにもかかわらず、私のパブリックアドレスを使用してそれは私のために働きます。

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

実際のv6アドレスを取得してみてください。


1
リンクローカルアドレスはそれほど現実的ではありませんが、ユースケースによってはあまり役に立たない場合があります。
Gerald Combs、2010

A 2001 ::アドレスはリンクローカルではありません。これはルーティング可能な範囲であり、リンクローカル予約fe80 :: / 16と混同しないでください。混乱を招くので誤用しないでください。
Martijn Heemels、2010

物理的にホストが同じイーサネットブロードキャストドメインに存在する場合と同様に、ローカルにリンクすることを意味しました。
バハマート2010
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.