portreserveを調べてみる

portreserveを用いたTCPポートの確保原理を示す。

動作原理について

以下の順序で動作。
  • portreserveが/etc/portreserveディレクトリ下で指定されたポートを確保
  • 例えば、CUPSサービスが、開始する
  • CUPSサービスが、portreserveが確保していたポートの解放を依頼
  • CUPSサービスが、portreserveが開放したポートを確保しにいく

起動順序について

起動スクリプト名は、S11portreserve。通常は、ネットワーク起動の後、Syslog起動前に起動される。
# ls /etc/rc*.d/rc*.d/*portreserve
/etc/rc0.d/K89portreserve /etc/rc4.d/S11portreserve /etc/rc1.d/K89portreserve
/etc/rc5.d/S11portreserve /etc/rc2.d/S11portreserve /etc/rc6.d/K89portreserve
/etc/rc3.d/S11portreserve
定義方法

/etc/portmapディレクトリ下にファイルを作成し、そのファイルに/etc/serviceで逆引き可能なサービス名を各行に書く。
# cat /etc/portreserve/cups
ipp
解除方法

以下
# portrelease cups
実際、CUPSの起動スクリプトには以下行がある。
# grep portrelease /etc/init.d/cups     [ -x /sbin/portrelease ] && /sbin/portrelease cups ....

以上


コメント