CentOS 7のsystemdバージョン219は、ランダムなUDPポートをリッスンします。

CentOS 7のsystemdバージョン219は、ランダムなUDPポートをリッスンします。

systemd-resolvedバージョン219からsystemd始まるランダムなUDPポートをリッスンするのはなぜですか?

私のコンピュータの1つはポート58557(CentOS 7、systemdバージョン219)をリッスンします。

sudo netstat -tunlp|grep -P '^Active|^Proto|systemd'
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program name
udp        0      0 0.0.0.0:58557  0.0.0.0:*               372/systemd-resolve

他のシステムがポート52010systemdCentOS 7、バージョン219)をリッスンします。

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State  PID/Program name
udp      768      0 0.0.0.0:52010  0.0.0.0:*               398/systemd-resolve

マシンを再起動すると、systemd-resolved他のUDPポートでリッスンします。

systemdFedora 27バージョン234を実行している3台目のコンピュータがあります。ここでは、systemdさすがいいえ任意のUDPポートを開きます。

ちなみに、私はLLMNR内部と外部の両方を無効にしたので、それはできません。また、ポート 5355 が開きます。/etc/systemd/network/20-eth0.network/etc/systemd/network/20-eth0.networkLLMNR

$ grep LLMNR /etc/systemd/resolved.conf
LLMNR=no
$ grep LLMNR /etc/systemd/network/20-eth0.network
LLMNR=no

答え1

質問の説明で述べたように、systemd-resolvedstraceで実行されていて、watch[ing] netstat -tunlpDNS名解決を最初に要求したときにのみポートが開いていることがわかりました。

Wiresharkを使用してトラフィックをキャプチャしtcpdump -i eth0 -nn -w capture_file、このポートを記録しnetstat、Wiresharkを使用して出力を確認しました。 Wiresharkのフィル​​タは簡単です(udp.port eq 37078前述のダウンUDPポートを使用)。

systemd-resolved開いているUDPポートがDNSサーバーとの通信に使用されるポートであることを確認できます。

関連情報