プライベート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)