1. TOP
  2. Webサービス
  3. Linux
  4. CentOS7でfirewalld(ファイアウォール)の設定。firewall-cmd –list-allでports(ポート番号)の指定をお忘れなく!

CentOS7でfirewalld(ファイアウォール)の設定。firewall-cmd –list-allでports(ポート番号)の指定をお忘れなく!

|

centos7

いま、CentOS7でサーバー構築をしていますが、firewalld(ファイアウォール)の設定でどハマりしました。firewalldの設定を有効にしたあと、クライアントからサーバーへの接続を切ってしまうと、二度と接続できなくなります。

CentOS7でfirewalldの設定

1.ファイアウォールの有効化と起動

firewalld1

systemctl status firewalld

CentOS7をインストールしたときのデフォルトの状態では、firewalldは動いていません(inactive dead)。

firewalld1.jpg

systemctl start firewalld.service
systemctl enable firewalld
systemctl status firewalld

firewalldをスタートさせると、動くようになります(active running)。enableでサービスの自動起動もお忘れなく!

2.firewalldの確認(設定前)

firewalld2

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の設定

firewalld4

firewalld5

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の確認(設定後)

firewalld6

# 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.でポート番号の設定を必ずやっておく必要があると思います。

〔参考サイト〕