GUI will not load on IPv4, only IPv6.

I have syncthing installed on a cloud VM (Ubuntu on Azure, with an NSG limiting incoming syncthing connections to only other known IP’s). This is a web server, so 80 and 443 respond on both IPv4 and IPv6, the VM has IPv6 enabled.

I am not able to access the GUI over IPv4, and when I use netstat I see this:

root@sr66-vmname-01:~# netstat -tulpn | grep 8384

tcp6 0 0 :::8384 :::* LISTEN 12423/syncthing

I’ve searched extensively for the fix and I am stumped. I’m fine with it being available over ipv6, but I need it accessible on ipv4 as well. This is my current GUI config:

221     <gui enabled="true" tls="true" debugging="false" sendBasicAuthPrompt="false"> 

222         <address>0.0.0.0:8384</address> 

223         <user>surfrock66</user> 

224         <password>--------</password> 

225         <metricsWithoutAuth>false</metricsWithoutAuth> 

226         <apikey>--------</apikey> 

227         <theme>dark</theme> 

228     </gui>

This is the listener config:

231 tcp4://0.0.0.0:22000

232 quic4://0.0.0.0:22000

233 default-v4

That’s normal and that socket is reachable on v4 as well. What are you seeing that indicates it isn’t? I would suspect firewalls, primarily.

I guess I am not sure. This is ubuntu; ufw is inactive, there’s no iptables rules, and as it’s Azure, I have an NSG allowing inbound 8384 only from my IPv4 IP, a rule which works for Zabbix monitoring, SSH, and the syncthing syncing:

I have multiple other VMs (albeit at different cloud platforms) that work fine with the same config; and syncthing itself is up.

Additionally I can telnet to the non-syncthing ports on the Azure VM from the allowed IP, but I cannot telnet to either 8384 or 22000 on IPv4.