

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
rpcbindとは?基本のしくみ
rpcbindとは、RPCという仕組みを使うときに「どのプログラムがどのポートを使うか」を教えてくれる仕組みです。WindowsやmacOSに比べてLinuxやUnixの世界では、遠くのコンピュータと連携するためにRPCという仕組みが古くから使われてきました。そのときの橋渡し役を担うのが rpcbind です。
RPCとは、リモートで手続きを呼び出す仕組みのことです。たとえば「ファイルを読みたい」「計算を実行したい」といった機能を、別の場所にあるプログラムに任せるときに使われます。このとき、どのプログラム番号に対応する機能かを指し示す番号があります。rpcbind はその番号と現在使われているポートを結びつけ、クライアントが正しい場所へ接続できるようにします。
どういうときに使われるのか
rpcbind は主にRPCを使うサービスが動くときに存在します。古いネットワーク機能を含むNFSや一部のファイル共有、あるいはプリンタ共有などがRPCを用いることがあります。新しいシステムでは必須ではない場合もありますが、ネットワーク上の互換性を保つためにまだ使われていることがあります。
基本的な仕組み
クライアントは最初に rpcbind に「このRPCプログラム番号を使うサービスはどのポートにいるのか」を尋ねます。rpcbind は自分のデータベースを参照し、対応するポート番号を返します。クライアントはそのポートに接続してサービスとやりとりします。こうしてRPCプログラム番号と実体のポートが分離され、同じ番号の別のサービスが別のポートを使えるようになります。
設定とセキュリティのポイント
公開ネットワークに rpcbind をむやみに露出させると危険です。攻撃者はポートマッピング情報を利用して不正な接続を試みることがあります。したがって、不要な環境では rpcbind を停止するか、ファイアウォールで 111 番ポートの通信を制限することが重要です。
実務的な使い方の概要
現代の多くのLinuxディストリビューションでは rpcbind はデフォルトでインストールされ、サービスと一緒に起動します。基本的な操作は以下の通りです。
1) rpcbind の状態を確認する systemctl status rpcbind
2) rpcbind を有効化・起動する sudo systemctl enable --now rpcbind
3) ポートの状況を確認する sudo netstat -tulpen | grep 111
4) ファイアウォールで必要な場合だけ許可する
代表的なコマンド例と注意点
ディストリビューションによってサービス名が違うことがあります。NFSを使っている環境では rpcbind の有無がパフォーマンスや安定性に影響することがあるので、不要なら止めておくのが基本です。
テーブルで要点を整理
| 項目 | 説明 |
|---|---|
| rpcbind | RPCプログラム番号とポートの対応づけを管理するデーモン |
| ポート111 | RPCサービスのポートマッピングに使われるデフォルトポート |
| セキュリティ | 公開ネットワークでは露出を避け、必要時のみ有効化 |
まとめと注意点
rpcbind はRPCを動かすための「地図役」です。現在は多くのサービスがRPCを見直しつつありますが、古い環境や特定のファイル共有を使っていると依然として重要です。セキュリティを最優先に、不要な場合は停止・遮断しましょう。
rpcbindの関連サジェスト解説
- rpcbind.socket とは
- rpcbind.socket とは、Linux の systemd で使われるソケット起動ユニットの一つです。RPC(Remote Procedure Call)を使うサービスは、最初にどのポートで動作しているかをクライアント側に知らせる必要があります。rpcbind はRPCプログラム番号を実際のネットワークのポート番号へ結び付ける役割を果たし、NFS や一部のファイル共有サービス、ディレクトリサービスなどがこの仕組みを利用します。クライアントがRPCサーバに接続する際、まずポート111(TCP/UDP)で rpcbind に問い合わせ、必要なRPCプログラムのポートを返してもらいます。その後、クライアントは返されたポートへ接続します。systemd の rpcbind.socket は“ソケット起動”を利用して、必要なときだけ rpcbind 本体を起動します。つまり待機しているだけの状態を避け、資源を節約できます。現代の多くのディストリビューションでは rpcbind パッケージが含まれており、NFS など RPC を使う環境では有効にしておくのが一般的です。使い方としては、sudo systemctl enable --now rpcbind.socket で有効化・起動し、sudo systemctl status rpcbind.socket で状態を確認します。不要な環境ではセキュリティ上の理由から無効化することも可能です。RPC の状態を確認するには rpcinfo -p localhost や ss -ltnp | grep 111 などのコマンドが役立ちます。なお、rpcbind は古い portmap の代替として重要ですが、設定次第でセキュリティリスクにもなるため、必要性を踏まえた運用が推奨されます。
rpcbindの同意語
- rpcbind
- RPCプログラム番号とポート番号の対応づけを行うデーモン。RPC(Remote Procedure Call)を使う際、プログラムが利用するポートを動的に割り当てる役割を担います。現行のLinuxで標準の名称です。
- portmap
- 旧称のRPCポートマッパ。古いUnix系や初期のLinuxで使われていた、RPCプログラム番号とポート番号の対応づけを行うデーモンです。
- portmapper
- Port Mapper の英語表記。RPCプログラムとポートの対応を管理するデーモンのことを指します。
- RPCポートマッパ
- 日本語訳の表現。RPCのポート割り当てを管理する機能を指す名称です。
- Portmapデーモン
- portmap デーモンの別称。RPCポートマッピングを提供する常駐サービスを指します。
- RPC Port Mapper
- 英語表記。RPCプログラム番号とポート番号の対応を行うデーモンのことを指します。
rpcbindの対義語・反対語
- 直接接続
- RPCBINDを介さず、既知のポートへ直接接続する方式。例: クライアントが特定のポート番号を直接指定してサービスに接続する場合。
- RPCなし
- RPCプロトコル自体を使わない通信形態。RPCBINDの機能を使用しない前提。
- 非RPC通信
- RPCを用いない通信形態。代替のプロトコルを用いるケースに該当。
- 静的ポート割り当て
- 動的に割り当てられるポート番号を使わず、事前に固定されたポートを使用する設定。
- ポートマッピング不要
- rpcbindのようなポート番号の解決サービスを必要としない構成。
- ローカル専用通信
- ネットワーク経由のRPCポートマッピングを用いず、ローカル環境内だけで完結する通信形態。
rpcbindの共起語
- RPC
- Remote Procedure Callの略。ネットワーク上で別マシンの機能を呼び出す仕組み。
- rpcbind
- RPCプログラムとポート番号を対応づけるデーモン。クライアントは rpcbind のポートを取得して通信を開始する。
- portmapper
- RPCのポート割り当てを提供する機能。portmapperと同義で使われることもある。
- portmap
- portmapperの旧称。
- sunrpc
- Sun Microsystems が提供した RPC 実装。多くの Unix 系で使われる基盤技術。
- NFS
- Network File System。RPCを使ってリモートファイル共有を提供する仕組み。
- NFSv4
- NFSの第四版。IDマッピングやセキュリティ改善が含まれる。
- mountd
- NFS のマウント情報を管理する RPC サービス。
- statd
- NFS の状態を追跡・通知する RPC サービス。
- lockd
- ファイルロックの情報を RPC 経由で提供するデーモン。
- nfsd
- NFS サーバー側の RPC 処理を担うデーモン。
- idmapd
- NFSv4 で UID/GID のマッピングを行う RPC サービス。
- RPCSEC_GSS
- RPC のセキュリティメカニズムの一つ。GSS-API(例: Kerberos)を使って認証を提供。
- 111/tcp
- RPC のデフォルトポート番号(TCP)。
- 111/udp
- RPC のデフォルトポート番号(UDP)。
- inetd
- 旧来のネットワークデーモン。RPCサービスが inetd から起動されることがある。
- xinetd
- inetd の拡張版。RPC サービスの起動制御に使われることがある。
- systemd
- 現代の Linux でのサービス管理。rpcbind の起動・管理にも用いられる。
- rpcbind.socket
- systemd のソケットユニット。rpcbind の待機・起動を担う。
- tcpwrappers
- TCP wrappers によるアクセス制御の仕組み。RPC の制限にも用いられる。
- /etc/hosts.allow
- TCP wrappers の許可設定ファイル。RPC へのアクセスを限定する。
- /etc/hosts.deny
- TCP wrappers の拒否設定ファイル。
- firewall
- 通信を遮断または許可するファイアウォール設定全般。RPCの保護にも重要。
- iptables
- 古典的なパケットフィルタ。RPCポートの許可・拒否を設定する。
- nftables
- 新世代のパケットフィルタ。RPCポートの制御にも用いられる。
- firewalld
- 動的にファイアウォールを管理するツール。RPCポートの管理に使われる。
- netstat
- ネットワーク接続・リッスン状態を表示するコマンド。RPCがどのポートを使用しているか確認するのに便利。
- ss
- netstat の代替コマンド。ソケット情報を素早く表示する。
rpcbindの関連用語
- rpcbind
- RPCプログラム番号と対応するポート番号を結びつけるデーモン。クライアントは rpcbind を参照して、特定のRPCサービスが実際にどのポートで動作しているかを知ります。
- portmapper
- rpcbind の旧称。UNIX系システムで同様のポリシー(プログラム番号とポート番号の対応付け)を提供します。
- ONC_RPC
- Open Network Computing RPC の略。Sunが提唱したRPCの標準群で、rpcbind はこのRPCのポート割り当てを行います。
- RPCプログラム番号
- 各RPCサービスには固有の番号が割り当てられており、rpcbind はその番号と実際のポートを対応づけます。
- XDR
- External Data Representation の略。ONC RPC でデータを共通の形式で直列化/非直列化する仕組みです。
- NFS
- Network File System の略。RPCを基盤としてファイル共有を提供する仕組みで、rpcbindを使って必要なポートを決定します。
- mountd
- NFSでマウント操作を提供するRPCサービス。rpcbind経由でポートを知る必要があります。
- lockd
- ファイルの排他ロックを管理するRPCサービス。NFSと連携して動作します。
- statd
- 状態管理デーモン。NFSの信頼性を高めるための再接続情報を提供します。
- portmap
- portmapper の別名。RPCプログラム番号とポートの対応付けを担う役割です。
- RPCセキュリティ
- RPC 通信の認証・暗号化などのセキュリティ機能。設定状況に応じて有効化を検討します。
- ファイアウォール
- rpcbind や RPC サービスはポート111番と各RPCプログラムのポートを開放する必要があるため、ファイアウォール設定が重要です。
- ポート111
- rpcbind は通常 UDP/TCP のポート111 で待ち受けます。
- 動的ポート割り当て
- RPCサービスが起動時に動的にポートを割り当てる場合があり、クライアントは rpcbind を参照してポートを取得します。
- 静的ポート
- 一部の RPC サービスは常に同じポートで動作するよう設定され、ファイアウォール管理が楽になります。
- セキュリティ留意点
- 不要な RPC サービスは無効化し、rpcbind および RPC の最新版パッチ適用、アクセス制御の強化を行います。



















