IPv6-DeleGate Implementation Note の和訳。

訳者: Hiroshi Suzuki<setter AT i-red DOT info>
翻訳日:2009/2/2

コメント:
翻訳の正確さは保証しません。
必ず、原文と共に、使用してください。

BACK ( DGbeecon )


____________________________________________________________________________
                                                                IPv6NOTE.txt
IPv6-DeleGate 実装メモ
    現行バージョン: DeleGate/9.0.0
    ftp://ftp.delegate.org/pub/DeleGate/alpha/
                                                              佐藤 豊
                                                              2005/4/22
____________________________________________________________________________

DeleGate バージョン9 で、最初の一歩として、IPv6 の対応を始めました。
ですが、必要にも迫られていないので、実際の IPv6 環境を持っていません
(インターネットへの IPv6 接続無しに。MacOS X で開発しています)。
私はこれが、実環境での使用に適用できるかわかりません。
ですから、実際に使っているユーザーからのコメントはありがたいです。
コメントは、オープンなフィードバックボード http://www.delegate.org/feedback/ 
(feedback@delegate.org 経由の) に気軽に送ってください。

このメモは、DeleGate に詳しいユーザーのために書いています。もし、そうでないなら、
リファレンスマニュアル <URL:http://www.delegate.org/delegate/Manual.htm> を
見てください。以下の 1.1 と 1.2 を読めば HTTP などの TCP/IP (v4/v6) 上の
一般的なアプリケーションプロトコル用のプロキシーサーバーとして、DeleGate を使っている
ほとんどのユーザーには十分だと思います。

1. 一般的問題
1.1 DeleGate でのIPv6 の表記
  ":" の代わりに "_" を使います。スコープ ID の "%" は、ほとんどの場合そのまま使えます。
  例)
     "::" は "__" 
     "fe80::12:34:56" は "fe80__12_34_56"
     "fe80::12:34:56%en0" は "fe80__12_34_56%en0" (スコープ ID 付き)
     "fe80::12:34:56%5" は "fe80__12_34_56%5" (番号表記のスコープ ID 付き)

1.2 IPv6/IPv4 ポートで受ける
  -Phost:port オプションで IPv6 ホスト名かアドレスを指定する。
  例)
     -P9999            ... IPv4 だけで受ける (-P0.0.0.0:9999 と同じ)
     -P__:9999         ... IPv6 だけで受ける
     -P__0:9999        ... IPv4 と IPv6 の両方で受ける
     -P9999,__:9999    ... IPv4 と IPv6 を個別に受ける
     -Pfe80__12_34%en0:9999 ... IPv6 リンクローカルアドレスで受ける
     -Pme:9999 HOSTS=me/fe80__12_34%en0 ... ホスト名で

  "__0" は、ホストで利用可能なら、IPv6 マップされた IPv6 アドレスを使います。

1.3 IPv6/IPv4 アドレスへの名前解決
  デフォルトで、IPv6 アドレスが最初に検索します。できなければ、次に IPv6 を使います。
  この順番は、RES_AF パラメーターで制御できます。
  例)
     RES_AF=46         ... IPv4 アドレスを最初に検索します(デフォルト)
     RES_AF=64         ... IPv6 アドレスを最初に検索します
     RES_AF=4          ... IPv4 アドレスだけ検索します
     RES_AF=6          ... IPv6 アドレスだけ検索します

  また、各ホスト名に特別な前置子を付けることでも制御できます。
  例)
     hostname          ... RES_TYPES の設定に従います
     _46.hostname      ... IPv4 アドレスを最初に検索します
     _64.hostname      ... IPv6 アドレスを最初に検索します
     _4.hostname       ... IPv4 アドレスだけ検索します
     _6.hostname       ... IPv6 アドレスだけ検索します

1.4 デフォルトのアクセス制御
  "私と同じネットワーク上" には、64ビットマスクを使います。
  これは、"./ffff_ffff_ffff_ffff__" を含む ".localnet" です。

1.5 IPv6 ポートへの接続
  ほとんどの場合、自動的に行われます。"%scopeid" が URL に使えない場合、
  それを回避するのに HOSTS パラメーターが必要です。
  例)
     HOSTS=v6host/fe80__12_34_56_78%ifn
     SERVER=ftp://v6host

1.6 対象ホストのアドレスファミリーによるルーティング
  HostList 内の各ホストへの "_6." と "_4." の前置子を導入しました。
  例)
     PROXY="v6gw:8080:_6.*" ... サーバーが IPv6 なら、プロキシーに転送する
     SOCKS="v6gw:1080:_6.*" ... サーバーが IPv6 なら、SOCKS に転送する


2. アプリケーションプロトコル固有の問題
2.1 DNS (RFC1886)
  以下の RR(ラウンドロビン) は、代理レゾルバー(SERVER=dns での) DNS-DeleGate
  によって、転送されます。
     AAAA
     x.x.x...x.x.x.IP6.INT

2.2 FTP (RFC2428)
  以下のコマンドは IPv6 アドレスを表現するためにサポートされました。
     EPSV
     EPRT

2.3 SOCKS (RFC1928)
  以下のメソッド(TCP 用の) 受付アドレスは IPv6 で表現されます。
     CONNECT
     BIND

2.4 HTTP
     xxxx::yy:zz は、http://xxxx--yy-zz.ipv6


3. 未サポート (今のところ)
  subin/dgbind
    スーパーユーザーによって所有される setuid ビットがセットされた
    実行ファイル "subin/dgbind" は、DeleGate の実行無しに、スーパーユーザの下、
    特権ポートにソケットを接続するのに使われます。
    ですが、最新の MacOSX で、-P__:80 のように、IPv6 アドレスとともに使うと、
    EACCESS で失敗します。
    [要サポート]
  HOSTS="v46host/{192.168.1.1,ABCD__12_34_56_78}
    IPv4 と IPv6 アドレス混在のホスト定義。
    [サポートしません]
  UDP/IPv6 over SOCKS
    [誰かが必要としたらサポートします]
  DNS over UDP over IPv6
    [誰かが必要としたらサポートします]
  http://[x:x:x:x:x:x:x:x]
    [サポートしません]
____________________________________________________________________________