DBサーバとWebサーバの間でMysqlの通信だけ行えるようにする。
これまでファイアーウォールの設定経験は皆無。
「何で俺が」と思ったが、できなければできないで済む気楽な立場なので、
思い切ってやってみた。
まずはWebで、分かりやすいページを捜索。
https://www.psi-net.co.jp/blog/?p=1136
実行したコマンド
サービス終了
$ sudo systemctl stop firewalld.service
サービスの起動
$ sudo systemctl start firewalld.service
サービスの状態確認
$ sudo firewall-cmd --state
実行するとrunning と表示された。
Mysql用のポートのみを通す
1) Mysqlのポート番号と接続元のIPアドレスを指定
sudo firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" port protocol="tcp" port="3306" accept'
2) IPアドレスのみ指定
sudo firewall-cmd --zone=public --permanent --add-rich-rule='rule family="ipv4" source address="xxx.xxx.xxx.xxx" service name="mysql" accept'
1 を実行して、2は試していない。最後にこちらを実行。
sudo firewall-cmd --reload
これで無事にWebサーバからデータを取得できるようになった。
案ずるより産むは易し。
終わりに
firewalld コマンドで良かった。
ファイアウォールの設定変更を依頼される前に
その方法をWebで調べてみたのだが、iptablesコマンドの難解さに呆然とさせられていた。
iptablesコマンドだったら、こう簡単にはいかなかったと思う。
【このカテゴリーの最新記事】
-
no image
-
no image
-
no image
-
no image