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