Hi Robie, Thanks for your reply. I'll do my best to be as clear as possible First, I must say that I found how to resolve the problem in this thread: http://ubuntuforums.org/showthread.php?t=1940190 That way, you'll have a better on where to search. Before answering your request, remember that I also have 2 windows 2012R2 servers on the same environment (HyperV, ipv4/v6 subnet, vlan) and they do not need to have rx/tx checksum disabled to query/answer each other or Ubuntu servers. SO problems appear to be un ubuntu network drivers. So, your request: Setup: I have an HyperV failover cluster made of 5 2012R2 servers. On each server (Dell with Broadcom cards), 2 network cards are teamed using 2012-R2 functionality for LAN access. Virtual machines: 5 Ubuntu 16.06 servers. Some upgraded from 13.X setup, some completely new. Each has dual stack ipv4/v6. Among them, 3 are nameservers running latest bin. From previous reply, I added 2 new machines from scratch: Ubuntu 15.10 and 16.04. I also have 3 virtual windows servers 2012R2 on this subnet (2 are domain controllers so also name servers). All Ubuntu are at the latest version, no more updates proposed/ Here is lshw setup for network *-network description: Ethernet interface physical id: 1 logical name: eth0 serial: 00:15:fd:fd:fd:10 capabilities: ethernet physical configuration: broadcast=yes driver=hv_netvsc firmware=N/A ip=xxx.xx.128.235 link=yes multicast=yes state (intend: with rx/tx enabled on ubuntu machines): - Any server can dig with any bind server on ipv4 udp - Any server can dig with any bind server on ipv4 tcp - NO server can dig with any bind server on ipv6 udp (No server: understand bind or not bind ones) - Any server can dig with any bind server on ipv6 tcp - each bind server can query himself on ipv6 udp using ::1 or its real ipv6 address Tests : - changing any HyperV network card setup does change nothing (there are network protection, router or DHCP protection). I revert to basic setup - live migrating the VMs I'm using to a single HyperV server to get rid of any network use was useless - Disabling rt/tx on HyperV Teamed NIC driver was useless - Disabling rt/tx on HyperV real network card broadcom driver was useless - Disabling rt/tx on my virtual Windows servers was useless : they can query/get queried without problem with leads me to think it's really an Ubuntu problem with hv_netvsc driver. - Disabling "light network protection" in HyperV on the virtual switch is useless) - No physical machine was on this network Resolution: - install ethtool (one machine needed it) - run :$ ethtool --offload eth0 rx off tx off Now, I'll do what you ask: - create 2 VMs (Generation 1) with basically default options. On the same HV server. I didn't add the VM to the failover cluster to prevent migration. One named UbuntuServer, the other Ubuntu Client - install ubuntu 16.04 server (I default to english/unitedstates (i'm french on others)). No DHCP, network manually configured in IPV6 directly. Server ends with ::2000, client ends with ::1000. On the nameserver question, I've added the server ::2000 ipv6 on both. Of course, no updates. Simply selected "Standard system utilities" and "OpenSSH Server" in the list on software and of course "DNS server" on the server ::2000 - listen some good music - Damn... mount the cdrom and install the missing - connect your workstation to this network (I did on my mac). Check ping and ssh on the machines. ==> all OK ---------------------------------------- - Start listening with tcpdump and already notice some 'bad udp cksum' On the server : root@Server:/# tcpdump host 2001:660:660c:120::1000 -v tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 03:27:36.808391 IP6 (flowlabel 0x3c343, hlim 64, next-header UDP (17) payload length: 40) 2001:660:660c:120::1000.50596 > Server.TestUbuntu.domain: [bad udp cksum 0x3809 -> 0x541a!] 1217+ AAAA? ntp.ubuntu.com. (32) 03:27:41.812431 IP6 (flowlabel 0x3c343, hlim 64, next-header UDP (17) payload length: 40) 2001:660:660c:120::1000.50596 > Server.TestUbuntu.domain: [bad udp cksum 0x3809 -> 0x541a!] 1217+ AAAA? ntp.ubuntu.com. (32) On the client: root@Client:/# tcpdump -v host 2001:660:660c:120::2000 tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 03:27:36.789368 IP6 (flowlabel 0x3c343, hlim 64, next-header UDP (17) payload length: 40) Client.TestUbuntu.50596 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b54 -> 0x541a!] 1217+ AAAA? ntp.ubuntu.com. (32) 03:27:41.793449 IP6 (flowlabel 0x3c343, hlim 64, next-header UDP (17) payload length: 40) Client.TestUbuntu.50596 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b54 -> 0x541a!] 1217+ AAAA? ntp.ubuntu.com. (32) ---------------------------------------- On each machine , edit /etc/systemd/timesyncd.conf to avoid ntp resolution noise [Time] NTP=2001:660:660c:120::4000 run: root@Server:/etc# service systemd-timesyncd restart ---------------------------------------- On the server create a quick zone : /etc/bind/named.conf.local zone "testubuntu" { type master; file "/etc/bind/zones/testubuntu.hosts"; notify yes; }; /etc/bind/named.conf.options options { directory "/var/cache/bind"; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; allow-query { 2001:660:660c:120::1000; }; allow-query-cache { 2001:660:660c:120::1000; }; }; /etc/bind/zones/testubuntu.hosts $ORIGIN . $TTL 2D ; 2 days testubuntu IN SOA server.testubuntu. ssi.testubuntu. ( 1 6H 1H 4W 2H ) IN NS server.testubuntu. $ORIGIN testubuntu. server IN AAAA 2001:660:660c:120::2000 client IN AAAA 2001:660:660c:120::1000 ---------------------------------------- - make the client query via udp: root@Client:/# dig @2001:660:660c:120::2000 testubuntu NS ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @2001:660:660c:120::2000 testubuntu NS ; (1 server found) ;; global options: +cmd ;; connection timed out; no servers could be reached Server trace: 04:03:42.283370 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2001:660:660c:120::1000 > ff02::1:ff00:4000: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:660:660c:120::4000 source link-address option (1), length 8 (1): 00:15:5d:01:ee:02 04:03:43.280180 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2001:660:660c:120::1000 > ff02::1:ff00:4000: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:660:660c:120::4000 source link-address option (1), length 8 (1): 00:15:5d:01:ee:02 04:03:44.280427 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) 2001:660:660c:120::1000 > ff02::1:ff00:4000: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:660:660c:120::4000 source link-address option (1), length 8 (1): 00:15:5d:01:ee:02 04:03:51.264436 IP6 (flowlabel 0xc77c9, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.59606 > Server.TestUbuntu.domain: [bad udp cksum 0xfc86 -> 0x1898!] 24149+ [1au] NS? testubuntu. (39) 04:03:51.264688 IP6 (flowlabel 0xce188, hlim 64, next-header UDP (17) payload length: 98) 2001:660:660c:120::1000.33099 > Server.TestUbuntu.domain: [bad udp cksum 0x7031 -> 0x8c42!] 13178+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:03:56.264522 IP6 (flowlabel 0xc77c9, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.59606 > Server.TestUbuntu.domain: [bad udp cksum 0xfc86 -> 0x1898!] 24149+ [1au] NS? testubuntu. (39) 04:03:56.268333 IP6 (flowlabel 0xce188, hlim 64, next-header UDP (17) payload length: 98) 2001:660:660c:120::1000.33099 > Server.TestUbuntu.domain: [bad udp cksum 0x7031 -> 0x8c42!] 13178+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) Client trace: tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes 04:03:51.245445 IP6 (flowlabel 0xc77c9, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.59606 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b5b -> 0x1898!] 24149+ [1au] NS? testubuntu. (39) 04:03:51.245901 IP6 (flowlabel 0xce188, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.33099 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b8e -> 0x8c42!] 13178+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:03:56.245525 IP6 (flowlabel 0xc77c9, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.59606 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b5b -> 0x1898!] 24149+ [1au] NS? testubuntu. (39) 04:03:56.249438 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 32) fe80::215:5dff:fe01:ee02 > 2001:660:660c:120::2000: [icmp6 sum ok] ICMP6, neighbor solicitation, length 32, who has 2001:660:660c:120::2000 source link-address option (1), length 8 (1): 00:15:5d:01:ee:02 04:03:56.249477 IP6 (flowlabel 0xce188, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.33099 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b8e -> 0x8c42!] 13178+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:03:56.249940 IP6 (hlim 255, next-header ICMPv6 (58) payload length: 24) 2001:660:660c:120::2000 > fe80::215:5dff:fe01:ee02: [icmp6 sum ok] ICMP6, neighbor advertisement, length 24, tgt is 2001:660:660c:120::2000, Flags [solicited] 04:04:01.245865 IP6 (flowlabel 0xc77c9, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.59606 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b5b -> 0x1898!] 24149+ [1au] NS? testubuntu. (39) 04:04:01.254970 IP6 (flowlabel 0x8b2d3, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.43941 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b8e -> 0x35c1!] 24060+ PTR? 2.0.e.e.1.0.e.f.f.f.d.5.5.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. (90) 04:04:06.257593 IP6 (flowlabel 0x8b2d3, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.43941 > 2001:660:660c:120::2000.domain: [bad udp cksum 0x4b8e -> 0x35c1!] 24060+ PTR? 2.0.e.e.1.0.e.f.f.f.d.5.5.1.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.e.f.ip6.arpa. (90) ---------------------------------------- - make the client query via tcp: root@Client:/# dig +tcp @2001:660:660c:120::2000 testubuntu NS ; <<>> DiG 9.10.3-P4-Ubuntu <<>> +tcp @2001:660:660c:120::2000 testubuntu NS ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10506 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testubuntu. IN NS ;; ANSWER SECTION: testubuntu. 172800 IN NS server.testubuntu. [Blah blah] Server trace : 04:04:54.835666 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 40) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [S], cksum 0xa779 (correct), seq 1766866665, win 28800, options [mss 1440,sackOK,TS val 689505 ecr 0,nop,wscale 7], length 0 04:04:54.835730 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 40) Server.TestUbuntu.domain > 2001:660:660c:120::1000.46885: Flags [S.], cksum 0x4b49 (incorrect -> 0x4f1d), seq 1936983398, ack 1766866666, win 28560, options [mss 1440,sackOK,TS val 581720 ecr 689505,nop,wscale 7], length 0 04:04:54.836310 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [.], cksum 0xec83 (correct), ack 1, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.836493 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 73) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [P.], cksum 0x6ea5 (correct), seq 1:42, ack 1, win 225, options [nop,nop,TS val 689506 ecr 581720], length 4110506+ [1au] NS? testubuntu. (39) 04:04:54.836511 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 32) Server.TestUbuntu.domain > 2001:660:660c:120::1000.46885: Flags [.], cksum 0x4b41 (incorrect -> 0xec5b), ack 42, win 224, options [nop,nop,TS val 581720 ecr 689506], length 0 04:04:54.836737 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 122) Server.TestUbuntu.domain > 2001:660:660c:120::1000.46885: Flags [P.], cksum 0x4b9b (incorrect -> 0x5868), seq 1:91, ack 42, win 224, options [nop,nop,TS val 581720 ecr 689506], length 9010506* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:04:54.837127 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [.], cksum 0xec00 (correct), ack 91, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.838394 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [F.], cksum 0xebff (correct), seq 42, ack 91, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.838505 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 32) Server.TestUbuntu.domain > 2001:660:660c:120::1000.46885: Flags [F.], cksum 0x4b41 (incorrect -> 0xebff), seq 91, ack 43, win 224, options [nop,nop,TS val 581720 ecr 689506], length 0 04:04:54.838764 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::1000.46885 > Server.TestUbuntu.domain: Flags [.], cksum 0xebfe (correct), ack 92, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 Client Trace : 04:04:54.816630 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 40) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [S], cksum 0x4b49 (incorrect -> 0xa779), seq 1766866665, win 28800, options [mss 1440,sackOK,TS val 689505 ecr 0,nop,wscale 7], length 0 04:04:54.817423 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 40) 2001:660:660c:120::2000.domain > Client.TestUbuntu.46885: Flags [S.], cksum 0x4f1d (correct), seq 1936983398, ack 1766866666, win 28560, options [mss 1440,sackOK,TS val 581720 ecr 689505,nop,wscale 7], length 0 04:04:54.817452 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [.], cksum 0x4b41 (incorrect -> 0xec83), ack 1, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.817657 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 73) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [P.], cksum 0x4b6a (incorrect -> 0x6ea5), seq 1:42, ack 1, win 225, options [nop,nop,TS val 689506 ecr 581720], length 4110506+ [1au] NS? testubuntu. (39) 04:04:54.818032 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::2000.domain > Client.TestUbuntu.46885: Flags [.], cksum 0xec5b (correct), ack 42, win 224, options [nop,nop,TS val 581720 ecr 689506], length 0 04:04:54.818113 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 122) 2001:660:660c:120::2000.domain > Client.TestUbuntu.46885: Flags [P.], cksum 0x5868 (correct), seq 1:91, ack 42, win 224, options [nop,nop,TS val 581720 ecr 689506], length 9010506* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:04:54.818123 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [.], cksum 0x4b41 (incorrect -> 0xec00), ack 91, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.819598 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [F.], cksum 0x4b41 (incorrect -> 0xebff), seq 42, ack 91, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 04:04:54.819858 IP6 (flowlabel 0x2f2a7, hlim 64, next-header TCP (6) payload length: 32) 2001:660:660c:120::2000.domain > Client.TestUbuntu.46885: Flags [F.], cksum 0xebff (correct), seq 91, ack 43, win 224, options [nop,nop,TS val 581720 ecr 689506], length 0 04:04:54.819869 IP6 (flowlabel 0xe99c7, hlim 64, next-header TCP (6) payload length: 32) Client.TestUbuntu.46885 > 2001:660:660c:120::2000.domain: Flags [.], cksum 0x4b41 (incorrect -> 0xebfe), ack 92, win 225, options [nop,nop,TS val 689506 ecr 581720], length 0 ---------------------------------------- Now, ON the CLIENT only : run root@Client:/# ethtool --offload eth0 rx off tx off Actual changes: rx-checksumming: off tx-checksumming: off tx-checksum-ip-generic: off tcp-segmentation-offload: off tx-tcp-segmentation: off [requested on] tx-tcp6-segmentation: off [requested on] Send the query via udp : root@Client:/# dig @2001:660:660c:120::2000 testubuntu NS ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @2001:660:660c:120::2000 testubuntu NS ; (1 server found) ;; global options: +cmd ;; connection timed out; no servers could be reached Server trace : 04:12:25.740443 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.60297 > Server.TestUbuntu.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) 04:12:25.741235 IP6 (flowlabel 0xb88ba, hlim 64, next-header UDP (17) payload length: 96) Server.TestUbuntu.domain > 2001:660:660c:120::1000.60297: [bad udp cksum 0x4b8c -> 0x61ce!] 64598* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:12:25.741272 IP6 (flowlabel 0xc6bc2, hlim 64, next-header UDP (17) payload length: 98) 2001:660:660c:120::1000.42452 > Server.TestUbuntu.domain: [udp sum ok] 28639+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:12:30.740672 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.60297 > Server.TestUbuntu.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) 04:12:30.740962 IP6 (flowlabel 0xb88ba, hlim 64, next-header UDP (17) payload length: 96) Server.TestUbuntu.domain > 2001:660:660c:120::1000.60297: [bad udp cksum 0x4b8c -> 0x61ce!] 64598* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:12:30.744200 IP6 (flowlabel 0xc6bc2, hlim 64, next-header UDP (17) payload length: 98) 2001:660:660c:120::1000.42452 > Server.TestUbuntu.domain: [udp sum ok] 28639+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:12:35.740843 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.60297 > Server.TestUbuntu.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) 04:12:35.741911 IP6 (flowlabel 0x5640d, hlim 64, next-header UDP (17) payload length: 98) Server.TestUbuntu.domain > 2001:660:660c:120::1000.42452: [bad udp cksum 0x4b8e -> 0xaad1!] 28639 ServFail 0/0/0 (90) Client trace : 04:12:25.721571 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.60297 > 2001:660:660c:120::2000.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) 04:12:25.722323 IP6 (flowlabel 0xc6bc2, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.42452 > 2001:660:660c:120::2000.domain: [udp sum ok] 28639+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:12:25.722560 IP6 (flowlabel 0xb88ba, hlim 64, next-header UDP (17) payload length: 96) 2001:660:660c:120::2000.domain > Client.TestUbuntu.60297: [bad udp cksum 0x45bd -> 0x61ce!] 64598* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:12:30.721698 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.60297 > 2001:660:660c:120::2000.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) 04:12:30.722310 IP6 (flowlabel 0xb88ba, hlim 64, next-header UDP (17) payload length: 96) 2001:660:660c:120::2000.domain > Client.TestUbuntu.60297: [bad udp cksum 0x45bd -> 0x61ce!] 64598* 1/0/2 testubuntu. NS server.testubuntu. (88) 04:12:30.725367 IP6 (flowlabel 0xc6bc2, hlim 64, next-header UDP (17) payload length: 98) Client.TestUbuntu.42452 > 2001:660:660c:120::2000.domain: [udp sum ok] 28639+ PTR? 0.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.2.1.0.c.0.6.6.0.6.6.0.1.0.0.2.ip6.arpa. (90) 04:12:35.721886 IP6 (flowlabel 0x2e845, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.60297 > 2001:660:660c:120::2000.domain: [udp sum ok] 64598+ [1au] NS? testubuntu. (39) ---------------------------------------- Now, ON the server also : run # ethtool --offload eth0 rx off tx off root@Server:/etc/bind# ethtool --offload eth0 rx off tx off Actual changes: rx-checksumming: off tx-checksumming: off tx-checksum-ip-generic: off tcp-segmentation-offload: off tx-tcp-segmentation: off [requested on] tx-tcp6-segmentation: off [requested on] send the query : root@Client:/# dig @2001:660:660c:120::2000 testubuntu NS ; <<>> DiG 9.10.3-P4-Ubuntu <<>> @2001:660:660c:120::2000 testubuntu NS ; (1 server found) ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38052 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;testubuntu. IN NS ;; ANSWER SECTION: testubuntu. 172800 IN NS server.testubuntu. Server trace : 04:15:19.479496 IP6 (flowlabel 0x84c2f, hlim 64, next-header UDP (17) payload length: 47) 2001:660:660c:120::1000.54008 > Server.TestUbuntu.domain: [udp sum ok] 38052+ [1au] NS? testubuntu. (39) 04:15:19.480162 IP6 (flowlabel 0xb6168, hlim 64, next-header UDP (17) payload length: 96) Server.TestUbuntu.domain > 2001:660:660c:120::1000.54008: [udp sum ok] 38052* 1/0/2 testubuntu. NS server.testubuntu. (88) Client trace : 04:15:19.460343 IP6 (flowlabel 0x84c2f, hlim 64, next-header UDP (17) payload length: 47) Client.TestUbuntu.54008 > 2001:660:660c:120::2000.domain: [udp sum ok] 38052+ [1au] NS? testubuntu. (39) 04:15:19.462166 IP6 (flowlabel 0xb6168, hlim 64, next-header UDP (17) payload length: 96) 2001:660:660c:120::2000.domain > Client.TestUbuntu.54008: [udp sum ok] 38052* 1/0/2 testubuntu. NS server.testubuntu. (88) As you'll understand, resolution is applied on the virtual machine system. Not on the HyperV system. Meanwhile, my windows virtual machines are on ipv6 and are resolving OK even with rx/tx enabled Hope this helps !