あるとき再起動したあと、NISクライアントがuserを受け付けてくれなくなり、ちょっと途方に暮れる。
NISサーバがどういうわけか起動していないので再起動してみたが、エラーが出て起動してくれない。
systemd[1]: Starting NIS/YP (Network Information Service) Server... ypserv[3798]: ypserv: can not bind UDP: Address already in use systemd[1]: ypserv.service: main process exited, code=exited, status=1/FAILURE systemd[1]: Failed to start NIS/YP (Network Information Service) Server. systemd[1]: Unit ypserv.service entered failed state. systemd[1]: ypserv.service failed.
このように言われる。ypserv: can not bind UDP: Address already in useここが怪しいよな。
で、
# lsof -i COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME rpcbind 775 rpc 6u IPv4 9606 0t0 UDP *:sunrpc rpcbind 775 rpc 7u IPv4 9607 0t0 UDP *:944 rpcbind 775 rpc 8u IPv4 9608 0t0 TCP *:sunrpc (LISTEN) rpcbind 775 rpc 9u IPv6 9609 0t0 UDP *:sunrpc rpcbind 775 rpc 10u IPv6 9610 0t0 UDP *:944 rpcbind 775 rpc 11u IPv6 9611 0t0 TCP *:sunrpc (LISTEN) avahi-dae 796 avahi 12u IPv4 8051 0t0 UDP *:mdns avahi-dae 796 avahi 13u IPv4 8052 0t0 UDP *:40829 chronyd 915 chrony 1u IPv4 18064 0t0 UDP localhost:323 chronyd 915 chrony 2u IPv6 18065 0t0 UDP localhost:323 flask 1286 rnaseq 3u IPv4 37148 0t0 TCP mn-rx1330m3:commplex-main (LISTEN) rpc.ypxfr 1288 root 4u IPv4 25503 0t0 UDP *:945 rpc.ypxfr 1288 root 5u IPv4 25506 0t0 TCP *:945 (LISTEN) sshd 1292 root 3u IPv4 26903 0t0 TCP *:ssh (LISTEN) sshd 1292 root 4u IPv6 26905 0t0 TCP *:ssh (LISTEN) cupsd 1297 root 9u IPv6 21293 0t0 TCP localhost:ipp (LISTEN) cupsd 1297 root 12u IPv4 21294 0t0 TCP localhost:ipp (LISTEN) (以下略)
なんかポート944と945がrpcbindで使われている。どうしてまたわざわざ競合するのだ。
NISはポートを変動させると聞いていたので
/etc/sysconfig/network
# Created by anaconda NISDOMAIN=nis YPSERV_ARGS="-p 944" YPXFRD_ARGS="-p 945"
という感じに固定していたのだ。これをしないとfirewallを抜けれないので。
nfsの方はserviceとしてfirewallに設定しておけるので、変動しても構わないのに。
というわけで、一旦rpcbindをstopしてからypservをstartし、rpcbindをもう一度startしてやることで回避できた。
しかし、これはまた起こる可能性がある事象だし、どうにかならんのかな。