他のトラフィックをブロックせずに、IP アドレスがサーバー上の特定のポートにアクセスできるようにする方法

他のトラフィックをブロックせずに、IP アドレスがサーバー上の特定のポートにアクセスできるようにする方法

まず、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 にリモートでアクセスします。

  1. リモートマシンで実行ssh -L 3306:localhost:3306 [email protected]
  2. リモート マシンでは、localhostMySQL サーバーとして使用します。

SSH 接続を常にオンにしておく必要がある場合は、autosshSSH 接続を開いたままにして、ある時点で切断された場合に自動的に再接続するツールを使用できます。

関連情報