Thank you all.
I've confirmed that the problem is firewall related. I've replaced my current Untangle firewall with a simplest Linux NAT iptables firewall and everything works perfectly, without any complains.
Thank you very much for your kind help/suggestions.
Shi