Linuxでパブリックポート(3306)へのアクセスをブロックし、ローカルネットワークの他のノードからのアクセスを許可する方法は?

Linuxでパブリックポート(3306)へのアクセスをブロックし、ローカルネットワークの他のノードからのアクセスを許可する方法は?

プライベートIP:10.64.30.117を使用してポート3306で実行されているMySQLサーバーがあります。また、プライベートIPが10.17.23.1の別のノードで実行されるWebアプリケーションもあります。

私のWebアプリケーションがMySQLサーバーにアクセスできるようにしたいのですが、MySQLを公に使用したくありません。 (両方のノードにパブリックIPもあります。)

UFWを試してみましたが、すべてがブロックされているようです。ufw statusコマンドは以下を示します。

To                         Action      From
--                         ------      ----
3306                       DENY        Anywhere                  
3306                       ALLOW       10.0.0.0/8                
3306                       ALLOW       10.0.0.0/24               
3306 (v6)                  DENY        Anywhere (v6)  

全体ifconfigの外観は次のとおりです。

$ ifconfig
ens2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.64.30.117  netmask 255.255.255.254  broadcast 10.64.30.117
        inet6 2001:xxxx:xxxx:xxx::1  prefixlen 127  scopeid 0x0<global>
        inet6 fe80::dc1c:3cff:fe32:203b  prefixlen 64  scopeid 0x20<link>
        ether de:1c:3c:32:20:3b  txqueuelen 1000  (Ethernet)
        RX packets 363358  bytes 1082623290 (1.0 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 310592  bytes 37970748 (37.9 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2844  bytes 779466 (779.4 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2844  bytes 779466 (779.4 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

メモ:これらのプライベートIPは変更される可能性があるため、ハードコードできません。

UFWやiptablesでこれを設定する他の方法はありますか?

ベストアンサー1

どのディストリビューションを使用しているかは明らかではありませんが、すべてのルールがこのファイルに保存されていると思います。

$ sudo cat /etc/ufw/user.rules

リスト内のALLOWルールを持つプライベートCIDRが最初で、DENYルールが最後になるように、このファイルの内容を並べ替えることができる必要があります。コンテンツが正常に並べ替えられた場合、sudo ufw statusコマンドは次のようにルールを表示します。

3306                       ALLOW       10.0.0.0/8                
3306                       ALLOW       10.0.0.0/24               
3306                       DENY        Anywhere                  
3306 (v6)                  DENY        Anywhere (v6)  

引用する

おすすめ記事