Skip to main content.
Google custom search

The NetBSD Network FAQ

このページは作成中ですので、 コメントや提案を歓迎します。

Networking FAQ

Network の問題

Other links


Networking FAQ

始めよう (トップ)

NetBSD のインストール手順は基本的なネットワークの設定を含んでおり、 標準的なワークステーション構成の設定を行います。 この設定は NetBSD の多くのネットワークの機能を利用するために拡張することができます。

  • 参考:
    • RFC 1918 (和訳) - プライベート・インターネットのアドレス割り当て

ネットワーク設定ファイル (トップ)

ネットワークの設定は、テキスト形式の設定ファイルによって 設定します。

  • /etc/rc.conf - rc.conf(5) システムの初期化時に、ネットワークサービスを含む システムサービスを自動的に開始するための設定。
  • /etc/hosts - hosts(5) もっとも基本的なホスト名とIPアドレスの対応表。
  • /etc/myname - そのホストの FQDN (ドメイン名のついたホスト名) (/etc/rc.confhostname を設定していない場合に使われる)。
  • /etc/mygate - デフォルトゲートウェイ。通常は /etc/rc.confdefaultroute として記述する方がよい。また、 routed(8) を使用することもできる。
  • /etc/ifconfig.{IF}. - ネットワークインターフェース IF の設定。 システムの初期化時、ネットワークインターフェースを 設定するために /etc/rc.d/network で用いられる。 ifconfig.if(5) 参照。 /etc/rc.confifconfig_IF="..." のように設定することもできる。
  • /etc/ifaliases - ifaliases(5) 一つのインターフェースには一つ以上の IP アドレス (alias) を割り当てることができる。 ここで記述された alias は、システムの初期化時に /etc/rc.d/network で用いられる。
  • /etc/resolv.conf - resolv.conf(5) は、数値 IP アドレスからホスト名への 名前解決方法を指定します。たいていの場合、探索用のドメインを指定する行と、 問い合わせ先ネームサーバーの IP アドレス (1 行または複数) を書いておきます:

    search subdomain.yourdomain.tld yourdomain.tld
    nameserver 192.168.253.10
    nameserver 192.168.253.11
          

    このファイルは dhclient(8) が上書きすることに注意してください!

ネットワーク設定プログラム (トップ)

二つの重要なネットワーク設定プログラムがネットワークスタートアップスクリプト (/etc/rc.d/network) で使われています。 これらは使用中のネットワークの設定を手動で変更するのに使うこともできます。

  • ifconfig(8) - ネットワークインターフェースの設定を変更、参照する。
  • route(8) - ネットワークルーティングテーブルを操作する。

ネットワークに新しいホストを追加する (トップ)

そのネットワークが DHCP を使うように設定されている場合、必要なのは /etc/rc.confdhclient=yes と設定することだけです。すると、 ブート時に DHCP クライアントが起動して、マシンの IP アドレス、ホスト名、 デフォルトルーター、ネームサーバー、ドメイン名を自動的に設定します。 DHCP に関するさらなる情報は、ここを参照してください。

DHCP が使えない場合、新たにネットワークに接続するホストでは、インターフェースを、 そのローカル・ネットワーク上のアドレスに設定することが最低限必要です。 NetBSD のインストール中にネットワークの情報を与えると、 新しいホストはすぐにネットワークに接続され、 その IP アドレスでアクセスできるようになります。

ネットワークの設定の簡単な例を以下に示します。ネットワークインターフェースは exで、 IP アドレスを 192.168.253.2 に設定し、デフォルトルーターは 192.168.253.1 を使うものとします:

  # ifconfig lo0 127.0.0.1
  # ifconfig ex0 192.168.253.2 netmask 255.255.255.0
  # route add default 192.168.253.1

ネットワークの新しいホストを名づける (トップ)

IP アドレスと同じようにホスト名でのアクセスを可能にするには、 新しいホスト名とその IP アドレスをネットワーク設定ファイルに 追加します。それにはいくつかの方法があります;

  1. /etc/hosts: hosts(5) 少数のホストからなる小さなネットワークでは、 ホスト名と IP の対応を、各ホストの /etc/hosts ファイルに 手でコピーすることができるでしょう。

          192.168.1.2  host2.mydomain.org.au host2
          

  2. NIS (Network Information Service、以前は Yellow Pages (YP) という名前でした) を使うと /etc/hosts ファイルと同等な情報を、ネットワーク上で 自動的に共有できるようになります。(hosts にある情報だけではなく passwd や group など、他のファイルにある情報も共有できます)。 さらなる情報は、 rc.conf(5)ypbind および domainname 変数と、 domainname(1), ypinit(8), yp(8) を参照してください。
  3. DNS: ホスト名の対応をネームサーバー named(8) 経由でアクセスするゾーンファイルで集中管理します。 (DNS ファイルの設定や管理についての多くのドキュメントが www.dns.net にあります)。

    正引きゾーンファイルのエントリー

          host2  IN A     192.168.1.2
          

    逆引きゾーンファイルのエントリー

          2      IN PTR   host2.mydomain.org.au.
          

インターネットワーキング (トップ)

あなたのネットワーク (一つのホストから成るかもしれません) を 他のネットワークにつなぐ場合、少なくとも一つのホストを 二つのネットワーク間のゲートウェイとして動作させなくてはなりません。 ゲートウェイホストは二つのネットワークインターフェースを持っており、 それぞれを各ネットワークについて設定します。

  • 二つ目のイーサネットのインターフェース設定ファイルを作成する (/etc/ifconfig.{interface}) 。

    /etc/ifconfig.we1

          192.168.2.30 netmask 0xffffff00 media 10base2/BNC
          

    こうするかわりに、以下の行を /etc/rc.conf に書き足す方法もあります:

          ifconfig_we1="192.168.2.30 netmask 0xffffff00 media 10base2/BNC"
          

  • 新しいインターフェースを有効にする為にリブートする。
  • 必要ならば IP パケットフォワーディングを有効にします。カーネルを options GATEWAY をつけて compile してもいいですし、 ブートのたびに sysctl -w net.inet.ip.forwarding=1 を実行するか、 /etc/sysctl.confnet.inet.ip.forwarding=1 を書いておいてもいいでしょう。

PPPによるインターネットワーキング (トップ)

pppd(8) を用いるとシリアルポート (モデムの有無にかかわらず) 上に特殊な ネットワークインターフェースを作成できます。

PPP のセットアップには多くの方法があります。あなたの ISP に接続するのに 適した一つの簡単な方法は:

  1. ピアーオプションファイル /etc/ppp/peers/myisp を作成する

          # Example pppd options
          # Specific for myisp
          /dev/tty01
          local_IP_address:remote_IP_address
          connect '/usr/sbin/chat -v -f /etc/ppp/peers/myisp.chat'
          defaultroute
          persist
          ipparam myisp
          asyncmap 0
          noauth
          

  2. デバイスオプションファイル /etc/ppp/options.{ttyname} を作成する

          # Example pppd options
          # Specific for ttyname
          lock
          crtscts
          57600
          modem
          

  3. チャットファイル /etc/ppp/peers/myisp.chat を作成する

          # Example chat file
          # Specific for myisp
          ABORT BUSY ABORT 'NO CARRIER' ""
          \da\ptz0 OK
          \da\ptdt8887776655 CONNECT
          

  4. コネクションを確立する; pppd call myisp
  5. 変数の設定を ppp_peers="myisp" のように /etc/rc.conf rc.conf(5) に書いておくとブート時に自動的にコネクションが確立するようになります。

イーサネットインターフェースと異なり、/etc/ifconfig.{interface} ファイルを PPP インターフェースに作成する必要はありません。

デマンドダイアル ppp を使用していて、特定のトラフィック(例えば xntpd(8) の ntp のトラフィック)でリンクが確立されないようにしたいならば、 ppd.conf ファイル中で active-filter を使うことができます:

	active-filter   'not udp port ntp'

  • 参考:
    • chat(8) - Automated conversational script

専用線を用いた pppd の設定 (トップ)

専用線とは固定された2点間 link の事です。 この場合、NetBSD での設定は非常に簡単です。 サーバーで次のような /etc/ppp/options を作成します:

     /dev/tty00
     57600
     noauth
     crtscts
     passive
     <local_IP_address>:<remote_IP_address>
     debug
     netmask 255.255.255.255
     proxyarp
     

<local_IP_address><remote_IP_address> は使用するネットワーク上の 適切なものに変更する必要があります。 (<local_IP_address> は イーサネットと同じでも構いませんが、<remote_IP_address> は イーサネットのセグメントで有効なアドレスである必要があります)。

クライアントで次のような /etc/ppp/options を作成します:

     /dev/tty00
     57600
     noauth
     crtscts
     defaultroute
     debug
     

両方の設定中にあらわれる /dev/tty00 は適切なシリアルポート名に変更して下さい。

WinCE から NetBSD に PPP 接続する (トップ)

Windows CE は接続の際、"CLIENT" という語を送出し、 行末に CR のない "CLIENTSERVER" という応答を待ちます。 上で説明したように pppd を設定したうえで、以下の行を追加します。

connect "chat 'CLIENT' 'CLIENTSERVER\\c'"

ISDN モデム (ターミナルアダプター、 TA) の使い方は? (トップ)

NetBSD からは TA は普通のモデムに見えます。また、 TA は適切なモードに 切り替えれば asynchronous PPP をしゃべります。お使いの ISP によっては、以下のモードから選べるかもしれません:

  • sync-to-async-HDLC conversion: 同期 HDLC フレームを非同期 HDLCフレームに 変換します。お使いのプロバイダーが、昨今での標準である、 B チャネル上直接の "本物の" PPP over HDLC を推奨している場合はこれを使ってください。
  • X75: X.25 over ISDN B-channel
  • V120: 遅いコンピューター端末線用に狭い帯域のモデムを シミュレートするためのもの; しかし、残念なことに ISDN 線の帯域をいくらか浪費しますが
  • V110: V120 の古いバージョン

TA のモードは Hayes AT モデムコマンドで設定します。正確なコマンドは モデムのマニュアルを調べてください。さらに、これら AT コマンドに、 "普通の" (アナログ) でやっているようにして、いつも使う PPP 接続先用に チャットスクリプトを追加することができます。

ISDN カードを用いたインターネットワーキング (トップ)

ここをご覧ください。

DSL / PPPoE を用いたインターネットワーキング (トップ)

DSL/ PPPoE 全般の説明は、ここをご覧ください。 ドイツの ISP T-Online 利用者向けの追加説明 もあります。

GPRS / CDPD を用いたインターネットワーキング (トップ)

ここをご覧ください。

ローカルサブネット上にないゲートウェイを用いたネットワーキング (トップ)

場合によっては、経由する必要のあるゲートウェイが、 ネットワークインターフェースに割り当てられたアドレスと同じサブネット上にないことがあります。 たとえば、ネットワークインターフェースが fxp0 でそのアドレスが 10.0.0.1 であるが、ゲートウェイは 192.168.0.1 である (そして、 インターフェース fxp0 から到達可能である) 場合は、 以下のようにしてネットワークの設定をすることができます。

 # ifconfig fxp0 inet 10.0.0.1
 # route add -host 192.168.0.1 -link fxp0 -iface
 # route add default -ifa 10.0.0.1 192.168.0.1

このようなものは、典型的なネットワーキングの構成ではありませんが、 実際にありえます。

簡単な NAT ("IP Masquerading") の設定 (トップ)

ローカルネットワーク(例えば 10.0.0.0/24) に接続されているホストから NetBSD マシンをルーターとして使用するために、ネットワークアドレス変換 (Network Address Translation, NAT、よそでは "IP Masquerading" とも呼ばれる) を設定するには、次のようにすればいいでしょう:

  1. クライアントでは、NAT マシンをデフォルトルーターとして指定します。 (NetBSD を使用しているならば、 /etc/rc.confdefaultroute="a.b.c.d" を加えてください。 ここで、 a.b.c.d は内部向の IP アドレス (つまり、10.0.0.0 ネットワークのアドレス) を意味します)。
  2. NAT マシンで、まずカーネルが ipfilter オプションが有効になっているかを 確認してください (最新の GENERIC カーネルではデフォルトで有効になっています。):

    options         PFIL_HOOKS    	        # pfil(9) packet filter hooks
    pseudo-device   ipfilter                # IP filter (firewall) and NAT
    	

  3. 以下の内容を ipf.conf(5) に書きます:

    pass in from any to any
    pass out from any to any
      

  4. 以下の内容を ipnat.conf(5) に書きます:

    map ppp0 10.0.0.0/24 -> 0/32 proxy port ftp ftp/tcp
    map ppp0 10.0.0.0/24 -> 0/32 portmap tcp/udp 40000:60000
    map ppp0 10.0.0.0/24 -> 0/32
      

  5. /etc/rc.conf で設定を有効にします:

    ipfilter=YES                                    # uses /etc/ipf.conf
    ipnat=YES                                       # uses /etc/ipnat.conf
      

  6. /etc/sysctl.conf で ipv4 パケットフォワーディングを有効にします:

    net.inet.ip.forwarding=1
      

  7. リブートします。
  8. デバッグには ping(8), tcpdump(8), ipfstat(8), ipnat(8) を使って下さい。

PPPoE 接続上で (DSL 接続で通常はそうしますが) NAT を使いたい場合は、 MSS の調整もしておく必要があるかもしれません。

メンテナンス (トップ)

  • 監視 - 便利なツール
    • ifconfig(8) - ネットワークインターフェースのパラメーターの設定と表示
    • route(8) - ルーティングテーブルの操作
    • ping(8) - ICMP ECHO_REQUEST パケットをネットワークホストに送る
    • traceroute(8) - パケットがネットワークホストに到達するルートを表示
    • tcpdump(8) - ネットワークインターフェース上のトラフィックを選択して表示
    • netstat(1) - ネットワーク状態の表示
    • systat(1) 'systat netstat' - ネットワーク接続を動的に表示
  • 参考:
    • net/mrtg - パッケージコレクションにあるこのユーティリティーで、 ネットワークの状態を視覚的に監視できるようになります。

セキュリティー (トップ)

  • /etc/hosts.{allow,deny}: tcp-wrappers (hosts_access(5)) の設定ファイル。マスターデーモン inetd(8) に組み込まれている。
  • もし、ネットワークアドレス変換 (NAT 、ときには IP マスカレードとも呼ばれます) も含んだ完全な防火壁が必要ならば、NetBSD 付属の IPfilter を 使用して下さい。 IP filter の ホームページを 参照してください。 NetBSD での設定ファイルについては ipf.conf(5), ipf6.conf(5), ipnat.conf(5) を、コマンドおよび有用なマニュアルページとしては ipf(4), ipf(8), ipfs(8), ipfstat(8) を参照してください。

Appletalk を使う (トップ)

NetBSD は unix マシンと appletalk マシンをイーサネット (localtalk では ありません) で通信を可能にする 'net/netatalk' をサポートしています。 これは Mac OS マシンが NetBSD マシンを介してファイルシステムを読んだり プリンターを用いたり、NetBSD マシンが appletalk プリンターに印刷したり することができます。必要なソースは NetBSD のPackages Collectionから利用可能です。

Kerberos (トップ)

Kerberos は、秘密鍵暗号を使用してクライアント/サーバー型アプリケーションに 強力な認証を提供するネットワーク認証システムです。 NetBSD には KTH Heimdal Kerberos 5 の実装が附属しています。

ここでは、 NetBSD システムで Kerberos を使うための設定について 簡単に説明します。 Kerberos 初心者にとっては、この文書は基本的な 手引きとなります。 Kerberos 熟練者にとっては、すでに使っているかもしれない 他のシステム上の Kerberos と、 NetBSD の Kerberos との違いを示すものに なるかもしれません。

この説明では、あなたの DNS ドメイン名を "foo.com" であるとします。 また、 foo.com ドメインには 2 台のマシンがあって、その名前は mach1.foo.commach2.foo.com であるとします。

Kerberos で管理される domain を realm といいます。 realm は好きなように名付けることができますが、ここでは、 組織の DNS ドメイン名を大文字にしたものを使うことにします。つまり、 ドメインの例 "foo.com" に対しては、 Kerberos realm は "FOO.COM" になります。

Kerberos で識別されるものを principal といいます。ユーザー、 ホスト、さらにはホスト上の個々のサービスまで、すべて principal です。 principal は "name@REALM" という形をしています。 "@REALM" を省略すると、 デフォルトの realm が仮定されます。サービスの principal は "service/hostname@REALM" という形をしています。ここで hostname はホストの 完全修飾名にしてください。すべてのホストは、 "host/..." というサービス principal を持っています。この "host/..." principal は、 一般的にログインプログラム (たとえば telnetd(8)sshd(8)) や、 その他ホストが他の principal の認証をする必要のある場合 (たとえばいくつかの IPsec 鍵管理プロトコル) に使われます。

Kerberos の信任状インスタンスはチケットと呼ばれます。チケットには、 ticket granting ticket (チケット保障チケット) すなわち TGT と呼ばれる特別なチケットがあります。 TGT は信任状の初期設定で、 ユーザーが login(1) プログラムを使うか kinit(1) を実行してログイン したときに得られます。 TGT は、 Kerberos で認証をおこなうサービスを 利用するために必要なサービスチケットを取得するために使われます。チケットは、 信任状キャッシュと呼ばれる専用のデータベースに保持されます。 ログインセッションでは、信任状キャッシュは通常は /tmp 以下のファイルに 保持されます。信任状キャッシュは、 kdestroy(1) コマンドによるログアウト時に 破棄されます。

信任状キャッシュを安全な状態にしておくことが重要です!

そうでないと、誰かがあなたの信任状を使って信任状の必要なサービスにアクセス することができるようになってしまいます。

信任状は Key Distribution Center (鍵配布センター) すなわち KDC で集中管理されます。 KDC によるユーザー認証は、 TGT 取得時にパスワードを提供することで行われます。 KDC によるサービス認証も同様の仕組みを使いますが、 key table すなわち keytab からサービスの "パスワード" が提供され、 ホストに保持されます。

Kerberos では、 realm 内の全ホストの時刻が同期している必要があることに 注意してください。そのようにするための最良の方法は、このネットワークで NTP を使うことです。

以下、ネットワークで Kerberos を使うための設定を、 順序立てて説明します。

  1. Kerberos KDC となるシステムを決めます。このシステムは安全でなければ なりません; KDC が危険に晒されると、すべての principal に被害が及びます。 この例では、この役目を mach1.foo.com に与えることにします。

    KDC システムはまた、 Kerberos 管理サーバーや Kerberos パスワード変更サーバーといった役割も演じます。

    KDC に関する情報を提供するためのもっとも簡単な方法は、 DNS の SRV レコードを使うことです。この場合、 FOO.COM realm でのエントリーの例は、 次のようになります:

         _kerberos._udp      IN  SRV     01 00 88 mach1.foo.com.
         _kerberos._tcp      IN  SRV     01 00 88 mach1.foo.com.
         _kpasswd._udp       IN  SRV     01 00 464 mach1.foo.com.
         _kerberos-adm._tcp  IN  SRV     01 00 749 mach1.foo.com.
         _kerberos           IN  TXT     FOO.COM
         

    SRV レコードの書式については、 RFC 2782 を参照してください。 DNS による方法を使いたくなければ、この情報を realm 内の各ホストで 手動で設定することができることに注意してください。

  2. realm 内の各システムの /etc/krb5.conf を設定します。このファイルで デフォルトの realm を指定する必要があります。 注意: Kerberos の実装によっては、これが必要ない (Kerberos が DNS の TXT レコード "_kerberos" からデフォルトの realm を知ることができる) ものもありますが、 NetBSD の Kerberos では /etc/krb5.conf ファイルが存在しないと 有効にはなりませんので、ここで設定しておくのがよいでしょう。

         # cat > /etc/krb5.conf
         [libdefaults]
                 default_realm = FOO.COM
         ^D
         #
         

    realm の設定に DNS SRV レコードを使っていない場合は、 /etc/krb5.conf に以下のような KDC、 kadmin および kpasswd サーバーのリストも必要です:

         # cat >> /etc/krb5.conf
         [realms]
                 FOO.COM = {
                         kdc = mach1.foo.com
                         admin_server = mach1.foo.com
                         # optional, defaults to admin_server
                         kpasswd_server = mach1.foo.com
                 }
         ^D
         #
         

    モバイルホストを、そのホストが参加している別の realm に持ち込んだ場合、 /etc/krb5.conf ファイルのデフォルト realm は DNS の _kerberos TXT レコードで上書きされます。

  3. KDC システムには /var/heimdal ディレクトリーが必ず存在するようにします。 これは root:wheel の所有にして、モードを 0755 にするよう推奨します。

         mach1# ls -ld /var/heimdal
         1 drwxr-xr-x  2 root  wheel  512 Nov 30 15:21 /var/heimdal/
         mach1#
         

  4. マスターキーを作ります。これを使って KDC データベースに蓄積される principal キーを暗号化します。

         mach1# kstash
         Master key:
         Verifying password - Master key:
         mach1#
         

  5. kadmin(8) を使って、 KDC のデータベースを作ります。これには "local database" オプションが必要です。

         mach1# kadmin -l
         kadmin> init FOO.COM
         Realm max ticket life [unlimited]:
         Realm max renewable ticket life [unlimited]:
         kadmin>
         

  6. KDC が動いているシステム用の principal を作ります。

         kadmin> add --random-key host/mach1.foo.com
         Max ticket life [1 day]:
         Max renewable life [1 week]:
         Principal expiration time [never]:
         Password expiration time [never]:
         Attributes []:
         kadmin>
         

    これで principal が作られましたが、これのキーを KDC システムの keytab に展開するよう推奨します。

         kadmin> ext -k /etc/krb5.keytab host/mach1.foo.com
         kadmin>
         

    ktutil(8) コマンドで、 keytab 中のキーを列挙できます:

         mach1# ktutil list
         Vno  Type           Principal
           1  des-cbc-crc    host/mach1.foo.com
           1  des-cbc-md4    host/mach1.foo.com
           1  des-cbc-md5    host/mach1.foo.com
           1  des3-cbc-sha1  host/mach1.foo.com
         

  7. Kerberos を使って認証したいユーザーの principal を作ります。

         kadmin> add joe
         Max ticket life [1 day]:
         Max renewable life [1 week]:
         Principal expiration time [never]:
         Attributes []:
         joe@FOO.COM's Password:
         Verifying password - joe@FOO.COM's Password:
         kadmin>
         

  8. KDC がブート時に起動するよう設定し、 KDC を起動します。

         mach1# echo "kdc=YES" >> /etc/rc.conf
         mach1# /etc/rc.d/kdc start
         Starting kdc.
         mach1#
         

  9. kadmin (Kerberos administration) と kpasswd (Kerberos password change) サーバーを起動するよう inetd を設定します。 KDC システムの /etc/inetd.conf に、下記の各行が存在するようにします:

         kerberos-adm stream tcp  nowait root /usr/libexec/kadmind  kadmind
         kerberos-adm stream tcp6 nowait root /usr/libexec/kadmind  kadmind
         kpasswd      dgram  udp  wait   root /usr/libexec/kpasswdd kpasswdd
         kpasswd      dgram  udp6 wait   root /usr/libexec/kpasswdd kpasswdd
         

    inetd(8) に設定を読み直させます。

         mach1# /etc/rc.d/inetd reload
         Reloading inetd config files.
         mach1#
         

  10. KDC をテストします。 Kerberos を使って TGT を取得し、 KDC システムに自分自身からログインしてみます。

         mach1:joe$ kinit
         joe@FOO.COM's Password:
         joe$ klist
         Credentials cache: FILE:/tmp/krb5cc_100
                 Principal: joe@FOO.COM
    
           Issued           Expires          Principal
         Nov 30 14:10:16  Dec  1 00:10:16  krbtgt/FOO.COM@FOO.COM
         Nov 30 14:10:16  Dec  1 00:10:16  krbtgt/FOO.COM@FOO.COM
         mach1:joe$ telnet -ax mach1.foo.com
         Trying 10.0.0.1
         Connected to mach1.foo.com.
         Escape character is '^]'.
         [ Trying KERBEROS5 ... ]
         [ Kerberos V5 accepts you as ``joe@FOO.COM'' ]
         Last login: Thu Nov 30 14:08:33 2000 from mach1
         ...
         mach1:joe$ exit
         Connection closed by foreign host.
         mach1:joe$
         

  11. うまく機能していることが確認できたら、 Kerberos realm に参加させる他のホストの principals も追加します。

         mach1# kadmin -l
         kadmin> add --random-key host/mach2.foo.com
         Max ticket life [1 day]:
         Max renewable life [1 week]:
         Principal expiration time [never]:
         Password expiration time [never]:
         Attributes []:
         kadmin>
         

  12. ここでシステム管理者用の "admin" principal を追加するというのは よい考えです。偽装される可能性があるので、 Kerberos の管理をすべて root として行うつもりならば "root/admin" principal だけを追加します。

         mach1# kadmin -l
         kadmin> add root/admin
         Max ticket life [1 day]:
         Max renewable life [1 week]:
         Principal expiration time [never]:
         Password expiration time [never]:
         Attributes []:
         root/admin@FOO.COM's Password:
         Verifying password - root/admin@FOO.COM's Password:
         kadmin>
         

    この principal は必ず kadmind ACL に追加しておいてください:

         mach1# echo "root/admin@FOO.COM all" >> /var/heimdal/kadmind.acl
         mach1#
         

  13. これで "admin" principal ができ、 host/... という principal を、そのホスト群が通信するマシン群の keytab に簡単に展開することが できます。

         mach2# kadmin
         kadmin> ext -k /etc/krb5.keytab host/mach2.foo.com
         root/admin@FOO.COM's Password:
         kadmin>
         

    Kerberos を使ってマシンにログインして試してみます。

         mach1:joe$ telnet -ax mach2.foo.com
         Trying 10.0.0.2
         Connected to mach2.foo.com.
         Escape character is '^]'.
         [ Trying KERBEROS5 ... ]
         [ Kerberos V5 accepts you as ``joe@FOO.COM'' ]
         Last login: Thu Nov 30 16:26:51 2000 from mach1
         ...
         mach2:joe$ exit
         Connection closed by foreign host.
         mach1:joe$
         

おめでとうございます! これで Kerberos realm で作業ができるようになりました!

Windows 2000 に対する認証 (トップ)

Windows 2000 を使っている場合でも、 NetBSD KDC を Windows 2000 ホストに対する認証サーバーとして使うことができます。 Windows 2000 は Kerberos を Windows ドメインログインの認証に使っています。 NetBSD は Windows 2000 ドメインコントローラーになることはできませんが、 Samba を使うことでワークグループサーバーになることができます。

この説明では、サーバー上で Samba がすでに設定済であるものとし、 また、 Windows 2000 ホストはそのサーバーを使うよう設定済で あるものとします。

  1. Windows 2000 システムに Supplemental Tools を インストールしておいてください。これは Windows 2000 配布メディアに含まれています。
  2. KDC で、 Windows 2000 ホスト用の host principal を追加します:

         mach1# kadmin -l
         kadmin> add host/win2k.foo.com
         Max ticket life [1 day]:
         Max renewable life [1 week]:
         Principal expiration time [never]:
         Password expiration time [never]:
         Attributes []:
         host/win2k.foo.com@FOO.COM's Password: 
         Verifying password - host/win2k.foo.com@FOO.COM's Password: 
         kadmin> 
         

    *入力したパスワードを覚えておいてください!* このパスワードは、 あとで Windows 2000 ホストで再度入力しなければなりません。

  3. Windows 2000 ホストで、 ksetup コマンドを使って realm、 KDCmachine password エントリーを設定します:

         C:> ksetup /setdomain FOO.COM
         C:> ksetup /addkdc FOO.COM mach1.foo.com
         C:> ksetup /setmachpassword password
         

  4. Windows 2000 システムをリブートします。
  5. ksetup コマンドを使って、 Windows 2000 システムの ローカルユーザーを Kerberos principals に対応づけます:

         C:> ksetup /mapuser * *
         

    以下のようにして、特定のユーザーを特定の Kerberos principals に対応させることもできます:

         C:> ksetup /mapuser user@FOO.COM localuser
         

  6. Windows 2000 システムをリブートします。

以上のようにすることで、 Windows 2000 システムへのログイン時に Kerberos realm へのログインができるようになります。ユーザーが 透過的に使えるよう、 Samba パスワードはユーザーの Kerberos パスワードと同期させておくようにするよう注意してください。

Kerberos に関してより詳しい情報は、下記のリンクを参照してください:


Network の問題

他のホスト名に ping できない (トップ)

もし、他のマシンに IP アドレスで ping(8) ("ping -n W.X.Y.Z") できるのに、ホスト名ではできないのならば、 resolv.conf(5) に問題がある可能性があります。nameserver が正しく 設定されているか、サーバーからの応答があるかどうかを確認してください。

接続に 30秒くらいかかる (トップ)

これは通常以下の理由によります。

  1. resolv.conf(5) の設定が間違っているために、指定したネームサーバーからの レスポンスがなく、ホスト名探索がタイムアウトを起こしている。
  2. リモートのメールサーバーが、あなたのマシン上の identd(8) に 接続しようとしているのに、 tcp の 113 番ポートへの パケットがレスポンスすることなく落されるように ipf(8) が 設定されている。


Other links

Miscellaneous links (トップ)