After hours testing, I  think I found the problem.  My router has DHCP lease time  set as 120 mins, if I changes it to 2 mins, My Ethernet lost internet in few mins. It is the problem of  Openwrt DHCP Client problem.

The fix is:

nano  /lib/netifd/dhcp.script
setup_interface () {
        proto_init_update "*" 1
        proto_add_ipv4_address "$ip" "${subnet:-255.255.255.0}"
        # TODO: apply $broadcast

        for i in $router; do
                proto_add_ipv4_route 0.0.0.0 0 "$i"
                route add -net 0.0.0.0/0 gw "$i"
        done