Saya punya workstation berdiri sendiri Fedora 25 x86_64. Sesuatu mendengarkan di port 111 (diidentifikasi dengan pemindaian 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
Saya menonaktifkan Sun gear di port dengan perintah berikut:
$ sudo systemctl disable rpcbind
$ sudo systemctl disable sunrpc
Failed to disable unit: No such file or directory
Setelah reboot port masih terbuka.
Tampaknya sesuatu selain Sun gear ingin mendengarkan pada port 111. Atau mungkin systemd
tidak menghormati keinginan saya untuk menonaktifkan layanan yang tidak digunakan. Atau mungkin sesuatu yang lain ...
Bagaimana cara menentukan apa yang mencoba mendengarkan pada port, dan bagaimana cara menonaktifkannya?
Dari bawah:
$ 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
. Pesan hanya muncul padastop
(dan itu muncul jika layanan sudah dihentikan). Saya masih bisa berempati tetapi saya tidak yakin bagaimana cara terbaik untuk meningkatkan pengalaman ini.Ini adalah aktivasi soket :). Dan Anda benar untuk curiga.
Anda harus menonaktifkan
rpcbind.socket
. Menonaktifkanrpcbind.service
- yangsystemctl disable rpcbind
diasumsikan - tidak berpengaruh.Selain itu, di
disable
sini hanya akan mempengaruhi apa yang terjadi pada saat boot. Jadi, jika Anda ingin melihat perubahan langsung, Anda juga ingin menjalankansystemctl stop rpcbind.socket
.EDIT: Pertanyaan ini sangat mirip dengan saya. Jeff Schaller menunjukkan Anda dapat menggunakan perintah
systemctl list-sockets
, untuk melihat port dan layanan yangsystemd
menerapkan aktivasi socket untuk.Saya kembali dan melihat
Fedora-Workstation-Live-x86_64-25-1.3.iso
.Status rpcbind.service menunjukkan
indirect; vendor preset; disabled
. (JugaActive: inactive (dead)
). Jadi jelas menonaktifkan (atau menghentikan) itu lagi tidak akan mengubah apa pun.Saya kira di
indirect
sini adalah petunjuk untuk mencari unit lain yang mengaktifkan yang satu ini (termasuk tetapi tidak terbatas pada unit soket). Setelah unit soket berhenti juga, itu berubah dariindirect
menjadidisabled
.Bagian yang aneh adalah bahwa unit soket menunjukkan sebagai
enabled; vendor preset: disabled
. Ini berarti sesuatu telah mengaktifkan rpcbind.socket di gambar Fedora 25, tetapi itu tidak diaktifkan oleh/lib/systemd/system-preset/80-workstation.preset
atau90-default.preset
. Ini tampaknya bertentangan dengan kebijakan (saat ini) di https://fedoraproject.org/wiki/Packaging:DefaultServices yang ditautkan dari 90-default.preset -Ini telah diselesaikan di beberapa titik.
rpcbind.socket
tidak lagi diaktifkan diFedora-Workstation-Live-x86_64-28-1.1.iso
.(Ini tidak berarti bahwa rpcbind / port 111 dapat diakses secara otomatis dari jaringan pada sistem yang diinstal dari disk Fedora 25. Instalasi juga termasuk firewall yang tidak memungkinkan port 111)
sumber
sunrpc
danrpcbind
tidak menghentikan pendengar.Port 111 ditautkan ke portmap . Jika Anda menggunakan NFS kemungkinan Anda akan membutuhkannya. Anda dapat menggunakan
systemctl -a | grep -E "rpc|port"
untuk melihat nama layanan yang sesuai dan menonaktifkannya (saya tidak memiliki akses ke kotak Fedora pada saat itu).sumber
Port ini diaktifkan oleh
nfs
layanan, diinstal darinfs-utils
paket. Jika Anda tidak membutuhkannya, Anda sebaiknya menghapusnya.nfs-utils
daniscsi-initiator-utils
biasanya diinstal sebagai dependensilibvirt
paket. Kedua paket mengaktifkan banyak layanan dan soket yang mungkin tidak Anda inginkan. Perintah ini dapat digunakan untuk menonaktifkannfs
daniscsi-initiator-utils
layanan.sumber