VirtualBox bridged adapter can ping but can't curl
Well, I figured out this by myself.
I by accident found that I can
curl google.com but cannot
curl www.google.com and since the first one is rather smaller, I think this is a problem with MTU or something, causing the guest OS being unable to transfer large segment of data.
After googling "virtual bridged mtu" I found this post: https://forums.virtualbox.org/viewtopic.php?f=7&t=30632&start=0
Then I tried
ethtool -K eth2 sg off rx off tx off tso off in the Ubuntu Server (eth2 is the bridged interface), and... it works like a charm! Instantly