アフィリエイト広告を利用しています

2019年04月28日

firewalldでmysqlの通信を許可

Linuxサーバのファイアーウォールの設定を行うことになった。

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コマンドだったら、こう簡単にはいかなかったと思う。





posted by db-engineer at 00:00 | Comment(0) | Linux

この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

検索
最新記事
カテゴリーアーカイブ
プロフィール
db-engineerさんの画像
db-engineer
プロフィール
タグクラウド