開発Tips Linuxポート開放

ポートの管理は様々なソフトがあるようだが、私の環境のfirewalldについて記載。
今後追記があり得るかも。

firewalld

zoneなどの考え方は、ちゃんと理解できていないので今の認識を簡単に下記に記載。
各インターフェイス(イーサネット1)とかに事前定義したポート開放定義(zone)を割り当てるみたいな考え方の模様。

–permanentオプションをつけ忘れると一時的な変更になってしまうので注意。

現在のポート開放を確認

firewall-cmd --list-all

開放ポートを追加

# ポート指定
firewall-cmd --add-port=80/tcp --zone=public --permanent

# サービス名指定
firewall-cmd --add-service=http --zone=public --permanent

開放ポートを閉じる

# ポート指定
firewall-cmd --remove-port=80/tcp --zone=public --permanent

# サービス名指定
firewall-cmd --remove-service=http --zone=public --permanent

firewalldに現在の設定を反映させる。

firewall-cmd --reload

注意:SELinuxについて

参考
https://qiita.com/t-uranus/items/b35016ef045d8caf8fab
https://qiita.com/miyuki_samitani/items/ea481bb274aed1022792

SELinuxが動作している場合だと、ここでもアクセス制御がかかるのでこちらの設定も更新しないと、開放したポートにアクセス出来ない模様。

$ getenforce
disabled

enforcing:有効
permissive:警告出力するが、アクセス制限は無効
disabled:無効

有効だった場合は、SELinuxの作業も必要。その場合は参考の方法を参照ください。
ちなみに、そもそも勉強用環境みたいなものだとSELinuxをオフにするのもありな模様。SELinuxは各ユーザの権限を制限する。侵入されてからの被害を抑えるためなので、侵入されなくするものではないらしい。

コメント

タイトルとURLをコピーしました