Tengo una estación de trabajo independiente Fedora 25 x86_64. Algo está escuchando en el puerto 111 (identificado con un escaneo nmap):
$ sudo lsof -i :111
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 36u IPv4 15170 0t0 TCP *:sunrpc (LISTEN)
systemd 1 root 37u IPv4 15171 0t0 UDP *:sunrpc
systemd 1 root 38u IPv6 15172 0t0 TCP *:sunrpc (LISTEN)
systemd 1 root 39u IPv6 15173 0t0 UDP *:sunrpc
Deshabilité el equipo Sun en el puerto con los siguientes comandos:
$ sudo systemctl disable rpcbind
$ sudo systemctl disable sunrpc
Failed to disable unit: No such file or directory
Después de reiniciar, el puerto aún está abierto.
Parece que algo más que el equipo Sun quiere escuchar en el puerto 111. O tal vez systemd
no está respetando mis deseos de desactivar el servicio no utilizado. O tal vez algo más ...
¿Cómo determino qué está intentando escuchar en el puerto y cómo lo desactivo?
Desde abajo:
$ sudo systemctl -a | grep -E "rpc|port"
var-lib-nfs-rpc_pipefs.mount loaded active mounted RPC Pipe File System
abrtd.service loaded active running ABRT Automated Bug Reporting Tool
auth-rpcgss-module.service loaded inactive dead Kernel Module supporting RPCSEC_GSS
fedora-import-state.service loaded active exited Import network configuration from initramfs
fedora-readonly.service loaded active exited Configure read-only root support
rpc-gssd.service loaded inactive dead RPC security service for NFS client and server
rpc-statd-notify.service loaded inactive dead Notify NFS peers of a restart
rpc-statd.service loaded inactive dead NFS status monitor for NFSv2/3 locking.
● rpc-svcgssd.service not-found inactive dead rpc-svcgssd.service
rpcbind.service loaded inactive dead RPC Bind
rpcbind.socket loaded active listening RPCbind Server Activation Socket
rpc_pipefs.target loaded active active rpc_pipefs.target
rpcbind.target loaded active active RPC Port Mapper
disable
. El mensaje solo aparece enstop
(y aparece si el servicio ya está detenido). Todavía puedo sentir empatía, pero no estoy seguro de cuál sería la mejor manera de mejorar esta experiencia.Es la activación del socket :). Y tenías razón en sospechar.
Necesitas deshabilitarlo
rpcbind.socket
. La desactivaciónrpcbind.service
, que es lo que sesystemctl disable rpcbind
supone, no tiene ningún efecto.Además, el
disable
aquí solo afectará lo que sucede en el momento del arranque. Entonces, si desea ver un cambio inmediato, también desea ejecutarsystemctl stop rpcbind.socket
.EDITAR: Esta pregunta me parece muy similar. Jeff Schaller señala que puede usar el comando
systemctl list-sockets
para ver los puertos y servicios para los quesystemd
implementa la activación de socket.Regresé y eché un vistazo
Fedora-Workstation-Live-x86_64-25-1.3.iso
.Se muestra el estado de rpcbind.service
indirect; vendor preset; disabled
. (TambiénActive: inactive (dead)
) Entonces, está claro que deshabilitar (o detener) nuevamente no cambiaría nada.Supongo que
indirect
aquí hay una pista para buscar otras unidades que activen esta (incluidas, entre otras, las unidades de socket). Una vez que la unidad de socket también se detiene, cambia deindirect
adisabled
.Lo extraño es que la unidad de socket se muestra como
enabled; vendor preset: disabled
. Esto significa que algo ha habilitado rpcbind.socket en la imagen de Fedora 25, pero no fue habilitado por/lib/systemd/system-preset/80-workstation.preset
o90-default.preset
. Esto parece ir en contra de la política (actual) en https://fedoraproject.org/wiki/Packaging:DefaultServices que está vinculado a 90-default.preset -Esto se ha resuelto en algún momento.
rpcbind.socket
ya no está habilitado enFedora-Workstation-Live-x86_64-28-1.1.iso
.(Esto no significa que rpcbind / port 111 sea automáticamente accesible desde la red en sistemas instalados desde un disco Fedora 25. La instalación también incluye un firewall que no permite el puerto 111)
fuente
sunrpc
yrpcbind
no detiene al oyente.El puerto 111 está vinculado al mapa de puertos . Si usa NFS, es probable que lo necesite. Puede usar
systemctl -a | grep -E "rpc|port"
para ver el nombre del servicio correspondiente y deshabilitarlo (no tengo acceso a un cuadro de Fedora en ese momento).fuente
Este puerto es activado por el
nfs
servicio, instalado desde elnfs-utils
paquete. Si no lo necesita, será mejor que lo desinstale.nfs-utils
yiscsi-initiator-utils
generalmente se instalan como dependencias dellibvirt
paquete. Ambos paquetes activan una gran cantidad de servicios y enchufes que quizás no haya deseado. Estos comandos se pueden usar para deshabilitarnfs
yiscsi-initiator-utils
servicios.fuente