So after several days digging, i finally found the issue.
the issue wasn't:
- bad cable
- bad switch
- bad NIC
- or anything physical there
So actually, i'm using dnsmasq as the DNS and DHCP server for my home network. When you start dnsmasq, by default it will fail because the service of systemd-resolved is using same port 53 which is used by DNS. Many online guide on using dnsmasq is asking to just disable the systemd-resolved by using systemctl disable, but many source actually say that this service is very important for entire system and do it at your own risk.
So i decided to backup most of my home server settings, and then i reinstall the ubuntu and do some testing. In that testing on fresh system, i do find that the ethernet speed and negotiation are stable. So here my testing:
I tested that fresh system as only NAS for 1 day, without using it as DHCP and DNS server. PASS
I then reconfigure that system with dnsmasq but this time i dont disable systemd-resolved, but instead i follow the guide here: https://www.linuxuprising.com/2020/07/ubuntu-how-to-free-up-port-53-used-by.html.
vim /etc/systemd/resolved.conf
- add
DNSStubListener=no
- reboot system
And viola! now my home server work perfectly even better than my router, using my old gaming pc:
- Gigabyte X79 UD3
- i7 3820
- 32GB Corsair Dominator 1600 C9
- 4x4 TB HDD in raid z1
- 1 NVMe for main purpose
- 64GB Sandisk USB 3.2 as boot
- Realtek 8125 PCIe 2.5gbe 4 port
And there we go!