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
他のシステムがポート52010
(systemd
CentOS 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ポートでリッスンします。
systemd
Fedora 27バージョン234を実行している3台目のコンピュータがあります。ここでは、systemd
さすがいいえ任意のUDPポートを開きます。
ちなみに、私はLLMNR
内部と外部の両方を無効にしたので、それはできません。また、ポート 5355 が開きます。/etc/systemd/network/20-eth0.network
/etc/systemd/network/20-eth0.network
LLMNR
$ grep LLMNR /etc/systemd/resolved.conf
LLMNR=no
$ grep LLMNR /etc/systemd/network/20-eth0.network
LLMNR=no
答え1
質問の説明で述べたように、systemd-resolved
straceで実行されていて、watch[ing] netstat -tunlp
DNS名解決を最初に要求したときにのみポートが開いていることがわかりました。
Wiresharkを使用してトラフィックをキャプチャしtcpdump -i eth0 -nn -w capture_file
、このポートを記録しnetstat
、Wiresharkを使用して出力を確認しました。 Wiresharkのフィルタは簡単です(udp.port eq 37078
前述のダウンUDPポートを使用)。
systemd-resolved
開いているUDPポートがDNSサーバーとの通信に使用されるポートであることを確認できます。