
まず、Firewalld を使用しており、設定は次のとおりです。
- すべてのトラフィックが許可されます (特別なことは何もありません)。
- サーバーにはMySQLとApache2(Linux Debian)が搭載されています
http 接続を遮断せずに、特定の IP アドレス (自分の IP) への MySQL リモート接続を許可する必要があります。MySQL 構成ファイルでは 1 つの IP しか許可されないため、そこに自分の IP を直接追加することはできません。そうすると、Apache2 が http 経由で接続できなくなります。そのため、ファイアウォール ソリューションを探しています。
また、firewalld (firewall-cmd) を使用して特定のゾーンを作成しようとしましたが、ソース IP があったためゾーンはすべての http トラフィックをブロックしてしまい、ここで終了しました。
どのような助けでも大歓迎です。
答え1
MySQL ポートを外部に開くことはセキュリティ上のリスクとなるため、避けることをお勧めします。
MySQL をリッスンしたままにしてlocalhost
、代わりに SSH ポート転送を使用して MySQL にリモートでアクセスします。
- リモートマシンで実行
ssh -L 3306:localhost:3306 [email protected]
- リモート マシンでは、
localhost
MySQL サーバーとして使用します。
SSH 接続を常にオンにしておく必要がある場合は、autossh
SSH 接続を開いたままにして、ある時点で切断された場合に自動的に再接続するツールを使用できます。