Public bug reported: Hi,
I met a bit strange problem, currently I use ovn/ml2 and configured geneve + flat to organize my network. Following the guidelines, I created two networks, internal and external, as named, for internal communication within the VMs and for creating floating ip (external) to assign to the VMs in order for them to access the public network. Here are some openstack commands as follows (enable dhcp by default) ### internal network & subnet openstack network create internal --provider-network-type geneve openstack subnet create internal-subnet --network internal \ --subnet-range 192.168.200.0/24 --gateway 192.168.200.1 \ --dns-nameserver 8.8.8.8 ### external network & subnet, flat, physnet1 is mapping openstack network create \ --provider-physical-network physnet1 \ --provider-network-type flat --external external openstack subnet create external-subnet \ --network external--subnet-range 192.168.5.0/24 \ --allocation-pool start=192.168.5.200,end=192.168.5.220 \ --gateway 192.168.5.1 --dns-nameserver 9.9.9.9 --no-dhcp ### of course, a router is a must openstack router create router-001 openstack router add subnet router-001 internal-subnet openstack router add gateway router-001 external ### bridge & ports, compute node as the same root@master-01 ~(keystone)# ovs-vsctl list-br br-external br-int root@master-01 ~(keystone)# ovs-vsctl list-ports br-external eno3 patch-provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf-to-br-int root@master-01 ~(keystone)# ### mapping is here, use different physical NICs to differentiate between management and VM data transfers {hostname=master-01, ovn-bridge-mappings="physnet1:br-external", ovn-cms-options=enable-chassis-as-gw, ovn-encap-ip="10.20.0.10", ovn-encap-type=geneve, ovn-remote="tcp:10.10.0.10:6642", rundir="/var/run/openvswitch", system-id="121c0c62-b0fb-4441-bf10-14d429b4bcd8"} ... ### sb information ovn-sbctl show Chassis "121c0c62-b0fb-4441-bf10-14d429b4bcd8" hostname: master-01 Encap geneve ip: "10.20.0.10" options: {csum="true"} Port_Binding cr-lrp-1641f948-ac28-422a-99a4-e056372812cd Chassis "c8bd82a0-a930-48ad-a3f0-48ce81713dfc" hostname: compute-01 Encap geneve ip: "10.20.0.20" options: {csum="true"} Port_Binding "fced94e8-c0f7-43ba-be90-3d93983c4b4a" Port_Binding "6102cb9b-e42f-4f37-abe1-d0765f4b6c4e" ### nb information ovn-nbctl show switch 5751184d-39ef-4a10-bb72-9fc5285caa7e (neutron-7c28892d-5864-403a-8a8d-03180770db60) (aka internal) port 6102cb9b-e42f-4f37-abe1-d0765f4b6c4e addresses: ["fa:16:3e:02:8e:f4 192.168.200.153"] port 6cec6fa7-1a80-4b20-b96d-bd79d528ad64 type: localport addresses: ["fa:16:3e:94:ff:e1 192.168.200.2"] port beb8f8d3-7d18-4d02-b786-9927b7ad2d17 addresses: ["fa:16:3e:85:52:47 192.168.200.214"] port 2e495938-68da-44e4-b2c0-20031f8faa59 type: router router-port: lrp-2e495938-68da-44e4-b2c0-20031f8faa59 port fced94e8-c0f7-43ba-be90-3d93983c4b4a addresses: ["fa:16:3e:df:1e:63 192.168.200.44"] port 9ba1c2e0-8035-422b-a632-8f8fb7f217a3 addresses: ["fa:16:3e:b4:7d:14 192.168.200.179"] switch c91f2dd7-9fbb-4f75-9b05-20db0d5173c7 (neutron-8a7b3145-393a-46fc-a019-c0676671db40) (aka external) port 1641f948-ac28-422a-99a4-e056372812cd type: router router-port: lrp-1641f948-ac28-422a-99a4-e056372812cd port provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf type: localnet addresses: ["unknown"] port 1163cb86-7241-492a-a8a6-f6cd51f661f0 type: localport addresses: ["fa:16:3e:15:06:23"] router 63145aba-6fac-4cbd-bfb8-a7adb9daa361 (neutron-7fa5c121-0385-4fa8-ba24-cb6988c87aaa) (aka router-001) port lrp-1641f948-ac28-422a-99a4-e056372812cd mac: "fa:16:3e:11:2c:9a" networks: ["192.168.5.209/24"] gateway chassis: [121c0c62-b0fb-4441-bf10-14d429b4bcd8 c8bd82a0-a930-48ad-a3f0-48ce81713dfc] port lrp-2e495938-68da-44e4-b2c0-20031f8faa59 mac: "fa:16:3e:fd:f8:67" networks: ["192.168.200.1/24"] nat 00f4a3b9-35cc-41b0-b2dc-dc6fb174c313 external ip: "192.168.5.216" logical ip: "192.168.200.44" type: "dnat_and_snat" nat 16a4b585-9e25-41f6-9e9c-9923f2ffc236 external ip: "192.168.5.201" logical ip: "192.168.200.153" type: "dnat_and_snat" ### dhcp information ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={8.8.8.8} ### boot the VM to configure a NIC and point it to the internal network openstack server create --flavor m1.small --image Ubuntu-24-04 --security-group secgroup-001 --nic net-id=internal --key-name mykey ubuntu2404-001 ### only icmp and ssh ports are open in the security group, 5201 is for ipref3, it's ok. openstack security group rule list secgroup-001 +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | 0e2fcc8f-15a7-47b5-bd9c-4029a230cabf | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None | | 2100ca19-3f17-4c39-8dce-5c50f8a4ffa4 | None | IPv4 | 0.0.0.0/0 | | egress | None | None | | 5433e8b0-7e1c-48b5-8b5d-f22e745a9ee0 | tcp | IPv4 | 0.0.0.0/0 | 5201:5201 | ingress | None | None | | b2556f92-f296-46c6-8f8f-fcaf5e2eda1c | icmp | IPv4 | 0.0.0.0/0 | | ingress | None | None | | d50fe1f0-4a29-49af-984a-66bcebe10b04 | None | IPv6 | ::/0 | | egress | None | None | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ ### creating a floating ip and assigning it to a vm openstack floating ip create external openstack server add floating ip Ubuntu-24-04 192.168.5.216 At this point, everything is working fine, and after creating a few more VMs, they can communicate with each other on the intranet via 192.168.200.0/24, and can also ping external (public) IP addresses due to the assigned and floating IPs. Just when I was happy, the problem came that it could not resolve the external domain name properly. :( In fact, it's not that it can't be parsed at all, it's that it can be parsed at one time and can't be parsed at another time, and it switches back and forth, but most of the time it can't be parsed properly. root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 I'm sure the nameserver is coming from dhcp and writing to /run/systemd/resolve/resolv.conf root@ubuntu2404-001:~# cat /run/systemd/resolve/resolv.conf ... nameserver 8.8.8.8 root@ubuntu2404-001:~# systemctl status systemd-resolved ● systemd-resolved.service - Network Name Resolution Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled) Active: active (running) since Fri 2024-08-30 07:23:13 UTC; 5min ago ... Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in> Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Using system hostname 'ubuntu2404-001'. Aug 30 07:23:13 ubuntu2404-001 systemd[1]: Started systemd-resolved.service - Network Name Resolution. Aug 30 07:23:56 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set TCP instead of UDP for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Clock change detected. Flushing caches. ... Virtual machine using ubuntu 24.04 cloud img from official link root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; no servers could be reached root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 20.205.243.166 root@ubuntu2404-001:~# root@ubuntu2404-001:~# ping 20.205.243.166 -c4 PING 20.205.243.166 (20.205.243.166) 56(84) bytes of data. 64 bytes from 20.205.243.166: icmp_seq=1 ttl=111 time=95.1 ms 64 bytes from 20.205.243.166: icmp_seq=2 ttl=111 time=93.5 ms 64 bytes from 20.205.243.166: icmp_seq=3 ttl=111 time=95.6 ms 64 bytes from 20.205.243.166: icmp_seq=4 ttl=111 time=95.6 ms --- 20.205.243.166 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 93.541/94.954/95.568/0.833 ms root@ubuntu2404-001:~# As I said, it's not completely unresolvable, odds are it will fail, but pinging is possible, as is access via IP. After my repeated testing, I'm pretty sure and even more puzzled by the fact that the above problem occurs when the internal-subnet's dns- nameserver is set to google's 8.8.8.8 or 8.8.4.4! And switching to any other internal DNS(self-private) or 1.1.1.1 or 9.9.9.9 is no problem at all! ### now the internal-subnet information openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 8.8.8.8 | | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | |... +----------------------+--------------------------------------+ ###reset dns-nameserver for internal-subnet openstack subnet set --no-dns-nameservers internal-subnet openstack subnet set --dns-nameserver 1.1.1.1 internal-subnet openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 1.1.1.1 | 8.8.8.8->1.1.1.1 | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | | host_routes | | |... +----------------------+--------------------------------------+ ### ovn dhcp dns_server changed ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={1.1.1.1} ###reboot the vms, check it out root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 cat /run/systemd/resolve/resolv.conf ... nameserver 1.1.1.1 search . root@ubuntu2404-001:~# nslookup www.github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 140.82.116.3 When performing nslookup, the return is so fast! root@ubuntu2404-001:~#ping www.github.com -c4 PING github.com (140.82.116.4) 56(84) bytes of data. 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=1 ttl=49 time=152 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=2 ttl=49 time=155 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=3 ttl=49 time=153 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=4 ttl=49 time=152 ms --- github.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 152.234/153.034/154.550/0.930 ms So, I really don't know why internal-subnet's dns-nameserver set to 8.8.8.8 or 8.8.4.4 why it doesn't resolve properly, and the same setup for other dns-nameserver surprisingly works fine. It seems to me that either none of the external nameservers are supported or all of them are, so why are only 8.8.8.8 and 8.8.4.4 not supported? I'm really curious as to what's going on... Thank you for reading and helping out. BR//Evt ** Affects: neutron Importance: Undecided Status: New ** Description changed: Hi, I met a bit strange problem, currently I use ovn/ml2 and configured geneve + flat to organize my network. Following the guidelines, I created two networks, internal and external, as named, for internal communication within the VMs and for creating floating ip (external) to assign to the VMs in order for them to access the public network. Here are some openstack commands as follows (enable dhcp by default) ### internal network & subnet openstack network create internal --provider-network-type geneve openstack subnet create internal-subnet --network internal \ --subnet-range 192.168.200.0/24 --gateway 192.168.200.1 \ --dns-nameserver 8.8.8.8 ### external network & subnet, flat, physnet1 is mapping openstack network create \ --provider-physical-network physnet1 \ --provider-network-type flat --external external openstack subnet create external-subnet \ --network external--subnet-range 192.168.5.0/24 \ --allocation-pool start=192.168.5.200,end=192.168.5.220 \ --gateway 192.168.5.1 --dns-nameserver 1.1.1.1 --no-dhcp ### of course, a router is a must openstack router create router-001 - openstack router add subnet router-001 internal-subnet + openstack router add subnet router-001 internal-subnet openstack router add gateway router-001 external ### bridge & ports, compute node as the same - root@master-01 ~(keystone)# ovs-vsctl list-br + root@master-01 ~(keystone)# ovs-vsctl list-br br-external br-int root@master-01 ~(keystone)# ovs-vsctl list-ports br-external eno3 patch-provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf-to-br-int - root@master-01 ~(keystone)# + root@master-01 ~(keystone)# ### mapping is here, use different physical NICs to differentiate between management and VM data transfers {hostname=master-01, ovn-bridge-mappings="physnet1:br-external", ovn-cms-options=enable-chassis-as-gw, ovn-encap-ip="10.20.0.10", ovn-encap-type=geneve, ovn-remote="tcp:10.10.0.10:6642", rundir="/var/run/openvswitch", system-id="121c0c62-b0fb-4441-bf10-14d429b4bcd8"} ... ### sb information ovn-sbctl show Chassis "121c0c62-b0fb-4441-bf10-14d429b4bcd8" - hostname: master-01 - Encap geneve - ip: "10.20.0.10" - options: {csum="true"} - Port_Binding cr-lrp-1641f948-ac28-422a-99a4-e056372812cd + hostname: master-01 + Encap geneve + ip: "10.20.0.10" + options: {csum="true"} + Port_Binding cr-lrp-1641f948-ac28-422a-99a4-e056372812cd Chassis "c8bd82a0-a930-48ad-a3f0-48ce81713dfc" - hostname: compute-01 - Encap geneve - ip: "10.20.0.20" - options: {csum="true"} - Port_Binding "fced94e8-c0f7-43ba-be90-3d93983c4b4a" - Port_Binding "6102cb9b-e42f-4f37-abe1-d0765f4b6c4e" + hostname: compute-01 + Encap geneve + ip: "10.20.0.20" + options: {csum="true"} + Port_Binding "fced94e8-c0f7-43ba-be90-3d93983c4b4a" + Port_Binding "6102cb9b-e42f-4f37-abe1-d0765f4b6c4e" ### nb information ovn-nbctl show switch 5751184d-39ef-4a10-bb72-9fc5285caa7e (neutron-7c28892d-5864-403a-8a8d-03180770db60) (aka internal) - port 6102cb9b-e42f-4f37-abe1-d0765f4b6c4e - addresses: ["fa:16:3e:02:8e:f4 192.168.200.153"] - port 6cec6fa7-1a80-4b20-b96d-bd79d528ad64 - type: localport - addresses: ["fa:16:3e:94:ff:e1 192.168.200.2"] - port beb8f8d3-7d18-4d02-b786-9927b7ad2d17 - addresses: ["fa:16:3e:85:52:47 192.168.200.214"] - port 2e495938-68da-44e4-b2c0-20031f8faa59 - type: router - router-port: lrp-2e495938-68da-44e4-b2c0-20031f8faa59 - port fced94e8-c0f7-43ba-be90-3d93983c4b4a - addresses: ["fa:16:3e:df:1e:63 192.168.200.44"] - port 9ba1c2e0-8035-422b-a632-8f8fb7f217a3 - addresses: ["fa:16:3e:b4:7d:14 192.168.200.179"] + port 6102cb9b-e42f-4f37-abe1-d0765f4b6c4e + addresses: ["fa:16:3e:02:8e:f4 192.168.200.153"] + port 6cec6fa7-1a80-4b20-b96d-bd79d528ad64 + type: localport + addresses: ["fa:16:3e:94:ff:e1 192.168.200.2"] + port beb8f8d3-7d18-4d02-b786-9927b7ad2d17 + addresses: ["fa:16:3e:85:52:47 192.168.200.214"] + port 2e495938-68da-44e4-b2c0-20031f8faa59 + type: router + router-port: lrp-2e495938-68da-44e4-b2c0-20031f8faa59 + port fced94e8-c0f7-43ba-be90-3d93983c4b4a + addresses: ["fa:16:3e:df:1e:63 192.168.200.44"] + port 9ba1c2e0-8035-422b-a632-8f8fb7f217a3 + addresses: ["fa:16:3e:b4:7d:14 192.168.200.179"] switch c91f2dd7-9fbb-4f75-9b05-20db0d5173c7 (neutron-8a7b3145-393a-46fc-a019-c0676671db40) (aka external) - port 1641f948-ac28-422a-99a4-e056372812cd - type: router - router-port: lrp-1641f948-ac28-422a-99a4-e056372812cd - port provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf - type: localnet - addresses: ["unknown"] - port 1163cb86-7241-492a-a8a6-f6cd51f661f0 - type: localport - addresses: ["fa:16:3e:15:06:23"] - router 63145aba-6fac-4cbd-bfb8-a7adb9daa361 (neutron-7fa5c121-0385-4fa8-ba24-cb6988c87aaa) (aka router-local) - port lrp-1641f948-ac28-422a-99a4-e056372812cd - mac: "fa:16:3e:11:2c:9a" - networks: ["192.168.5.209/24"] - gateway chassis: [121c0c62-b0fb-4441-bf10-14d429b4bcd8 c8bd82a0-a930-48ad-a3f0-48ce81713dfc] - port lrp-2e495938-68da-44e4-b2c0-20031f8faa59 - mac: "fa:16:3e:fd:f8:67" - networks: ["192.168.200.1/24"] - nat 00f4a3b9-35cc-41b0-b2dc-dc6fb174c313 - external ip: "192.168.5.216" - logical ip: "192.168.200.44" - type: "dnat_and_snat" - nat 16a4b585-9e25-41f6-9e9c-9923f2ffc236 - external ip: "192.168.5.201" - logical ip: "192.168.200.153" - type: "dnat_and_snat" + port 1641f948-ac28-422a-99a4-e056372812cd + type: router + router-port: lrp-1641f948-ac28-422a-99a4-e056372812cd + port provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf + type: localnet + addresses: ["unknown"] + port 1163cb86-7241-492a-a8a6-f6cd51f661f0 + type: localport + addresses: ["fa:16:3e:15:06:23"] + router 63145aba-6fac-4cbd-bfb8-a7adb9daa361 (neutron-7fa5c121-0385-4fa8-ba24-cb6988c87aaa) (aka router-001) + port lrp-1641f948-ac28-422a-99a4-e056372812cd + mac: "fa:16:3e:11:2c:9a" + networks: ["192.168.5.209/24"] + gateway chassis: [121c0c62-b0fb-4441-bf10-14d429b4bcd8 c8bd82a0-a930-48ad-a3f0-48ce81713dfc] + port lrp-2e495938-68da-44e4-b2c0-20031f8faa59 + mac: "fa:16:3e:fd:f8:67" + networks: ["192.168.200.1/24"] + nat 00f4a3b9-35cc-41b0-b2dc-dc6fb174c313 + external ip: "192.168.5.216" + logical ip: "192.168.200.44" + type: "dnat_and_snat" + nat 16a4b585-9e25-41f6-9e9c-9923f2ffc236 + external ip: "192.168.5.201" + logical ip: "192.168.200.153" + type: "dnat_and_snat" ### dhcp information ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={8.8.8.8} ### boot the VM to configure a NIC and point it to the internal network openstack server create --flavor m1.small --image Ubuntu-24-04 --security-group secgroup-001 --nic net-id=internal --key-name mykey ubuntu2404-001 ### only icmp and ssh ports are open in the security group, 5201 is for ipref3, it's ok. - openstack security group rule list secgroup-001 + openstack security group rule list secgroup-001 +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | 0e2fcc8f-15a7-47b5-bd9c-4029a230cabf | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None | | 2100ca19-3f17-4c39-8dce-5c50f8a4ffa4 | None | IPv4 | 0.0.0.0/0 | | egress | None | None | | 5433e8b0-7e1c-48b5-8b5d-f22e745a9ee0 | tcp | IPv4 | 0.0.0.0/0 | 5201:5201 | ingress | None | None | | b2556f92-f296-46c6-8f8f-fcaf5e2eda1c | icmp | IPv4 | 0.0.0.0/0 | | ingress | None | None | | d50fe1f0-4a29-49af-984a-66bcebe10b04 | None | IPv6 | ::/0 | | egress | None | None | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ ### creating a floating ip and assigning it to a vm openstack floating ip create external openstack server add floating ip Ubuntu-24-04 192.168.5.216 At this point, everything is working fine, and after creating a few more VMs, they can communicate with each other on the intranet via 192.168.200.0/24, and can also ping external (public) IP addresses due to the assigned and floating IPs. Just when I was happy, the problem came that it could not resolve the external domain name properly. - :( + :( In fact, it's not that it can't be parsed at all, it's that it can be parsed at one time and can't be parsed at another time, and it switches back and forth, but most of the time it can't be parsed properly. root@ubuntu2404-001:~# resolvectl status Global - Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported - resolv.conf mode: stub + Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported + resolv.conf mode: stub Link 2 (ens3) - Current Scopes: DNS - Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported + Current Scopes: DNS + Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 8.8.8.8 - DNS Servers: 8.8.8.8 - - I'm sure the nameserver is coming from dhcp and writing to /run/systemd/resolve/resolv.conf - root@ubuntu2404-001:~# cat /run/systemd/resolve/resolv.conf + DNS Servers: 8.8.8.8 + + I'm sure the nameserver is coming from dhcp and writing to /run/systemd/resolve/resolv.conf + root@ubuntu2404-001:~# cat /run/systemd/resolve/resolv.conf ... nameserver 8.8.8.8 root@ubuntu2404-001:~# systemctl status systemd-resolved ● systemd-resolved.service - Network Name Resolution - Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled) - Active: active (running) since Fri 2024-08-30 07:23:13 UTC; 5min ago + Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled) + Active: active (running) since Fri 2024-08-30 07:23:13 UTC; 5min ago ... Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in> Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Using system hostname 'ubuntu2404-001'. Aug 30 07:23:13 ubuntu2404-001 systemd[1]: Started systemd-resolved.service - Network Name Resolution. Aug 30 07:23:56 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set TCP instead of UDP for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Clock change detected. Flushing caches. ... Virtual machine using ubuntu 24.04 cloud img from official link root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; no servers could be reached root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 20.205.243.166 - root@ubuntu2404-001:~# + root@ubuntu2404-001:~# root@ubuntu2404-001:~# ping 20.205.243.166 -c4 PING 20.205.243.166 (20.205.243.166) 56(84) bytes of data. 64 bytes from 20.205.243.166: icmp_seq=1 ttl=111 time=95.1 ms 64 bytes from 20.205.243.166: icmp_seq=2 ttl=111 time=93.5 ms 64 bytes from 20.205.243.166: icmp_seq=3 ttl=111 time=95.6 ms 64 bytes from 20.205.243.166: icmp_seq=4 ttl=111 time=95.6 ms --- 20.205.243.166 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 93.541/94.954/95.568/0.833 ms root@ubuntu2404-001:~# As I said, it's not completely unresolvable, odds are it will fail, but pinging is possible, as is access via IP. After my repeated testing, I'm pretty sure and even more puzzled by the fact that the above problem occurs when the internal-subnet's dns- nameserver is set to google's 8.8.8.8 or 8.8.4.4! And switching to any other internal DNS(self-private) or 1.1.1.1 or 9.9.9.9 is no problem at all! ### now the internal-subnet information openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 8.8.8.8 | | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | |... +----------------------+--------------------------------------+ ###reset dns-nameserver for internal-subnet openstack subnet set --no-dns-nameservers internal-subnet openstack subnet set --dns-nameserver 1.1.1.1 internal-subnet openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 1.1.1.1 | 8.8.8.8->1.1.1.1 | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | | host_routes | | |... +----------------------+--------------------------------------+ ### ovn dhcp dns_server changed ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={1.1.1.1} ###reboot the vms, check it out root@ubuntu2404-001:~# resolvectl status Global - Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported - resolv.conf mode: stub + Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported + resolv.conf mode: stub Link 2 (ens3) - Current Scopes: DNS - Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported + Current Scopes: DNS + Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 1.1.1.1 - DNS Servers: 1.1.1.1 - cat /run/systemd/resolve/resolv.conf + DNS Servers: 1.1.1.1 + cat /run/systemd/resolve/resolv.conf ... nameserver 1.1.1.1 search . root@ubuntu2404-001:~# nslookup www.github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 140.82.116.3 When performing nslookup, the return is so fast! root@ubuntu2404-001:~#ping www.github.com -c4 PING github.com (140.82.116.4) 56(84) bytes of data. 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=1 ttl=49 time=152 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=2 ttl=49 time=155 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=3 ttl=49 time=153 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=4 ttl=49 time=152 ms --- github.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 152.234/153.034/154.550/0.930 ms So, I really don't know why internal-subnet's dns-nameserver set to 8.8.8.8 or 8.8.4.4 why it doesn't resolve properly, and the same setup for other dns-nameserver surprisingly works fine. It seems to me that either none of the external nameservers are supported or all of them are, so why are only 8.8.8.8 and 8.8.4.4 not supported? I'm really curious as to what's going on... - - Thank you for reading and helping out. BR//Evt ** Description changed: Hi, I met a bit strange problem, currently I use ovn/ml2 and configured geneve + flat to organize my network. Following the guidelines, I created two networks, internal and external, as named, for internal communication within the VMs and for creating floating ip (external) to assign to the VMs in order for them to access the public network. Here are some openstack commands as follows (enable dhcp by default) ### internal network & subnet openstack network create internal --provider-network-type geneve openstack subnet create internal-subnet --network internal \ --subnet-range 192.168.200.0/24 --gateway 192.168.200.1 \ --dns-nameserver 8.8.8.8 ### external network & subnet, flat, physnet1 is mapping openstack network create \ --provider-physical-network physnet1 \ --provider-network-type flat --external external openstack subnet create external-subnet \ --network external--subnet-range 192.168.5.0/24 \ --allocation-pool start=192.168.5.200,end=192.168.5.220 \ - --gateway 192.168.5.1 --dns-nameserver 1.1.1.1 --no-dhcp + --gateway 192.168.5.1 --dns-nameserver 9.9.9.9 --no-dhcp ### of course, a router is a must openstack router create router-001 openstack router add subnet router-001 internal-subnet openstack router add gateway router-001 external ### bridge & ports, compute node as the same root@master-01 ~(keystone)# ovs-vsctl list-br br-external br-int root@master-01 ~(keystone)# ovs-vsctl list-ports br-external eno3 patch-provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf-to-br-int root@master-01 ~(keystone)# ### mapping is here, use different physical NICs to differentiate between management and VM data transfers {hostname=master-01, ovn-bridge-mappings="physnet1:br-external", ovn-cms-options=enable-chassis-as-gw, ovn-encap-ip="10.20.0.10", ovn-encap-type=geneve, ovn-remote="tcp:10.10.0.10:6642", rundir="/var/run/openvswitch", system-id="121c0c62-b0fb-4441-bf10-14d429b4bcd8"} ... ### sb information ovn-sbctl show Chassis "121c0c62-b0fb-4441-bf10-14d429b4bcd8" hostname: master-01 Encap geneve ip: "10.20.0.10" options: {csum="true"} Port_Binding cr-lrp-1641f948-ac28-422a-99a4-e056372812cd Chassis "c8bd82a0-a930-48ad-a3f0-48ce81713dfc" hostname: compute-01 Encap geneve ip: "10.20.0.20" options: {csum="true"} Port_Binding "fced94e8-c0f7-43ba-be90-3d93983c4b4a" Port_Binding "6102cb9b-e42f-4f37-abe1-d0765f4b6c4e" ### nb information ovn-nbctl show switch 5751184d-39ef-4a10-bb72-9fc5285caa7e (neutron-7c28892d-5864-403a-8a8d-03180770db60) (aka internal) port 6102cb9b-e42f-4f37-abe1-d0765f4b6c4e addresses: ["fa:16:3e:02:8e:f4 192.168.200.153"] port 6cec6fa7-1a80-4b20-b96d-bd79d528ad64 type: localport addresses: ["fa:16:3e:94:ff:e1 192.168.200.2"] port beb8f8d3-7d18-4d02-b786-9927b7ad2d17 addresses: ["fa:16:3e:85:52:47 192.168.200.214"] port 2e495938-68da-44e4-b2c0-20031f8faa59 type: router router-port: lrp-2e495938-68da-44e4-b2c0-20031f8faa59 port fced94e8-c0f7-43ba-be90-3d93983c4b4a addresses: ["fa:16:3e:df:1e:63 192.168.200.44"] port 9ba1c2e0-8035-422b-a632-8f8fb7f217a3 addresses: ["fa:16:3e:b4:7d:14 192.168.200.179"] switch c91f2dd7-9fbb-4f75-9b05-20db0d5173c7 (neutron-8a7b3145-393a-46fc-a019-c0676671db40) (aka external) port 1641f948-ac28-422a-99a4-e056372812cd type: router router-port: lrp-1641f948-ac28-422a-99a4-e056372812cd port provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf type: localnet addresses: ["unknown"] port 1163cb86-7241-492a-a8a6-f6cd51f661f0 type: localport addresses: ["fa:16:3e:15:06:23"] router 63145aba-6fac-4cbd-bfb8-a7adb9daa361 (neutron-7fa5c121-0385-4fa8-ba24-cb6988c87aaa) (aka router-001) port lrp-1641f948-ac28-422a-99a4-e056372812cd mac: "fa:16:3e:11:2c:9a" networks: ["192.168.5.209/24"] gateway chassis: [121c0c62-b0fb-4441-bf10-14d429b4bcd8 c8bd82a0-a930-48ad-a3f0-48ce81713dfc] port lrp-2e495938-68da-44e4-b2c0-20031f8faa59 mac: "fa:16:3e:fd:f8:67" networks: ["192.168.200.1/24"] nat 00f4a3b9-35cc-41b0-b2dc-dc6fb174c313 external ip: "192.168.5.216" logical ip: "192.168.200.44" type: "dnat_and_snat" nat 16a4b585-9e25-41f6-9e9c-9923f2ffc236 external ip: "192.168.5.201" logical ip: "192.168.200.153" type: "dnat_and_snat" ### dhcp information ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={8.8.8.8} ### boot the VM to configure a NIC and point it to the internal network openstack server create --flavor m1.small --image Ubuntu-24-04 --security-group secgroup-001 --nic net-id=internal --key-name mykey ubuntu2404-001 ### only icmp and ssh ports are open in the security group, 5201 is for ipref3, it's ok. openstack security group rule list secgroup-001 +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | 0e2fcc8f-15a7-47b5-bd9c-4029a230cabf | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None | | 2100ca19-3f17-4c39-8dce-5c50f8a4ffa4 | None | IPv4 | 0.0.0.0/0 | | egress | None | None | | 5433e8b0-7e1c-48b5-8b5d-f22e745a9ee0 | tcp | IPv4 | 0.0.0.0/0 | 5201:5201 | ingress | None | None | | b2556f92-f296-46c6-8f8f-fcaf5e2eda1c | icmp | IPv4 | 0.0.0.0/0 | | ingress | None | None | | d50fe1f0-4a29-49af-984a-66bcebe10b04 | None | IPv6 | ::/0 | | egress | None | None | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ ### creating a floating ip and assigning it to a vm openstack floating ip create external openstack server add floating ip Ubuntu-24-04 192.168.5.216 At this point, everything is working fine, and after creating a few more VMs, they can communicate with each other on the intranet via 192.168.200.0/24, and can also ping external (public) IP addresses due to the assigned and floating IPs. Just when I was happy, the problem came that it could not resolve the external domain name properly. :( In fact, it's not that it can't be parsed at all, it's that it can be parsed at one time and can't be parsed at another time, and it switches back and forth, but most of the time it can't be parsed properly. root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 I'm sure the nameserver is coming from dhcp and writing to /run/systemd/resolve/resolv.conf root@ubuntu2404-001:~# cat /run/systemd/resolve/resolv.conf ... nameserver 8.8.8.8 root@ubuntu2404-001:~# systemctl status systemd-resolved ● systemd-resolved.service - Network Name Resolution Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled) Active: active (running) since Fri 2024-08-30 07:23:13 UTC; 5min ago ... Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in> Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Using system hostname 'ubuntu2404-001'. Aug 30 07:23:13 ubuntu2404-001 systemd[1]: Started systemd-resolved.service - Network Name Resolution. Aug 30 07:23:56 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set TCP instead of UDP for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Clock change detected. Flushing caches. ... Virtual machine using ubuntu 24.04 cloud img from official link root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; no servers could be reached root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 20.205.243.166 root@ubuntu2404-001:~# root@ubuntu2404-001:~# ping 20.205.243.166 -c4 PING 20.205.243.166 (20.205.243.166) 56(84) bytes of data. 64 bytes from 20.205.243.166: icmp_seq=1 ttl=111 time=95.1 ms 64 bytes from 20.205.243.166: icmp_seq=2 ttl=111 time=93.5 ms 64 bytes from 20.205.243.166: icmp_seq=3 ttl=111 time=95.6 ms 64 bytes from 20.205.243.166: icmp_seq=4 ttl=111 time=95.6 ms --- 20.205.243.166 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 93.541/94.954/95.568/0.833 ms root@ubuntu2404-001:~# As I said, it's not completely unresolvable, odds are it will fail, but pinging is possible, as is access via IP. After my repeated testing, I'm pretty sure and even more puzzled by the fact that the above problem occurs when the internal-subnet's dns- nameserver is set to google's 8.8.8.8 or 8.8.4.4! And switching to any other internal DNS(self-private) or 1.1.1.1 or 9.9.9.9 is no problem at all! ### now the internal-subnet information openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 8.8.8.8 | | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | |... +----------------------+--------------------------------------+ ###reset dns-nameserver for internal-subnet openstack subnet set --no-dns-nameservers internal-subnet openstack subnet set --dns-nameserver 1.1.1.1 internal-subnet openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 1.1.1.1 | 8.8.8.8->1.1.1.1 | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | | host_routes | | |... +----------------------+--------------------------------------+ ### ovn dhcp dns_server changed ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={1.1.1.1} ###reboot the vms, check it out root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 cat /run/systemd/resolve/resolv.conf ... nameserver 1.1.1.1 search . root@ubuntu2404-001:~# nslookup www.github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 140.82.116.3 When performing nslookup, the return is so fast! root@ubuntu2404-001:~#ping www.github.com -c4 PING github.com (140.82.116.4) 56(84) bytes of data. 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=1 ttl=49 time=152 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=2 ttl=49 time=155 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=3 ttl=49 time=153 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=4 ttl=49 time=152 ms --- github.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 152.234/153.034/154.550/0.930 ms So, I really don't know why internal-subnet's dns-nameserver set to 8.8.8.8 or 8.8.4.4 why it doesn't resolve properly, and the same setup for other dns-nameserver surprisingly works fine. It seems to me that either none of the external nameservers are supported or all of them are, so why are only 8.8.8.8 and 8.8.4.4 not supported? I'm really curious as to what's going on... Thank you for reading and helping out. BR//Evt -- You received this bug notification because you are a member of Yahoo! Engineering Team, which is subscribed to neutron. https://bugs.launchpad.net/bugs/2078425 Title: ovn/ml2 selfservice (isolated network) dns-nameserver set in subnet, can't resolve domain Status in neutron: New Bug description: Hi, I met a bit strange problem, currently I use ovn/ml2 and configured geneve + flat to organize my network. Following the guidelines, I created two networks, internal and external, as named, for internal communication within the VMs and for creating floating ip (external) to assign to the VMs in order for them to access the public network. Here are some openstack commands as follows (enable dhcp by default) ### internal network & subnet openstack network create internal --provider-network-type geneve openstack subnet create internal-subnet --network internal \ --subnet-range 192.168.200.0/24 --gateway 192.168.200.1 \ --dns-nameserver 8.8.8.8 ### external network & subnet, flat, physnet1 is mapping openstack network create \ --provider-physical-network physnet1 \ --provider-network-type flat --external external openstack subnet create external-subnet \ --network external--subnet-range 192.168.5.0/24 \ --allocation-pool start=192.168.5.200,end=192.168.5.220 \ --gateway 192.168.5.1 --dns-nameserver 9.9.9.9 --no-dhcp ### of course, a router is a must openstack router create router-001 openstack router add subnet router-001 internal-subnet openstack router add gateway router-001 external ### bridge & ports, compute node as the same root@master-01 ~(keystone)# ovs-vsctl list-br br-external br-int root@master-01 ~(keystone)# ovs-vsctl list-ports br-external eno3 patch-provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf-to-br-int root@master-01 ~(keystone)# ### mapping is here, use different physical NICs to differentiate between management and VM data transfers {hostname=master-01, ovn-bridge-mappings="physnet1:br-external", ovn-cms-options=enable-chassis-as-gw, ovn-encap-ip="10.20.0.10", ovn-encap-type=geneve, ovn-remote="tcp:10.10.0.10:6642", rundir="/var/run/openvswitch", system-id="121c0c62-b0fb-4441-bf10-14d429b4bcd8"} ... ### sb information ovn-sbctl show Chassis "121c0c62-b0fb-4441-bf10-14d429b4bcd8" hostname: master-01 Encap geneve ip: "10.20.0.10" options: {csum="true"} Port_Binding cr-lrp-1641f948-ac28-422a-99a4-e056372812cd Chassis "c8bd82a0-a930-48ad-a3f0-48ce81713dfc" hostname: compute-01 Encap geneve ip: "10.20.0.20" options: {csum="true"} Port_Binding "fced94e8-c0f7-43ba-be90-3d93983c4b4a" Port_Binding "6102cb9b-e42f-4f37-abe1-d0765f4b6c4e" ### nb information ovn-nbctl show switch 5751184d-39ef-4a10-bb72-9fc5285caa7e (neutron-7c28892d-5864-403a-8a8d-03180770db60) (aka internal) port 6102cb9b-e42f-4f37-abe1-d0765f4b6c4e addresses: ["fa:16:3e:02:8e:f4 192.168.200.153"] port 6cec6fa7-1a80-4b20-b96d-bd79d528ad64 type: localport addresses: ["fa:16:3e:94:ff:e1 192.168.200.2"] port beb8f8d3-7d18-4d02-b786-9927b7ad2d17 addresses: ["fa:16:3e:85:52:47 192.168.200.214"] port 2e495938-68da-44e4-b2c0-20031f8faa59 type: router router-port: lrp-2e495938-68da-44e4-b2c0-20031f8faa59 port fced94e8-c0f7-43ba-be90-3d93983c4b4a addresses: ["fa:16:3e:df:1e:63 192.168.200.44"] port 9ba1c2e0-8035-422b-a632-8f8fb7f217a3 addresses: ["fa:16:3e:b4:7d:14 192.168.200.179"] switch c91f2dd7-9fbb-4f75-9b05-20db0d5173c7 (neutron-8a7b3145-393a-46fc-a019-c0676671db40) (aka external) port 1641f948-ac28-422a-99a4-e056372812cd type: router router-port: lrp-1641f948-ac28-422a-99a4-e056372812cd port provnet-76e95ef2-261e-4d51-b89e-48ddb26d0bcf type: localnet addresses: ["unknown"] port 1163cb86-7241-492a-a8a6-f6cd51f661f0 type: localport addresses: ["fa:16:3e:15:06:23"] router 63145aba-6fac-4cbd-bfb8-a7adb9daa361 (neutron-7fa5c121-0385-4fa8-ba24-cb6988c87aaa) (aka router-001) port lrp-1641f948-ac28-422a-99a4-e056372812cd mac: "fa:16:3e:11:2c:9a" networks: ["192.168.5.209/24"] gateway chassis: [121c0c62-b0fb-4441-bf10-14d429b4bcd8 c8bd82a0-a930-48ad-a3f0-48ce81713dfc] port lrp-2e495938-68da-44e4-b2c0-20031f8faa59 mac: "fa:16:3e:fd:f8:67" networks: ["192.168.200.1/24"] nat 00f4a3b9-35cc-41b0-b2dc-dc6fb174c313 external ip: "192.168.5.216" logical ip: "192.168.200.44" type: "dnat_and_snat" nat 16a4b585-9e25-41f6-9e9c-9923f2ffc236 external ip: "192.168.5.201" logical ip: "192.168.200.153" type: "dnat_and_snat" ### dhcp information ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={8.8.8.8} ### boot the VM to configure a NIC and point it to the internal network openstack server create --flavor m1.small --image Ubuntu-24-04 --security-group secgroup-001 --nic net-id=internal --key-name mykey ubuntu2404-001 ### only icmp and ssh ports are open in the security group, 5201 is for ipref3, it's ok. openstack security group rule list secgroup-001 +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | ID | IP Protocol | Ethertype | IP Range | Port Range | Direction | Remote Security Group | Remote Address Group | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ | 0e2fcc8f-15a7-47b5-bd9c-4029a230cabf | tcp | IPv4 | 0.0.0.0/0 | 22:22 | ingress | None | None | | 2100ca19-3f17-4c39-8dce-5c50f8a4ffa4 | None | IPv4 | 0.0.0.0/0 | | egress | None | None | | 5433e8b0-7e1c-48b5-8b5d-f22e745a9ee0 | tcp | IPv4 | 0.0.0.0/0 | 5201:5201 | ingress | None | None | | b2556f92-f296-46c6-8f8f-fcaf5e2eda1c | icmp | IPv4 | 0.0.0.0/0 | | ingress | None | None | | d50fe1f0-4a29-49af-984a-66bcebe10b04 | None | IPv6 | ::/0 | | egress | None | None | +--------------------------------------+-------------+-----------+-----------+------------+-----------+-----------------------+----------------------+ ### creating a floating ip and assigning it to a vm openstack floating ip create external openstack server add floating ip Ubuntu-24-04 192.168.5.216 At this point, everything is working fine, and after creating a few more VMs, they can communicate with each other on the intranet via 192.168.200.0/24, and can also ping external (public) IP addresses due to the assigned and floating IPs. Just when I was happy, the problem came that it could not resolve the external domain name properly. :( In fact, it's not that it can't be parsed at all, it's that it can be parsed at one time and can't be parsed at another time, and it switches back and forth, but most of the time it can't be parsed properly. root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 8.8.8.8 DNS Servers: 8.8.8.8 I'm sure the nameserver is coming from dhcp and writing to /run/systemd/resolve/resolv.conf root@ubuntu2404-001:~# cat /run/systemd/resolve/resolv.conf ... nameserver 8.8.8.8 root@ubuntu2404-001:~# systemctl status systemd-resolved ● systemd-resolved.service - Network Name Resolution Loaded: loaded (/usr/lib/systemd/system/systemd-resolved.service; enabled; preset: enabled) Active: active (running) since Fri 2024-08-30 07:23:13 UTC; 5min ago ... Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Negative trust anchors: home.arpa 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-addr.arpa 21.172.in-addr.arpa 22.172.in> Aug 30 07:23:13 ubuntu2404-001 systemd-resolved[584]: Using system hostname 'ubuntu2404-001'. Aug 30 07:23:13 ubuntu2404-001 systemd[1]: Started systemd-resolved.service - Network Name Resolution. Aug 30 07:23:56 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set UDP instead of UDP+EDNS0 for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Using degraded feature set TCP instead of UDP for DNS server 8.8.8.8. Aug 30 07:24:06 ubuntu2404-001 systemd-resolved[584]: Clock change detected. Flushing caches. ... Virtual machine using ubuntu 24.04 cloud img from official link root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out ;; no servers could be reached root@ubuntu2404-001:~# nslookup www.github.com ;; communications error to 127.0.0.53#53: timed out ;; communications error to 127.0.0.53#53: timed out Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 20.205.243.166 root@ubuntu2404-001:~# root@ubuntu2404-001:~# ping 20.205.243.166 -c4 PING 20.205.243.166 (20.205.243.166) 56(84) bytes of data. 64 bytes from 20.205.243.166: icmp_seq=1 ttl=111 time=95.1 ms 64 bytes from 20.205.243.166: icmp_seq=2 ttl=111 time=93.5 ms 64 bytes from 20.205.243.166: icmp_seq=3 ttl=111 time=95.6 ms 64 bytes from 20.205.243.166: icmp_seq=4 ttl=111 time=95.6 ms --- 20.205.243.166 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 93.541/94.954/95.568/0.833 ms root@ubuntu2404-001:~# As I said, it's not completely unresolvable, odds are it will fail, but pinging is possible, as is access via IP. After my repeated testing, I'm pretty sure and even more puzzled by the fact that the above problem occurs when the internal-subnet's dns- nameserver is set to google's 8.8.8.8 or 8.8.4.4! And switching to any other internal DNS(self-private) or 1.1.1.1 or 9.9.9.9 is no problem at all! ### now the internal-subnet information openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 8.8.8.8 | | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | |... +----------------------+--------------------------------------+ ###reset dns-nameserver for internal-subnet openstack subnet set --no-dns-nameservers internal-subnet openstack subnet set --dns-nameserver 1.1.1.1 internal-subnet openstack subnet show internal-subnet +----------------------+--------------------------------------+ | Field | Value | +----------------------+--------------------------------------+ | allocation_pools | 192.168.200.2-192.168.200.254 | | cidr | 192.168.200.0/24 | | created_at | 2024-08-30T02:39:23Z | | description | | | dns_nameservers | 1.1.1.1 | 8.8.8.8->1.1.1.1 | dns_publish_fixed_ip | None | | enable_dhcp | True | | gateway_ip | 192.168.200.1 | | host_routes | | |... +----------------------+--------------------------------------+ ### ovn dhcp dns_server changed ovn-nbctl dhcp-options-get-options 88e0b506-23b9-4925-9f82-aa329370a7bb server_mac=fa:16:3e:44:c0:57 router=192.168.200.1 server_id=192.168.200.1 mtu=1442 classless_static_route={169.254.169.254/32,192.168.200.2, 0.0.0.0/0,192.168.200.1} lease_time=43200 dns_server={1.1.1.1} ###reboot the vms, check it out root@ubuntu2404-001:~# resolvectl status Global Protocols: -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported resolv.conf mode: stub Link 2 (ens3) Current Scopes: DNS Protocols: +DefaultRoute -LLMNR -mDNS -DNSOverTLS DNSSEC=no/unsupported Current DNS Server: 1.1.1.1 DNS Servers: 1.1.1.1 cat /run/systemd/resolve/resolv.conf ... nameserver 1.1.1.1 search . root@ubuntu2404-001:~# nslookup www.github.com Server: 127.0.0.53 Address: 127.0.0.53#53 Non-authoritative answer: www.github.com canonical name = github.com. Name: github.com Address: 140.82.116.3 When performing nslookup, the return is so fast! root@ubuntu2404-001:~#ping www.github.com -c4 PING github.com (140.82.116.4) 56(84) bytes of data. 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=1 ttl=49 time=152 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=2 ttl=49 time=155 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=3 ttl=49 time=153 ms 64 bytes from lb-140-82-116-4-sea.github.com (140.82.116.4): icmp_seq=4 ttl=49 time=152 ms --- github.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3004ms rtt min/avg/max/mdev = 152.234/153.034/154.550/0.930 ms So, I really don't know why internal-subnet's dns-nameserver set to 8.8.8.8 or 8.8.4.4 why it doesn't resolve properly, and the same setup for other dns-nameserver surprisingly works fine. It seems to me that either none of the external nameservers are supported or all of them are, so why are only 8.8.8.8 and 8.8.4.4 not supported? I'm really curious as to what's going on... Thank you for reading and helping out. BR//Evt To manage notifications about this bug go to: https://bugs.launchpad.net/neutron/+bug/2078425/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp