Fedora 25とポート111でリッスンしているものをすべて無効にする


9

私はFedora 25 x86_64スタンドアロンワークステーションを持っています。何かがポート111でリッスンしています(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

次のコマンドを使用して、ポートのSunギアを無効にしました。

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

再起動後もポートは開いたままです。

Sunのギア以外がポート111でリッスンしたいようです。またはsystemd、未使用のサービスを無効にしたいという私の希望を尊重していないようです。それとも何か他のもの...

ポートでリッスンしようとしているものを判別するにはどうすればよいですか。


下から:

$ 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

回答:


8

あなたが実行したときsudo systemctl disable rpcbindFedora 25、私は警告があると思います。

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

だからあなたは以下を試すことができます:

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

1
自分でテストしていたときに、そのメッセージは表示されませんでした。問題はrpcbind.serviceが最初に有効になっていないか、開始されていないことだと思います(デフォルトで、それがアクティブにならない限り)?そのため、サービスがすでに無効になっていることがわかり、メッセージに到達する前に終了します。おそらく改善する必要があります。
sourcejedi 2017年

訂正:実行しdisableただけなので、そのメッセージは表示されませんでした。メッセージは表示されるだけですstop(サービスがすでに停止している場合は表示されます)。私はまだ共感できますが、この経験を改善するための最良の方法が何であるかはわかりません。
sourcejedi 2017年

8

ソケットの活性化です:)。そして、あなたは疑わしいことは正しかった。

あなたは無効にする必要がありますrpcbind.socket。無効化rpcbind.service-これはsystemctl disable rpcbind想定されていることですが、効果はありません。

また、disableここは起動時に何が起こるかにのみ影響します。したがって、すぐに変更を確認したい場合は、実行する必要がありますsystemctl stop rpcbind.socket

編集:この質問は私に非常に似ています。Jeff Schallerは、コマンドを使用して、ソケットのアクティブ化を実装してsystemctl list-socketsいるポートとサービスを確認できることを指摘していますsystemd


私は戻って見ていたFedora-Workstation-Live-x86_64-25-1.3.iso

rpcbind.serviceのステータスはを示していますindirect; vendor preset; disabled。(またActive: inactive (dead))。したがって、無効化(または停止)しても、何も変更されないことは明らかです。

これindirectは、これをアクティブにする他のユニット(ソケットユニットを含むがこれに限定されない)を探すヒントになると思います。ソケットユニットも同様に停止すると、それがからに変更indirectしますdisabled

奇妙な点は、ソケットユニットがと表示されていることenabled; vendor preset: disabledです。これは、Fedora 25イメージで何かがrpcbind.socketを有効にしたが、/lib/systemd/system-preset/80-workstation.presetまたはによって有効にされなかったことを意味し90-default.presetます。これは、https: //fedoraproject.org/wiki/Packaging:DefaultServicesの90-default.presetからリンクされている(現在の)ポリシーに違反しているようです-

サービスをデフォルトで有効にする必要がある場合は、配布プリセットファイルの1つに追加する必要があります。

これはある時点で解決されました。rpcbind.socketもはやで有効にされませんFedora-Workstation-Live-x86_64-28-1.1.iso

(これは、Fedora 25ディスクからインストールされたシステムのネットワークからrpcbind /ポート111に自動的にアクセスできるという意味ではありません。インストールには、ポート111を許可しないファイアウォールも含まれます)


@sourcejediに感謝します。無効sunrpcrpcbindし、リスナーを停止しませんでした。

@jww rpcbind.socket を無効にする必要があります。rpcbind.serviceを無効にしても何も起こりません。
sourcejedi 2017年

@sourcejediに感謝します。私は仕事に取り掛かる必要があるので、今これを深く掘り下げる時間はありません。あなたは私の賛成票を得ました。なぜ人々は何年も前から存在し、常に「うまくいった」だけの単純なプロセスを壊すのが良い考えだと思うのです... xkcd.com/927

2
またはxkcd.com/1172
gsc

1
@jwwソケットのアクティブ化は、私の最も不快なsystemd機能の1つです。それは実際には非常に理にかなっています。(意味がないのは、それらを通常のサービスに個別に分類することです)
user253751

4

ポート111はportmapにリンクされています。NFSを使用する場合は、それが必要になります。を使用systemctl -a | grep -E "rpc|port"して、対応するサービスの名前を表示して無効にすることができます(現時点では、Fedoraボックスにアクセスできません)。


1
目を通すのがややうるさい-13行の出力。出力はttyに直接アクセスできないという問題があります。
sourcejedi 2017年

0

このポートはnfsnfs-utilsパッケージからインストールされたサービスによってアクティブ化されます。必要ない場合は、アンインストールすることをお勧めします。nfs-utilsそしてiscsi-initiator-utils通常の依存関係としてインストールされlibvirtたパッケージ。どちらのパッケージも、必要のないサービスやソケットをたくさんアクティブにします。このコマンドはnfsiscsi-initiator-utilsサービスを無効にするために使用できます。

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.