At first I thought this was a misconfigured IPTABLES but it is not. Note that this is not an issue with LAN web requests, only WAN.
I temporarily deactivated all iptables chains except logging of all inbound and outbound. iptables logs that incomming requests are coming in but no responses going out. I've tried my desired port 80 but also a handful of higher ports as well.
Once I shutdown the openvpn client, the webserver listening on port 80 (nginx) is able to serve web pages to all IPs external from my LAN.
I can't find any logs on the machine that gives a clear answer. nginx logs indicate, or lack thereof, that no communication reaches it.
The impression that I am left with is that openvpn prevents all WAN ips from getting to any given port. Is there a way to prevent this behavior? at least on port 80?
Routing table prior to openvpn running:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Routing table while openvpn running:
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 0.0.0.0 10.10.10.57 0.0.0.0 UG 0 0 0 tun0 10.10.10.1 10.10.10.57 255.255.255.255 UGH 0 0 0 tun0 10.10.10.57 0.0.0.0 255.255.255.255 UH 0 0 0 tun0 18.104.22.168 192.168.0.1 255.255.255.255 UGH 0 0 0 eth0 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
Update2: After adding route-nopull to the openvpn client config file, I was able to serve web pages however the vpn has become useless. Almost there, but I do not know enough about routes to fix this issue.