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 파일을 편집하고 이 두 줄을 비활성화(처음에 "#" 문자 추가)하여 이제 다음과 같이 표시되도록 하세요.

#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.

관련 정보