Fedora 25 ve 111 numaralı bağlantı noktasında dinleyen her şeyi devre dışı bırakma


9

Bir Fedora 25 x86_64 bağımsız iş istasyonum var. 111 numaralı bağlantı noktasında bir şeyler dinliyor (nmap taramasıyla tanımlanıyor):

$ 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

Bağlantı noktasındaki Sun dişlisini aşağıdaki komutlarla devre dışı bıraktım:

$ sudo systemctl disable rpcbind
$ sudo systemctl disable sunrpc
Failed to disable unit: No such file or directory

Yeniden başlattıktan sonra bağlantı noktası hala açıktır.

Sun teçhizatının 111 numaralı bağlantı noktasını dinlemek istediğinden başka bir şey görünüyor systemd. Ya da belki başka bir şey ...

Bağlantı noktasında ne dinlemeye çalıştığını nasıl belirlerim ve onu nasıl devre dışı bırakabilirim?


Aşağıdan:

$ 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

Yanıtlar:


8

Eğer çalıştırdığınızda sudo systemctl disable rpcbindüzerinde Fedora 25I bir uyarı olduğunu düşünüyorum:

Warning: Stopping rpcbind.service, but it can still be activated by:
rpcbind.socket

Böylece aşağıdakileri deneyebilirsiniz:

sudo systemctl stop rpcbind.socket
sudo systemctl disable rpcbind.socket

1
Kendimi test ederken bu mesajı görmedim. Bence sorun rpcbind.service etkin değil veya ilk etapta başlatılmadı (varsayılan olarak ve aktif hale gelmedikçe)? Böylece hizmetin zaten devre dışı olduğunu görür ve mesaja ulaşmadan sona erer. Muhtemelen geliştirilmelidir.
sourcejedi

Düzeltme: Bu mesajı görmedim çünkü sadece koştum disable. Mesaj yalnızca üzerinde görünür stop(ve hizmet zaten durdurulmuşsa görünür). Hala empati kurabiliyorum ama bu deneyimi geliştirmenin en iyi yolunun ne olacağından emin değilim.
sourcejedi

8

Soket aktivasyonu :). Ve şüphelenmeye haklıydın.

Devre dışı bırakmanız gerekiyor rpcbind.socket. Devre dışı bırakmanın rpcbind.service- ki bu systemctl disable rpcbindvarsayım - hiçbir etkisi yoktur.

Ayrıca, disableburada yalnızca önyükleme sırasında olanları etkiler. Eğer hemen bir değişiklik görmek istiyorsanız, koşmak da istersiniz systemctl stop rpcbind.socket.

EDIT: Bu soru bana çok benziyor. Jeff Schaller systemctl list-sockets, systemdsoket aktivasyonunu uygulayan portları ve servisleri görmek için komutu kullanabileceğinizi belirtiyor .


Geri döndüm ve bir göz attım Fedora-Workstation-Live-x86_64-25-1.3.iso.

Rpcbind.service durumu gösterilir indirect; vendor preset; disabled. (Ayrıca Active: inactive (dead)). Yani tekrar devre dışı bırakmak (veya durdurmak) hiçbir şeyi değiştirmeyecek.

Sanırım indirectburada bunu etkinleştiren diğer birimleri (soket birimleri dahil ancak bunlarla sınırlı olmamak üzere) aramak için bir ipucu var. Soket ünitesi de durdurulması sonra, gelen değişiklikleri indirectiçin disabled.

Garip kısım, soket biriminin olarak gösterilmesidir enabled; vendor preset: disabled. Bu, Fedora 25 görüntüsünde rpcbind.socket öğesinin bir şey etkinleştirdiği anlamına gelir, ancak /lib/systemd/system-preset/80-workstation.presetveya tarafından etkinleştirilmedi 90-default.preset. Bu , 90-default.preset ile bağlantılı https://fedoraproject.org/wiki/Packaging:DefaultServices adresindeki (mevcut) politikaya aykırı görünüyor.

Hizmetin varsayılan olarak etkinleştirilmesi gerekiyorsa, dağıtım hazır ayar dosyalarından birine eklenmelidir.

Bu bir noktada çözüldü. rpcbind.socketartık etkin değil Fedora-Workstation-Live-x86_64-28-1.1.iso.

(Bu, rpcbind / port 111'e Fedora 25 diskinden kurulan sistemlerde ağdan otomatik olarak erişilebileceği anlamına gelmez. Kurulum ayrıca 111 numaralı bağlantı noktasına izin vermeyen bir güvenlik duvarı içerir )


Teşekkürler @sourcejedi. Devre dışı bırakılıyor sunrpcve rpcbinddinleyiciyi durdurmadı.

@jww rpcbind.socket komutunu devre dışı bırakmanız gerekir. Rpcbind.service'i devre dışı bırakmak hiçbir şey yapmaz.
sourcejedi

Teşekkürler @sourcejedi. Getţe gitmem gerek, bu yüzden ţu anda daha derine inecek zamaným yok. Benim oyumu aldın. İnsanlar neden yıllardır var olan ve her zaman "sadece çalıştı" basit süreçleri kırmak için iyi bir fikir olduğunu düşünüyor ... xkcd.com/927


1
@jww Soket aktivasyonu benim en az olumsuz sistemd özelliklerimden biri; aslında çok mantıklı. (
Anlamsız

4

Port 111, portmap ile bağlantılıdır . NFS şansını kullanırsanız buna ihtiyacınız olacaktır. İlgili systemctl -a | grep -E "rpc|port"hizmetin adını görmek ve devre dışı bırakmak için kullanabilirsiniz (O sırada bir Fedora kutusuna erişimim yok).


1
Bakmak biraz gürültülü - 13 çıkış hattı ve çıkış doğrudan tty erişemiyorum muzdarip.
sourcejedi

0

Bu bağlantı noktası, paketten nfskurulan hizmet tarafından etkinleştirilir nfs-utils. İhtiyacınız yoksa kaldırmanız daha iyi olur. nfs-utilsve iscsi-initiator-utilsgenellikle libvirtpaketin bağımlılıkları olarak kurulur . Her iki paket de istemeyebileceğiniz çok sayıda hizmeti ve soketi etkinleştirir. Bu komutlar devre dışı bırakmak nfsve iscsi-initiator-utilshizmetleri devre dışı bırakmak için kullanılabilir .

systemctl disable nfs-client.target
systemctl stop nfs-client.target
systemctl disable rpcbind.socket
systemctl stop rpcbind.socket
systemctl stop rpc_pipefs.target
systemctl stop rpcbind.target
systemctl stop rpcbind.service
systemctl disable rpcbind.service
systemctl stop var-lib-nfs-rpc_pipefs.mount
systemctl stop proc-fs-nfsd.mount 
systemctl disable gssproxy.service
systemctl stop gssproxy.service
modprobe -r sunrpc
systemctl disable iscsid.socket
systemctl stop iscsid.socket
systemctl disable iscsiuio.socket
systemctl stop iscsiuio.socket
systemctl disable iscsid.service
systemctl stop iscsid.service
systemctl disable iscsiuio.service
systemctl stop iscsiuio.service
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.