ネットワーク基礎4 択難易度 標準

状況

サーバー(10.0.1.20)の待ち受けを ss -lnt で確かめた。同じネットワークの別のサーバーから、このサーバーの各サービスに接続したい。ファイアウォールは無いものとする。

別のサーバーから接続できないのはどれ?

State   Local Address:Port   Peer Address:PortLISTEN        0.0.0.0:80          0.0.0.0:*LISTEN      127.0.0.1:5432        0.0.0.0:*LISTEN        0.0.0.0:22          0.0.0.0:*

正答

  1. 80 番(Web サーバー)
  2. 5432 番(PostgreSQL)
  3. 22 番(SSH サーバー)
  4. どれも接続できる(同じネットワーク内だから)

解説

Local Address は、そのサービスがどのアドレスで待ち受けているかを示す。0.0.0.0 はサーバーが持つすべての IPv4 アドレスで受ける意味で、80 番と 22 番には 10.0.1.20 宛ての接続が届く。5432 番は 127.0.0.1(ループバック)だけで待ち受けているので、サーバーの外から 10.0.1.20:5432 に接続しても受け手がいない。PostgreSQL は既定で localhost だけを待ち受けるため、他のサーバーから使うなら listen_addresses を変える必要がある(認証の pg_hba.conf も別に要る)。同じネットワーク内でも、待ち受けのアドレスが合わなければ届かない(4 番目は誤り)。ファイアウォールを開けても解決しないのが、この問題の落とし穴。

参考: www.postgresql.org

listenssbind-addresspostgresql

この問題を含む ネットワーク基礎 のテストを制限時間つきで解く

ネットワーク基礎クイズへ