いま、CentOS7でサーバー構築をしていますが、firewalld(ファイアウォール)の設定でどハマりしました。firewalldの設定を有効にしたあと、クライアントからサーバーへの接続を切ってしまうと、二度と接続できなくなります。
目次
CentOS7でfirewalldの設定
1.ファイアウォールの有効化と起動
systemctl status firewalld
CentOS7をインストールしたときのデフォルトの状態では、firewalldは動いていません(inactive dead)。
systemctl start firewalld.service systemctl enable firewalld systemctl status firewalld
firewalldをスタートさせると、動くようになります(active running)。enableでサービスの自動起動もお忘れなく!
2.firewalldの確認(設定前)
firewall-cmd --list-all # firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client ssh ports: masquerade: no forward-ports: icmp-blocks: rich rules:
デフォルト状態のfirewalldです。
3.firewalldの設定
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --permanent --add-port=******/tcp systemctl restart firewalld
HTTP、HTTPSおよびSSHでの外部アクセスを許可する設定です。******のところは SSH接続をするときに使う、任意のポート番号を入力してください。最後にfirewalldを再起動させます。
4.firewalldの確認(設定後)
# firewall-cmd --list-all public (default, active) interfaces: eth0 sources: services: dhcpv6-client http https ssh ports: ******/tcp masquerade: no forward-ports: icmp-blocks: rich rules:
servicesに、”http”と”https”が、portsに”******/tcp”が追加されています。
どハマりしたのはportsの設定
今回、自分がどハマりしたのは、portsの設定です。このポート設定を忘れて、うっかりターミナルの接続を切ってしまうと、二度とサーバーにSSH接続できなくなります(なにかうまい方法があるかもしれませんが…)。
なので、firewalldを有効化して起動したあとは、3.でポート番号の設定を必ずやっておく必要があると思います。
〔参考サイト〕