[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[plamo:03297] NIS (ypserv) failed



木戸と申します.初めて投稿します.

いきなり長い内容ですが,御了承ください.
NISがうまく動作しないので相談します.
現在,小規模なNIS環境を立ち上げようとして,手始めに単一の
マシンのみで,NISサーバとNISクライアントとを兼ねさせて
動作確認をしようとしております.ypserv が正常に起動できれば,
NISの設定の仕方はこれから試行錯誤しながら覚えようと思って
いるのですが,それ以前に ypserv がすぐに死んでしまい困っております.

●Slackware3.5 + PJE0.1.2 libc5.4.44 ( ypserv1.3.6 を自分でコンパイル)
●Plamo1.3 お勧めNote     libc5.4.44 ( ypserv1.1.5 )

の環境では,このメイルの最後に記した設定で,一応動作しました.
しかし,実際にNISサーバにしようと考えている

●Plamo1.4.4 お勧めDesktop libc5.4.46 ( ypserv1.1.5 )
●Plamo1.4.4 お勧めDesktop libc5.4.46 ( ypserv1.3.6 を自分でコンパイル )
●Plamo1.4.4 お勧めDesktop libc5.4.46 + 森岡和才様の 2.2.9 Upgrade kit で
                                        kernel と for2.2/binary/* 全置換え

では,同じ設定をしたにもかかわらず,ypserv が死んでしまいます.
Plamo1.3 から 1.4 に上がったところで,私の設定では問題が生じて
いるようです.原因が単に設定のせいなのか,ライブラリー等のせい
なのかわかりません.

ひとつ気付いたことは,
Plamo1.3 では rpc の port 111 が "portmaper" であるのに対し,
Plamo1.4 では "rpcbind" となっていることです.
NFSマウントは相互に正常に動作しているので,恐らく関係ないと思いますが.

ypbind-3.3.tar.gz と yp-tools-2.2.tar.gz もコンパイルして入れ直したり
しましたが,状況は変わりません.

以下に,やっとこと,設定状況,ログ等を記しておきます.
不具合の原因について,何か御指摘いただければ幸いです.
設定状況は,とりあえずPlamo1.3では動作したと言うだけで,
その内容はめちゃくちゃかもしれませんが...
尚,サイト固有の情報は,NIS_DOMAIN_NAME,192.168.0.1 等と
適当に書き換えています.# は root の shell prompt です.

今週末は留守にしてしまうので,反応が遅れるかもしれませんが,
よろしくお願いします.

木戸

=======================================================
=======================================================
■■■ 動作確認 ■■■
-------------------------------------------------------
# ypserv --version
ypserv - NYS YP Server version 1.1.5 (with securenets) or
ypserv - NYS YP Server version 1.3.6 (with securenets)

# /bin/domainname NIS_DOMAIN_NAME

# /usr/sbin/ypserv

# /usr/libexec/yp/ypinit -m
...
...
The current list of NIS servers looks like this:
HOST_NAME
Is this correct?  [y/n: y]  
We need some  minutes to build the databases...
Building /var/yp/NIS_DOMAIN_NAME/ypservers...
Running /var/yp/Makefile...
NIS Map update started on Wed Jul  7 12:23:39 JST 1999
make[1]: Entering directory `/var/yp/NIS_DOMAIN_NAME'
Updating passwd.byname...
Updating passwd.byuid...
Updating hosts.byname...
Updating hosts.byaddr...
Updating group.byname...
Updating group.bygid...
Updating netgroup...
Updating netgroup.byhost...
Updating netgroup.byuser...
make[1]: Leaving directory `/var/yp/NIS_DOMAIN_NAME'
NIS Map update completed.

# /usr/sbin/ypbind

# rpcinfo -p HOST_NAME
   program vers proto   port
    100000    2   tcp    111  rpcbind
    100000    2   udp    111  rpcbind
    100007    2   udp    678  ypbind
    100007    2   tcp    680  ypbind
    100005    1   udp    679  mountd
    100005    2   udp    679  mountd
    100005    1   tcp    682  mountd
    100005    2   tcp    682  mountd
    100003    2   udp   2049  nfs
    100003    2   tcp   2049  nfs
    100004    2   udp    729  ypserv
    100004    1   udp    729  ypserv
    100004    2   tcp    732  ypserv

# ypwhich -m
netgroup.byuser HOST_NAME
netgroup.byhost HOST_NAME
netgroup HOST_NAME
hosts.byaddr HOST_NAME
hosts.byname HOST_NAME
group.bygid HOST_NAME
group.byname HOST_NAME
passwd.byname HOST_NAME
ypservers HOST_NAME
passwd.byuid HOST_NAME

# ps aux | grep yp
root       950  0.0  0.3   920   448  p0 S    12:30   0:00 ypserv
root      1067  0.0  0.2   848   372  ?  S    12:30   0:00 ypbind (master) 
root      1068  0.0  0.3   868   428  ?  S    12:30   0:00 ypbind (slave)

# ypwhich
HOST_NAME.DOMAIN_NAME

●●●これがうまく行かない
# ypcat passwd
No such map passwd.byname. Reason: YP server error

●●●そのうち ypserv が死んでしまい
# ps aux | grep yp
root      1067  0.0  0.3   856   384  ?  S    12:30   0:00 ypbind (master) 
root      1093  0.0  0.3   884   476  ?  S    12:35   0:00 ypbind (slave)

# ypwhich
can't yp_bind: Reason: RPC failure

# ypcat passwd
clnttcp_create failed
: Connection refused
No such map passwd.byname. Reason: Can't communicate with portmapper

--------------------------------------------------------------
●●●試しに,データベースファイルをアスキーに戻せるか試すと,
# /usr/lib/yp/makedbm -u /var/yp/NIS_DOMAIN_NAME/ypservers
HOST_NAME HOST_NAME
HOST_NAME  @o HOST_NAME
Segmentation fault
# /usr/lib/yp/makedbm -u /var/yp/NIS_DOMAIN_NAME/passwd.byname
guest guest:x:405:100:guest:/dev/null:/dev/null
ftp ftp:x:404:1::/home/ftp:/bin/bash
Segmentation fault
●●●と途中まで表示して失敗する

●●●しかし,そのデータベースファイルを Plamo1.3 に ftp して
●●●そこの makedbm でアスキーに戻すと最後までデコードされるので,
●●●Plamo1.4 で作った,makedbm の -u オプションでの動作がおかしいのかも

=======================================================
=======================================================
■■■ 設定ファイル ■■■
-------------------------------------------------------
# cat /etc/yp.conf
ypserver HOST_NAME

-------------------------------------------------------
# cat /etc/ypserv.conf

-------------------------------------------------------
# cat /etc/nsswitch.conf
passwd:     compat
group:      compat
shadow: files nis
hosts:      nis files dns
netgroup:   nis

-------------------------------------------------------
# cat netgroup
NET_GROUP (HOST_NAME,GROUP_NAME,)

-------------------------------------------------------
# cat /etc/host.conf
order hosts, bind, nis
multi on

-------------------------------------------------------
# tail -1 /etc/passwd
+::::::

-------------------------------------------------------
# tail -5 /etc/group
man::15:man
users::100:games
nogroup::-2:
GROUP_NAME:x:1111:
+:::

-------------------------------------------------------
# cat /etc/hosts
127.0.0.1       localhost
192.168.0.1     HOST_NAME.DOMAIN_NAME HOST_NAME

-------------------------------------------------------
# grep "^all" /var/yp/Makefile
all:  passwd hosts group netgrp ypservers

# grep makedbm /var/yp/Makefile
DBLOAD = $(YPBINDIR)/makedbm -c -m `hostname`

-------------------------------------------------------
# cat /var/yp/securenets 
255.255.255.255 127.0.0.1
255.255.255.0 192.168.0.0

-------------------------------------------------------
# ls -l /var/yp/binding
total 1
-rw-r--r--   1 root     root           14 Jul  7 11:33 NIS_DOMAIN_NAME.2

-------------------------------------------------------
# ls -l /var/yp/NIS_DOMAIN_NAME/
total 140
-rw-------   1 root     root        12685 Jul  7 11:23 group.bygid
-rw-------   1 root     root        12732 Jul  7 11:23 group.byname
-rw-------   1 root     root        12616 Jul  7 11:23 hosts.byaddr
-rw-------   1 root     root        12808 Jul  7 11:23 hosts.byname
-rw-------   1 root     root        12422 Jul  7 11:23 netgroup
-rw-------   1 root     root        12422 Jul  7 11:23 netgroup.byhost
-rw-------   1 root     root        12421 Jul  7 11:23 netgroup.byuser
-rw-------   1 root     root        12612 Jul  7 11:23 passwd.byname
-rw-------   1 root     root        12570 Jul  7 11:23 passwd.byuid
-rw-------   1 root     root        12345 Jul  7 11:23 ypservers

=======================================================
=======================================================
■■■ ログ ■■■
-------------------------------------------------------
# cat /var/log/syslog
Jul  6 21:21:00 HOST_NAME ypbind[1422]: broadcast: RPC: Timed out.
Jul  6 21:22:04 HOST_NAME ypbind[1422]: broadcast: RPC: Timed out.
Jul  6 21:23:08 HOST_NAME ypbind[1422]: broadcast: RPC: Timed out.
Jul  7 12:30:10 HOST_NAME ypbind[877]: \
                unknown: RPC: Unable to receive; errno = Connection refused
Jul  7 12:35:10 HOST_NAME ypbind[1068]: \
  HOST_NAME.DOMAIN_NAME: RPC: Unable to receive; errno = Connection refused

-------------------------------------------------------
# ypserv -d

●●● ypserv をデバッグモードで立ち上げる
[Welcome to the NYS YP Server, version 1.3.6 (with securenets)]
Find securenet: 255.255.255.255 127.0.0.1
Find securenet: 255.255.255.0 192.168.0.0
ypproc_domain("NIS_DOMAIN_NAME") [From: 192.168.0.1:755]
connect from 192.168.0.1
        -> Ok.

●●●ここで ypwhich -m と打つと
ypproc_maplist_2_svc(): [From: 192.168.0.1:757]
                domain = "NIS_DOMAIN_NAME"
connect from 192.168.0.1
-> netgroup.byuser, netgroup.byhost, netgroup, hosts.byaddr, hosts.byname, 
   group.bygid, group.byname, passwd.byname, ypservers, passwd.byuid

ypproc_master_2_svc(): [From: 192.168.0.1:758]
                domain = "NIS_DOMAIN_NAME"
                map = "netgroup.byuser"
        db_open("NIS_DOMAIN_NAME", "netgroup.byuser")
                ->Returning OK!
Opening: NIS_DOMAIN_NAME/netgroup.byuser (0) 8058478
ypdb_close() called
connect from 192.168.0.1
Found: NIS_DOMAIN_NAME/netgroup.byuser (0)
ypdb_close() called
        -> Peer = "HOST_NAME"

●●●という具合に,それぞれの map に対しうまくいっていそうな
●●●表示が続くが,必ず下記の箇所ででひっかかってしまう.
ypproc_domain("NIS_DOMAIN_NAME") [From: 192.168.0.1:755]
connect from 192.168.0.1
        -> Ok.
ypproc_first(): [From: 192.168.0.1:757]
        domainname = "NIS_DOMAIN_NAME"
        mapname = "group.byname"
Found: NIS_DOMAIN_NAME/group.byname (3)
ypdb_close() called
connect from 192.168.0.1
Found: NIS_DOMAIN_NAME/group.byname (3)
ypdb_close() called
        -> Key = "users", Value = "users::100:games"
Segmentation fault

-------------------------------------------------------
# ypbind -d

●●● ypbind のデバッグモードの出力は正常そう
cleared entry for domain NIS_DOMAIN_NAME: server 0.0.0.0, port 0
parsing config file
Trying entry: ypserver HOST_NAME
parsed ypserver HOST_NAME
bindto_server: domain NIS_DOMAIN_NAME, host HOST_NAME
add_server() domain: NIS_DOMAIN_NAME, host: HOST_NAME.DOMAIN_NAME, 
 nobroadcast, slot: 0
updated entry for domain NIS_DOMAIN_NAME: server 192.168.0.1, port 726
pinging server 192.168.0.1, port 726
pinging server 192.168.0.1, port 726
pinging server 192.168.0.1, port 726

●●●ここで ypwhich -m と打っても次の表示がでるが
YPBINDPROC_DOMAIN_2: server 192.168.0.1, port 726

●●● 上記のように ypserv が死んでしまうので,その後下記のようになる
HOST_NAME.DOMAIN_NAME: RPC: Unable to receive; errno = Connection refused
cleared entry for domain NIS_DOMAIN_NAME: server 192.168.0.1, port 726
binding to server HOST_NAME.DOMAIN_NAME
bindto_server: domain NIS_DOMAIN_NAME, host HOST_NAME.DOMAIN_NAME
HOST_NAME.DOMAIN_NAME: RPC: Unable to receive; errno = Connection refused
...
...

======================================================= 以上

Follow-Ups
[plamo:03311] Re: NIS (ypserv) failed, Kazutoshi Morioka

[検索ページ] [メール一覧]
Plamo ML 公開システム