1 问题描述
在使用 “sudo systemctl start rpcbind” 报错 错误信息提示可以查看systemctl status rpcinbd.service
或者journalctl -xe
但是我们都知道 status是看不出来的 所以 直接查看详细信息 执行journalctl -xe
看到如下关键信息 而且说到了Address family not supported by protocol
说的是协议簇不支持 其实是ipv6不支持
Starting Preprocess NFS configuration...
rpcbind.socket failed to listen on sockets: Address family not supported by protocol
Failed to listen on RPCbind Server Activation Socket.
2 解决办法
2.1 修改 /etc/sysctl.conf 文件
尾部追加如下两行
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
让新添加的配置生效
$ sudo sysctl -a
2.2 修改 rpcbind.socket 文件
编辑 /etc/systemd/system/sockets.target.wants/rpcbind.socket 文件,注释ListenStream和ListenDatagram
[Unit]
Description=RPCbind Server Activation Socket
[Socket]
ListenStream=/var/run/rpcbind.sock
#ListenStream=[::]:111
#ListenDatagram=[::]:111
ListenStream=0.0.0.0:111
BindIPv6Only=ipv6-only
[Install]
WantedBy=sockets.target
2.3 重启服务
$ sudo systemctl daemon-reload
$ sudo systemctl restart rpcbind
$ sudo systemctl restart nfs