Comments (8)
@glazychev-art Hi! PTR requests seem to be handled correctly now. ping
doesn't freeze at all :)
However, I now need to explicitly use IPv4 in order for the ping to work...
/ # ping -c 4 alpine2.my-interdomain-vl3-network
ping: bad address 'alpine2.my-interdomain-vl3-network'
/ # ping -c 4 alpine2.my-interdomain-vl3-network -4
PING alpine2.my-interdomain-vl3-network (172.16.0.2): 56 data bytes
64 bytes from 172.16.0.2: seq=0 ttl=59 time=65.076 ms
64 bytes from 172.16.0.2: seq=1 ttl=59 time=2.696 ms
64 bytes from 172.16.0.2: seq=2 ttl=59 time=12.237 ms
64 bytes from 172.16.0.2: seq=3 ttl=59 time=60.345 ms
When the ping fails, this error appears in the NSE's logs:
Mar 26 21:04:34.885 [TRAC] [id:22041] [type:dnsServer] (1) ⎆ sdk/pkg/tools/dnsutils/dnsconfigs/dnsConfigsHandler.ServeDNS()
Mar 26 21:04:34.885 [TRAC] [id:22041] [type:dnsServer] (1.1) message-request={"Id":22041,"Response":false,"Opcode":0,"Authoritative":false,"Truncated":false,"RecursionDesired":false,"RecursionAvailable":false,"Zero":false,"AuthenticatedData":false,"CheckingDisabled":false,"Rcode":0,"Question":[{"Name":"alpine2.my-interdomain-vl3-network.","Qtype":28,"Qclass":1}],"Answer":null,"Ns":null,"Extra":null}
Mar 26 21:04:34.885 [DEBU] [id:22041] [type:dnsServer] (1.2) passed clientURLs: [{udp 172.16.0.1 false } {udp 172.16.0.1 false }]
Mar 26 21:04:34.885 [DEBU] [id:22041] [type:dnsServer] (1.3) passed SearchDomains: []
Mar 26 21:04:34.885 [TRAC] [id:22041] [type:dnsServer] (2) ⎆ sdk/pkg/tools/dnsutils/noloop/noloopDNSHandler.ServeDNS()
Mar 26 21:04:34.886 [TRAC] [id:22041] [type:dnsServer] (3) ⎆ sdk/pkg/tools/dnsutils/norecursion/norecursionDNSHandler.ServeDNS()
Mar 26 21:04:34.886 [TRAC] [id:22041] [type:dnsServer] (1) ⎆ sdk/pkg/tools/dnsutils/dnsconfigs/dnsConfigsHandler.ServeDNS()
Mar 26 21:04:34.887 [TRAC] [id:22041] [type:dnsServer] (4) ⎆ sdk/pkg/tools/dnsutils/memory/memoryHandler.ServeDNS()
Mar 26 21:04:34.887 [TRAC] [id:22041] [type:dnsServer] (1.1) message-request={"Id":22041,"Response":false,"Opcode":0,"Authoritative":false,"Truncated":false,"RecursionDesired":false,"RecursionAvailable":false,"Zero":false,"AuthenticatedData":false,"CheckingDisabled":false,"Rcode":0,"Question":[{"Name":"alpine2.my-interdomain-vl3-network.","Qtype":28,"Qclass":1}],"Answer":null,"Ns":null,"Extra":null}
Mar 26 21:04:34.887 [DEBU] [id:22041] [type:dnsServer] (1.2) passed clientURLs: [{udp 172.16.0.1 false } {udp 172.16.0.1 false }]
Mar 26 21:04:34.887 [DEBU] [id:22041] [type:dnsServer] (1.3) passed SearchDomains: []
Mar 26 21:04:34.887 [TRAC] [id:22041] [type:dnsServer] (2) ⎆ sdk/pkg/tools/dnsutils/noloop/noloopDNSHandler.ServeDNS()
Mar 26 21:04:34.887 [ERRO] [id:22041] [noloopDNSHandler:ServeDNS] [type:dnsServer] (2.1) loop is not allowed: query: ;; opcode: QUERY, status: NOERROR, id: 22041; ;; flags:; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0; ; ;; QUESTION SECTION:; ;alpine2.my-interdomain-vl3-network. IN AAAA; ;
Mar 26 21:04:34.887 [TRAC] [id:22041] [type:dnsServer] (2.2) message-response={"Id":22041,"Response":true,"Opcode":0,"Authoritative":false,"Truncated":false,"RecursionDesired":false,"RecursionAvailable":false,"Zero":false,"AuthenticatedData":false,"CheckingDisabled":false,"Rcode":2,"Question":[{"Name":"alpine2.my-interdomain-vl3-network.","Qtype":28,"Qclass":1}],"Answer":[],"Ns":[],"Extra":[]}
Mar 26 21:04:34.888 [TRAC] [id:22041] [type:dnsServer] (5) ⎆ sdk/pkg/tools/dnsutils/fanout/fanoutHandler.ServeDNS()
Mar 26 21:04:34.915 [TRAC] [id:22041] [type:dnsServer] (5.1) message-response={"Id":22041,"Response":true,"Opcode":0,"Authoritative":false,"Truncated":false,"RecursionDesired":false,"RecursionAvailable":false,"Zero":false,"AuthenticatedData":false,"CheckingDisabled":false,"Rcode":2,"Question":[{"Name":"alpine2.my-interdomain-vl3-network.","Qtype":28,"Qclass":1}],"Answer":[],"Ns":[],"Extra":[]}
It seems the AAAA
request fails in a way that makes ping
fail before it even attempts to make a A
request. I don't remember seeing that before. Is it be caused by a change in NSM or somewhere else?
from sdk.
@glazychev-art Could you please add a test into deployments-k8s?
from sdk.
@fr-Pursuit
Could you check PTR requests on the latest main branch if you get a chance?
from sdk.
@fr-Pursuit
No, there were no changes in NSM in this direction. And this behavior was before, you can check versions v1.8.0 or v1.7.1 :)
ping
utility is the reason for this. Depending on the system settings, it prefers IPv6 over IPv4.
As far as I can see, in some linux versions this is solved by changing /etc/gai.conf
. But not for alpine. Perhaps this will help you.
from sdk.
@glazychev-art I feel we might need to verify it.
@NikitaSkrynnik Could you please compare behaviour with NSM v1.5.0 (with coredns) and current main version?
from sdk.
@fr-Pursuit Hello, I've fixed the problem with ping
and explicit IPv4
. Could you please check it?
from sdk.
@NikitaSkrynnik Hi! Sorry for the late reply.
It's all fixed, thanks!
/ # ping -c 4 alpine2.my-interdomain-vl3-network
PING alpine2.my-interdomain-vl3-network (172.16.1.2): 56 data bytes
64 bytes from 172.16.1.2: seq=0 ttl=56 time=1.426 ms
64 bytes from 172.16.1.2: seq=1 ttl=56 time=1.503 ms
64 bytes from 172.16.1.2: seq=2 ttl=56 time=1.652 ms
64 bytes from 172.16.1.2: seq=3 ttl=56 time=4.073 ms
--- alpine2.my-interdomain-vl3-network ping statistics ---
4 packets transmitted, 4 packets received, 0% packet loss
round-trip min/avg/max = 1.426/2.163/4.073 ms
from sdk.
@fr-Pursuit
Thanks for checking!
Can you close the issue?
from sdk.
Related Issues (20)
- Fix CI issues caused by moving to Go generics HOT 1
- vL3 DNS is slow when using the DNS search path HOT 2
- remote-vlan-nse fix; Singlepoint IPAM should not allocate broadcast address
- NSC to close a connection with no longer existing NSE HOT 14
- Improve readability of an error's stacktrace in logs
- Make sure that NSM candidate selection is working as fast as possible HOT 2
- Improve troubleshooting with jaeger HOT 1
- Memory DNS Handler handles requests incorrectly if it doesn't have the required DNS record. HOT 1
- TestInterdomainFloatingNetworkServiceEndpointRegistry is unstable
- Proper resource cleanup for expired connections HOT 6
- Reporting a vulnerability HOT 1
- Forwarder death corner case
- Simplify healing - determinate reselect state for whole chain HOT 3
- Make the use of grpc options consistent across all cmds HOT 1
- Healing after failed refresh HOT 2
- DiscoverForwarder tests are unstable
- Postpone context doesn't use parent context
- Use counters instead of histogram for datapath metrics HOT 2
- NSM connections are closed after MaxTokenLifetime is reached HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from sdk.