this is been puzzling me for months now, i tried to google this, but results are often irrelevant, like questions about why is something not working for someone and how to deal with firewall problems.
i have the opposite situation, my tunnel works when i think it should not.
this is my setup: i have windows 7 running in virtualbox on ubuntu 14.04. (the nic is virtualbox NAT)
the ubuntu is connected to a Net gear router then to my cable modem then to internet.
i believe i have some firewalls on both windows and ubuntu but i definitely have a firewall on the router that rejects incoming packets, unless the connection was initiated from behind the firewall.
now my question is why can i run a open vpn client in windows 7 and successfully connect to internet over udp ports?
i understand why tcp would work. tcp connections are initiated by the client in windows, therefore openvpn server replies should go thru the firewall.
but udp is stateless. it is fire and forget, my windows 7 client would fire something to openvpn server and forget, then the server would fire something back and forget, to the firewall on the router this should look like a connection being initiated from the outside, and the firewall should block this but it doesnt and my udp tunnel works? amazing stuff.