
接続ポート番号変更したとき・HTTPSを設定したとき
ポート番号を変更したとき、HTTPSの設定をしたときは必ずファイアウォールに接続許可の追加をしなくてはならない。
そうしないと、SSH通信での接続、HTTPSでのアクセスがファイアウォールによってできないため。
「編集前」firewalldの確認
firewalldの起動していることを確認する
Active: active (running)…であることを確認する。
$ systemctl status firewalld.service
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)…
.
.
.
etc…
firewalldのリストを確認する
services:にsshがあることを確認する。
ports:に22/tcpがあることを確認する。
$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client
ports: 22/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
ファイルとポートの追加
ポート番号を変更するで変更したポート番号を追加する。
ssh.xmlファイルをコピーする
ssh.xmlファイルをコピーしファイル名をssh1234.xmlに変更する。
$ sudo cp /usr/lib/firewalld/services/ssh.xml /usr/lib/firewalld/services/ssh1234.xml
ssh1234.xmlファイル内のポート番号を変更する
$ sudo vim /usr/lib/firewalld/services/ssh1234.xml
「i」キーで-INSERT-モードになり編集する。
port=”22″ → port=”1234″に変更する。
<?xml version=”1.0″ encoding=”utf-8″?>
<service>
<short>SSH</short>
<description>Secure Shell (SSH) is a protocol for logging into and executing commands on remote machines. It provides secure encrypted communications. If you plan on accessing your machine remotely via SSH over a firewalled interface, enable this option. You need the openssh-server package installed for this option to be useful.</description>
<port protocol=”tcp” port=”1234″/>
</service>
「Esc」キーで-INSERT-モードを終了し「:wq」で保存し終了する。
firewalldの編集
firewalldからsshを削除する
$ sudo firewall-cmd --permanent --remove-service=ssh
success
successとなったら成功!
firewalldにssh1234.xmlを追加する
$ sudo firewall-cmd --permanent --add-service=ssh1234
success
successとなったら成功!
22/tcpポートを削除する
$ sudo firewall-cmd --permanent --remove-port=22/tcp --zone=public
success
successとなったら成功!
firewalldを再起動する
$ sudo firewall-cmd --reload
success
successとなったら成功!
「編集後」firewalldの確認
firewalldの起動していることを確認する
Active: active (running)…であることを確認する。
$ systemctl status firewalld.service
● firewalld.service – firewalld – dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
Active: active (running)…
.
.
.
etc…
firewalldのリストを確認する
services:のsshの削除、ssh1234の追加を確認する。
ports:の22/tcpの削除、1234/tcpの追加を確認する。
$ sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: dhcpv6-client ssh1234
ports: 1234/tcp
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
指定して追加して再起動
もし、1234/tcpが追加されていないときは指定して追加し再起動する。
$ sudo firewall-cmd --add-port=1234/tcp --zone=public --permanent
success
$ sudo firewall-cmd --reload
success
参照元情報