CentOSサーバー間のプライベート接続をデバッグしようとしています。
サーバー1(Web)からサーバー2(MySQL)にMySQLに接続しようとしています。
両方のデバイスでネットワークデバイスを設定しましたfirewalld
。デバイスをゾーンens10
に追加しました。trusted
サーバー2では、mysql
サーバーをサービスとして追加しました。firewalld
サーバー1でポートを開きました。3306
server1のコマンド
$ firewall-cmd --zone=trusted --change-interface=ens10 --permanent
$ firewall-cmd --zone=trusted --permanent --add-port=3306/tcp
$ firewall-cmd --reload
server2のコマンド
$ firewall-cmd --zone=trusted --change-interface=ens10 --permanent
$ firewall-cmd --zone=trusted --add-service=mysql --permanent
$ firewall-cmd --reload
デバッグ
サーバー2
$ sudo netstat -tulpn | grep LISTEN
tcp 0 0 10.0.0.4:3306 0.0.0.0:* LISTEN 920/mysqld
tcp6 0 0 :::33060 :::* LISTEN 920/mysqld
今奇妙なものが(少なくとも私にとって)
サーバー1のコマンド
$ telnet 10.0.0.4
Trying 10.0.0.4...
telnet: connect to address 10.0.0.4: No route to host # same goes for 3306 port
$ ping -c2 10.0.0.4
PING 10.0.0.4 (10.0.0.4) 56(84) bytes of data.
64 bytes from 10.0.0.4: icmp_seq=1 ttl=63 time=0.788 ms
64 bytes from 10.0.0.4: icmp_seq=2 ttl=63 time=0.589 ms
--- 10.0.0.4 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 22ms
rtt min/avg/max/mdev = 0.589/0.688/0.788/0.102 ms
何が起こったと思いますか?どんなアイデアがありますか?
ベストアンサー1
さまざまなものをテストしているので、さまざまな結果が得られます。
ICMPを使用したPing
pingは、ICMPプロトコルの強制ECHO_REQUESTデータグラムを使用して、ホストまたはゲートウェイでICMP ECHO_RESPONSEを発生させます。 ECHO_REQUEST データグラム (ping) には IP ヘッダーと ICMP ヘッダーがあり、その後に構造体 timeval が続き、パケットのパディングに使用されるパディングバイト数があります。
一方、TelnetはTELNETプロトコル(通常はポート23 / tcp)を使用します(man telnet)。
telnet コマンドは、TELNET プロトコルを使用して他のホストと通信するために使用されます。
@pankiが書いたように、MySQLサーバーを実行しているサーバーでポート3306を開く必要があります。
telnet 3306
次に、サーバー1でテストします。