13.4.4. ポート番号の変更
ポリシー設定によっては、サービスは特定のポート番号でのみ実行できます。ポリシーを変更せずにサービスが実行するポートを変更しようとすると、サービスが起動できなくなる可能性があります。
semanage
ユーティリティーを使用して、root ユーザーに、SELinux が httpd
でリッスンできるポートを一覧表示します。
~]# semanage port -l | grep -w http_port_t
http_port_t tcp 80, 443, 488, 8008, 8009, 8443
標準設定では、
httpd
は TCP ポート 80、443、488、8008、8009、または 8443 でリッスンできます。/etc/httpd/conf/httpd.conf
が、http_port_t
に登録されていないポートで httpd
がリッスンするように設定されていると、httpd
が起動できません。
httpd
を TCP ポート 80、443、488、8008、8009、または 8443 以外のポートで実行するように設定するには、次のコマンドを実行します。
/etc/httpd/conf/httpd.conf
ファイルを root で編集し、Listen
オプションにhttpd
の SELinux ポリシーで設定されていないポートの一覧が表示されるようにします。以下の例では、httpd
が 10.0.0.1 IP アドレスおよび TCP ポート 12345 でリッスンするように設定します。# Change this to Listen on specific IP addresses as shown below to # prevent Apache from glomming onto all bound IP addresses (0.0.0.0) # #Listen 12.34.56.78:80 Listen 10.0.0.1:12345
- root ユーザーになり、次のコマンドを実行して、SELinux ポリシー設定にポートを追加します。
~]# semanage port -a -t http_port_t -p tcp 12345
- ポートが追加されたことを確認します。
~]# semanage port -l | grep -w http_port_t http_port_t tcp 12345, 80, 443, 488, 8008, 8009, 8443
ポート 12345 で
httpd
を実行しなくなった場合は、root で semanage
ユーティリティーを使用し、ポリシー設定からポートを削除します。
~]# semanage port -d -t http_port_t -p tcp 12345