systemd-resolved does not listen on TCP port, cannot serve large records (Cannot ping pod51041.outlook.com but can dig.)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
systemd |
Fix Released
|
Unknown
|
|||
systemd (Ubuntu) |
Fix Released
|
High
|
Dimitri John Ledkov | ||
Artful |
Won't Fix
|
High
|
Dimitri John Ledkov | ||
Bionic |
Fix Released
|
High
|
Dimitri John Ledkov |
Bug Description
[Impact]
* Ubuntu hosts unable to perform queries against certain domains that respond with too big responses that do not fit over UDP protocol.
* Solution is to enable local cachine DNS server to listen on both UDP and TCP by default
[Test Case]
* nslookup -q=aaaa pod51041.
Should work and return a bunch of ipv6 answers.
Note, this expects that the upstream DNS server used by resolved is "a sensitble" one, e.g. my default ISP/router did not work, whilst forcing 8.8.8.8 via network manager for this connection made it work.
[Regression Potential]
* Given that resolved will now bind to a TCP port 53, this may result in a conflict with deployed DNS servers which do not correctly take over port 53 or bind to everything.
* In those cases the software should be fixed to not bind to all interfaces and/or to not bind on 127.0.0.53, or change resolved to have DNSStubListener set to 'udp'.
[Other Info]
* Original bug report
===
Trying to resolve pod51041.
$ ping pod51041.
ping: pod51041.
(Also can't access via thunderbird).
However, it seems to work directly via systemd-resolve:
$ systemd-resolve pod51041.
pod51041.
-- Information acquired via protocol DNS in 2.5ms.
-- Data is authenticated: no
It also works with dig and nslookup.
Not quite sure why this is the case, I've spotted this issue upstream that looks similar: https:/
ProblemType: Bug
DistroRelease: Ubuntu 17.10
Package: systemd 234-2ubuntu12
ProcVersionSign
Uname: Linux 4.13.0-16-generic x86_64
NonfreeKernelMo
ApportVersion: 2.20.7-0ubuntu3
Architecture: amd64
CurrentDesktop: MATE
Date: Fri Nov 10 13:10:02 2017
InstallationDate: Installed on 2017-11-10 (0 days ago)
InstallationMedia: Ubuntu-MATE 17.10 "Artful Aardvark" - Release amd64 (20171018)
MachineType: LENOVO 2324BB9
ProcKernelCmdLine: BOOT_IMAGE=
SourcePackage: systemd
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 03/03/2016
dmi.bios.vendor: LENOVO
dmi.bios.version: G2ETA6WW (2.66 )
dmi.board.
dmi.board.name: 2324BB9
dmi.board.vendor: LENOVO
dmi.board.version: Not Defined
dmi.chassis.
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.
dmi.modalias: dmi:bvnLENOVO:
dmi.product.family: ThinkPad X230
dmi.product.name: 2324BB9
dmi.product.
dmi.sys.vendor: LENOVO
summary: |
- Cannot ping pod51041.outlook.com but can dig. + systemd-resolved fails to fall back to TCP for large records (Cannot + ping pod51041.outlook.com but can dig.) |
Changed in systemd: | |
status: | Unknown → Fix Released |
Changed in systemd (Ubuntu Artful): | |
assignee: | nobody → Dimitri John Ledkov (xnox) |
milestone: | none → artful-updates |
status: | New → Triaged |
importance: | Undecided → High |
description: | updated |
description: | updated |
Changed in systemd (Ubuntu Bionic): | |
status: | Triaged → Fix Committed |
The bug report here is likely inaccurate. I don't exactly know where the problem is.
I did some tcpdumps for port 53 traffic. I see that if I did a ping, it requests for the A records of the domain name and indeed the IP addresses are getting returned. However, weirdly, ping then requests for the A records of pod51041. outlook. com.lan. .lan is the search domain on my network as specified with /etc/resolv.conf automatically.
Furthermore, if I disable ipv6, thunderbird and firefox can access the domain, but ping still cannot.
So I don't think this bug report should be filed against systemd, but I don't really know where the problem lies.