TL; DR
Router / firewall CentOS6 NAT di belakang koneksi modem kabel 120Mbps tampaknya membatasi throughput pada 30Mbps setelah pembaruan terbaru dan keamanan "pengerasan".
Sebelum pembaruan dan pengerasan saya mendapatkan 90Mbps.
Saya telah memeriksa penggunaan CPU dan jaringan dan keduanya tidak menjadi faktor pembatas. tc
tidak menunjukkan pembentukan traffic yang terjadi dan saya tidak tahu bagaimana memecahkan masalah ini lebih lanjut.
Detail
Saya memiliki sistem CentOS 6 yang berjalan sebagai router NAT / firewall di belakang modem kabel Comcast, yang juga berjalan sebagai router NAT
1000 100
eth1 eth0
Internet-------Modem-------------CentOS6-----------------LAN
10.0.0.0/24 192.168.10.0/24
NAT ganda adalah warisan dari sistem CentOS yang sebelumnya berfungsi sebagai router / firewall di belakang modem kabel Time-Warner yang berjalan dalam mode jembatan. Ketika saya pindah ke wilayah Comcast saya bermaksud untuk mengganti modem ke mode bridge tetapi tidak pernah berhasil, dan NAT ganda tidak pernah menyebabkan masalah. Saya mendapatkan throughput 90Mbps tanpa masalah.
Dalam mempersiapkan untuk mengkonversi ke mode bridged pada modem Comcast saya memutuskan untuk "mengeraskan" sistem CentOS dengan menonaktifkan beberapa layanan yang tidak dibutuhkan dan melakukan "pembaruan yum", yang tidak saya lakukan dalam beberapa saat. Setelah pengerasan saya melakukan tes kecepatan dan terkejut menemukan throughput ke 30Mbps.
Saya mencoba menghubungkan sistem desktop utama saya langsung ke modem seperti ini
eth1 eth0
Internet---Modem-------------CentOS6-----------------LAN
| 10.0.0.0/24 192.168.10.0/24
|
+--------------Desktop(Win7)
Menjalankan speedtest.net memverifikasi bahwa koneksi Comcast saya mampu 120Mbps, jadi sesuatu yang saya ubah pada sistem CentOS telah menghasilkan pembatasan throughput pada 30Mbps. Setiap kali saya melakukan tes kecepatan dari LAN (di belakang sistem CentOS) saya mendapatkan nilai dalam 1-2% dari 30Mbps, sehingga hampir terasa seperti ada sesuatu yang membatasi throughput buatan.
Saya pikir mungkin traffic traffic diaktifkan entah bagaimana, tetapi tc
sepertinya mengindikasikan itu tidak aktif
[jhg@perseus ~]$ sudo tc -s qdisc
qdisc pfifo_fast 0: dev eth0 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 64159459406 bytes 44745482 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
qdisc pfifo_fast 0: dev eth1 root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 2871293442 bytes 26151570 pkt (dropped 0, overlimits 0 requeues 0)
rate 0bit 0pps backlog 0b 0p requeues 0
"Pengerasan" terdiri dari
- menghapus beberapa paket yang tidak dibutuhkan
- mematikan layanan yang tidak dibutuhkan
- mengatur iptables untuk memfilter semua lalu lintas masuk kecuali untuk satu port non-standar untuk ssh
- menginstal dan mengkonfigurasi tripwire
Paket yang dihapus:
redis dovecot
redhat-lsb-compat ipa-client
redhat-lsb nfs-utils-lib
redhat-lsb-printing nfs-utils
foomatic subversion
foomatic-db spamassassin
foomatic-db-ppds certmonger
cups yp-tools
mysql-server ypbind
mysql rpcbind
Layanan yang saat ini diaktifkan:
abrt-ccpp cpuspeed kdump nmb
abrt-oops crond lvm2-monitor ntpd
abrtd dhcpd mcelogd postfix
acpid dkms_autoinstaller mdmonitor rsyslog
atd haldaemon messagebus smb
auditd ip6tables named sshd
autofs iptables netfs sysstat
blk-availability irqbalance network udev-post
Pertanyaan saya adalah: Apa yang harus saya lakukan selanjutnya untuk mencari tahu mengapa router CentOS 6 saya tampaknya secara buatan membatasi throughput pada 30Mbps?
sumber
Jawaban:
Jadi, masalah di sini ternyata adalah masalah perangkat keras. Segalanya bekerja dengan baik sebulan yang lalu, dan orang tidak berharap perangkat keras yang gagal masih "bekerja" dalam mode terdegradasi, tetapi itulah yang terjadi.
Langkah pemecahan masalah yang mengungkapkan masalah ini adalah untuk benar-benar melihat lampu port ethernet di bagian belakang modem kabel. Alih-alih lampu hijau "1Gbps" berwarna oranye, menandakan "100Mbps". Dalam mode itu, tampaknya modem hanya mendukung throughput hingga 30Mbps.
Saya tahu modem (Arris TG-852G) memiliki port GBEthernet, jadi ada sesuatu yang mencegah Centos untuk berbicara dengan modem pada 1Gbps. Menggunakan
ethtool
saya melihat ini:yang pada dasarnya mengatakan (dari sudut pandang adaptor Centos) "Saya dapat mendukung GBEthernet, dan saya mengiklankan GBEthernet, tetapi rekan tidak mendukung GBEthernet - jadi saya terhubung pada 100Mbps sebagai gantinya" .
Saya mencoba berbagai perbaikan yang disarankan dalam beberapa forum online (termasuk di sini) seperti menggunakan kabel yang berbeda, mematikan negosiasi otomatis, hanya mengiklankan kecepatan 1GB, atau mengatur kecepatan ke 1GB secara manual. Mematikan auto-neg dan mencoba beberapa kabel Cat6 yang berbeda tidak berpengaruh, dan dua lainnya mencegah koneksi dibuat sama sekali.
Saya menyimpulkan itu harus menjadi adaptor itu sendiri dan memesan adaptor baru. Ketika diinstal, segera terhubung pada 1Gbps. Masalah terpecahkan.
Moral dari cerita ini adalah, tentu saja, bahwa meskipun kegagalan perangkat keras pada perangkat tanpa bagian yang langka saat ini, mereka masih mungkin dan harus dihilangkan sebelum menyalahkan perangkat lunak.
sumber
Apa yang akan saya lakukan di sini adalah mengembalikan perubahan secara individual dan menjalankan tes kecepatan setelah masing-masing atau mengembalikan semua perubahan. Benchmark versi CentOS yang tidak dimodifikasi (baseline) dan kemudian terapkan setiap perubahan satu per satu dan jalankan tes kecepatan setelah setiap perubahan.
sumber