The NetBSD Network FAQ
このページは作成中ですので、 コメントや提案を歓迎します。
Networking FAQ
- 始めよう
- ネットワーク設定ファイル
- ネットワーク設定プログラム
- ネットワークに新しいホストを追加する
- ネットワークの新しいホストを名づける
- インターネットワーキング
- PPPによるインターネットワーキング
- 専用線を用いた pppd の設定
- WinCE から NetBSD に PPP 接続する
- ISDN モデム (ターミナルアダプター、 TA) の使い方は?
- ISDN カードを用いたインターネットワーキング
- DSL / PPPoE を用いたインターネットワーキング
- GPRS / CDPD を用いたインターネットワーキング
- ローカルサブネット上にないゲートウェイを用いたネットワーキング
- 簡単な NAT ("IP Masquerading") の設定
- メンテナンス
- セキュリティー
- Appletalk を使う
- Kerberos
- Windows 2000 に対する認証
Network の問題
Other links
Networking FAQ
始めよう (トップ)
NetBSD のインストール手順は基本的なネットワークの設定を含んでおり、 標準的なワークステーション構成の設定を行います。 この設定は NetBSD の多くのネットワークの機能を利用するために拡張することができます。
ネットワーク設定ファイル (トップ)
ネットワークの設定は、テキスト形式の設定ファイルによって 設定します。
-
/etc/rc.conf
- rc.conf(5) システムの初期化時に、ネットワークサービスを含む システムサービスを自動的に開始するための設定。 -
/etc/hosts
- hosts(5) もっとも基本的なホスト名とIPアドレスの対応表。 -
/etc/myname
- そのホストの FQDN (ドメイン名のついたホスト名) (/etc/rc.conf
でhostname
を設定していない場合に使われる)。 -
/etc/mygate
- デフォルトゲートウェイ。通常は/etc/rc.conf
にdefaultroute
として記述する方がよい。また、 routed(8) を使用することもできる。 -
/etc/ifconfig.{IF}
. - ネットワークインターフェース IF の設定。 システムの初期化時、ネットワークインターフェースを 設定するために/etc/rc.d/network
で用いられる。 ifconfig.if(5) 参照。/etc/rc.conf
でifconfig_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.conf
で dhclient=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 アドレスをネットワーク設定ファイルに 追加します。それにはいくつかの方法があります;
-
/etc/hosts
: hosts(5) 少数のホストからなる小さなネットワークでは、 ホスト名と IP の対応を、各ホストの/etc/hosts
ファイルに 手でコピーすることができるでしょう。192.168.1.2 host2.mydomain.org.au host2
-
NIS (Network Information Service、以前は Yellow Pages
(YP) という名前でした) を使うと
/etc/hosts ファイルと同等な情報を、ネットワーク上で
自動的に共有できるようになります。(hosts にある情報だけではなく
passwd や group など、他のファイルにある情報も共有できます)。
さらなる情報は、
rc.conf(5) の
ypbind
およびdomainname
変数と、 domainname(1), ypinit(8), yp(8) を参照してください。 -
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.conf
に net.inet.ip.forwarding=1 を書いておいてもいいでしょう。
PPPによるインターネットワーキング (トップ)
pppd(8) を用いるとシリアルポート (モデムの有無にかかわらず) 上に特殊な ネットワークインターフェースを作成できます。
PPP のセットアップには多くの方法があります。あなたの ISP に接続するのに 適した一つの簡単な方法は:
-
ピアーオプションファイル
/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
-
デバイスオプションファイル
/etc/ppp/options.{ttyname}
を作成する# Example pppd options # Specific for ttyname lock crtscts 57600 modem
-
チャットファイル
/etc/ppp/peers/myisp.chat
を作成する# Example chat file # Specific for myisp ABORT BUSY ABORT 'NO CARRIER' "" \da\ptz0 OK \da\ptdt8887776655 CONNECT
- コネクションを確立する; pppd call myisp
-
変数の設定を
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" とも呼ばれる) を設定するには、次のようにすればいいでしょう:
-
クライアントでは、NAT マシンをデフォルトルーターとして指定します。
(NetBSD を使用しているならば、
/etc/rc.conf
にdefaultroute="a.b.c.d"
を加えてください。 ここで、a.b.c.d
は内部向の IP アドレス (つまり、10.0.0.0 ネットワークのアドレス) を意味します)。 -
NAT マシンで、まずカーネルが ipfilter オプションが有効になっているかを 確認してください (最新の GENERIC カーネルではデフォルトで有効になっています。):
options PFIL_HOOKS # pfil(9) packet filter hooks pseudo-device ipfilter # IP filter (firewall) and NAT
-
以下の内容を ipf.conf(5) に書きます:
pass in from any to any pass out from any to any
-
以下の内容を 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
-
/etc/rc.conf
で設定を有効にします:ipfilter=YES # uses /etc/ipf.conf ipnat=YES # uses /etc/ipnat.conf
-
/etc/sysctl.conf
で ipv4 パケットフォワーディングを有効にします:net.inet.ip.forwarding=1
- リブートします。
- デバッグには 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) を参照してください。
-
参考:
- CERT* Coordination Center は、インターネットのセキュリティー脆弱性を研究しています。
- UNIX の Root 権限奪取からの復旧手順
- IP Filter による防火壁 HOWTO
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.com と mach2.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 を使うための設定を、 順序立てて説明します。
-
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 内の各ホストで 手動で設定することができることに注意してください。
-
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 レコードで上書きされます。 -
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#
-
マスターキーを作ります。これを使って
KDC
データベースに蓄積される principal キーを暗号化します。mach1# kstash Master key: Verifying password - Master key: mach1#
-
kadmin(8) を使って、
KDC
のデータベースを作ります。これには "local database" オプションが必要です。mach1# kadmin -l kadmin> init FOO.COM Realm max ticket life [unlimited]: Realm max renewable ticket life [unlimited]: kadmin>
-
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
-
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>
-
KDC
がブート時に起動するよう設定し、KDC
を起動します。mach1# echo "kdc=YES" >> /etc/rc.conf mach1# /etc/rc.d/kdc start Starting kdc. mach1#
-
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#
-
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$
-
うまく機能していることが確認できたら、 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>
-
ここでシステム管理者用の "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#
-
これで "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 ホストはそのサーバーを使うよう設定済で あるものとします。
- Windows 2000 システムに Supplemental Tools を インストールしておいてください。これは Windows 2000 配布メディアに含まれています。
-
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 ホストで再度入力しなければなりません。
-
Windows 2000 ホストで、 ksetup コマンドを使って realm、
KDC
と machine password エントリーを設定します:C:> ksetup /setdomain FOO.COM C:> ksetup /addkdc FOO.COM mach1.foo.com C:> ksetup /setmachpassword password
- Windows 2000 システムをリブートします。
-
ksetup コマンドを使って、 Windows 2000 システムの ローカルユーザーを Kerberos principals に対応づけます:
C:> ksetup /mapuser * *
以下のようにして、特定のユーザーを特定の Kerberos principals に対応させることもできます:
C:> ksetup /mapuser user@FOO.COM localuser
- 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秒くらいかかる (トップ)
これは通常以下の理由によります。
- resolv.conf(5) の設定が間違っているために、指定したネームサーバーからの レスポンスがなく、ホスト名探索がタイムアウトを起こしている。
- リモートのメールサーバーが、あなたのマシン上の identd(8) に 接続しようとしているのに、 tcp の 113 番ポートへの パケットがレスポンスすることなく落されるように ipf(8) が 設定されている。
Other links
Miscellaneous links (トップ)
- インターネットスーパーサーバー (inetd)
- NetBSD Security Processes and Services
- Lucent WaveLAN を用いたワイヤレスネットワーキング
- HOWTO ディスクレスマシンのネットブート
- ISDN での接続手順
- GPRS / CDPD を使った接続手順
- PPPoE (DSL) 経由の接続手順
- IP-Filter を 用いたネットワーク アドレス変換 (Network Address Translation, NAT) FAQ
- DHCP クライアントとサーバー設定の HOWTO
- NetBSD/amiga のためのネットワーキング FAQ ガイド
- IPv6 ネットワーキング FAQ
- IPsec FAQ
- PPP、クロスコンパイル、その他の HOWTO
- IP Filter ベースの防火壁 HOWTO
- The AltQ Paper
- nsupdate HOWTO
- NetBSD, AFS and Kerberos: From Zero to Distributed File System in N Easy Steps