IPv6を無効にするとrpcバインディングエラーが発生する

IPv6を無効にするとrpcバインディングエラーが発生する

ipv6.disable=1IPv6を無効にするには、ブートローダ(システム起動)でカーネルコマンドライン引数を使用します。ただし、このオプションを使用すると、起動後のログにこれらのエラーが表示されるようになりました。

Jul 09 02:38:48 arch rpcbind[645]: cannot create socket for udp6
Jul 09 02:38:48 arch rpcbind[645]: cannot create socket for tcp6
Jul 09 02:38:48 arch rpc.statd[649]: Failed to create listener xprt (statd, 1, udp6)
Jul 09 02:38:48 arch rpc.mountd[642]: Could not make a socket: (97) Address family not supported by protocol

これはArch Linux 4.14.53-1-lts #1 SMP Tue July 3 16:27:18 CEST 2018 x86_64 GNU/Linuxです。

これらのエラーの結果は何ですか? IPv6を無効にしてこの問題をどのように解決できますか?

追加情報:rpcinfo -p

program vers proto   port  service
100000    4   tcp    111  portmapper
100000    3   tcp    111  portmapper
100000    2   tcp    111  portmapper
100000    4   udp    111  portmapper
100000    3   udp    111  portmapper
100000    2   udp    111  portmapper
100005    1   udp  20048  mountd
100005    1   tcp  20048  mountd
100005    2   udp  20048  mountd
100024    1   udp  48386  status
100005    2   tcp  20048  mountd
100024    1   tcp  47193  status
100005    3   udp  20048  mountd
100005    3   tcp  20048  mountd
100003    3   tcp   2049  nfs
100003    4   tcp   2049  nfs
100227    3   tcp   2049  nfs_acl
100021    1   udp  54818  nlockmgr
100021    3   udp  54818  nlockmgr
100021    4   udp  54818  nlockmgr
100021    1   tcp  42833  nlockmgr
100021    3   tcp  42833  nlockmgr
100021    4   tcp  42833  nlockmgr

答え1

ここ私に合ったソリューションです。

このメッセージは、実際に問題が異なるにもかかわらず、rpcbindによって問題が発生したと思うように人々を混乱させます。

Googleユーザーのためにこのメッセージを無効にするには、/ etc / netconfigファイルを編集してこれらの2行を無効にして(最初に「#」文字を追加)、次のように表示します。

#udp6       tpi_clts      v     inet6    udp     -       -
#tcp6       tpi_cots_ord  v     inet6    tcp     -       -

ファイルを保存してコンピュータを再起動すると、「rpcbind:udp6用のソケットを作成できません」というメッセージが表示されなくなります。

上記のように動作し、最も正確な解決策のようです。しかし、私はこの質問のすべてのニュアンスを完全に理解していないので、コメントを歓迎します。

答え2

バインディングIPを手動で指定します。

男性rpc.statd:

   -n, --name ipaddr | hostname
          Specifies  the  bind address used for RPC listener sockets.  The
          ipaddr form can be expressed as either an IPv4 or an  IPv6  pre‐
          sentation  address.   If this option is not specified, rpc.statd
          uses a wildcard address as the transport bind address.

関連情報