Ethernet sheild stops connecting after an extended period

i have same problem,
if you connectinc using DHCP , connection drops after 60 minuts
its easily fix problem
You need to use Ethernet.maintain() every 15-30 minuts

unsigned long previousMillis = 0;
int interval = 900000;

void loop()
{
unsigned long currentMillis = millis();
if(currentMillis - previousMillis > interval)
  {
    previousMillis = currentMillis;
    Ethernet.maintain();
    delay(100);
  }
}