Маршрутизатор / брандмауер CentOS 6, схоже, пропускає продуктивність


12

TL; DR

Маршрутизатор / брандмауер CentOS6 NAT за кабельним модемним з'єднанням 120 Мбіт / с, схоже, обмежує пропускну здатність на 30 Мбіт / с після останніх оновлень та «загартовування» безпеки.

До оновлень і загартовування я отримував 90 Мбіт / с.

Я перевірив використання процесора та мережі, і жодне з них не є обмежуючим фактором. tcне показує, що трафік формується, і я не знаю, як вирішити цю проблему далі.

Деталі

У мене система CentOS 6 працює як NAT-роутер / брандмауер за кабельним модемом Comcast, який також працює як маршрутизатор NAT

                              1000     100
                              eth1     eth0
Internet-------Modem-------------CentOS6-----------------LAN
                     10.0.0.0/24         192.168.10.0/24

Подвійний NAT - це спадщина системи CentOS, яка раніше служила маршрутизатором / брандмауером за кабельним модемом Time-Warner, який працював у мостовому режимі. Коли я переїхав на територію Comcast, я мав намір переключити модем у режим мосту, але ніколи не обійшов його, і подвійний NAT ніколи не викликав проблем. Я отримував 90Mbps пропускну здатність без проблем.

Готуючись перейти в мостовий режим на модемі Comcast, я вирішив «загартувати» систему CentOS, відключивши деякі непотрібні сервіси та зробивши «обновку», чого я не робив за деякий час. Після затвердіння я зробив тест на швидкість і здивований, виявивши пропускну здатність до 30 Мбіт / с.

Я спробував підключити свою основну робочу систему безпосередньо до модему, як це

                          eth1     eth0
Internet---Modem-------------CentOS6-----------------LAN
              |  10.0.0.0/24         192.168.10.0/24
              |
              +--------------Desktop(Win7)

Запуск speedtest.net підтвердив, що моє з'єднання Comcast здатне до 120 Мбіт / с, тому щось, що я змінив у системі CentOS, призвело до обмеження пропускної здатності на 30 Мбіт / с. Кожен раз, коли я роблю тест на швидкість з локальної мережі (за системою CentOS), я отримую значення в межах 1-2% від 30 Мбіт / с, тому майже відчувається, що щось штучно обмежує пропускну здатність.

Я подумав, що, можливо, увімкнено формування трафіку, але, tcсхоже, це означає, що воно не активне

[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

«Загартовування» складалося з

  1. видалення зайвих пакетів
  2. вимкнення непотрібних послуг
  3. налаштування iptables для фільтрації всього вхідного трафіку, крім одного нестандартного порту для ssh
  4. встановлення та налаштування трипровідних проводів

Видалені пакети:

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

Наразі доступні послуги:

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 

Моє запитання: Що мені робити далі, щоб з'ясувати, чому мій маршрутизатор CentOS 6, здається, штучно обмежує пропускну здатність зі швидкістю 30 Мбіт / с?


Науковий метод ... Що ви зробили, щоб "загартувати" систему? Яке обладнання використовується? Це здорово?
ewwhite

@ewwhite дивіться оновлення до публікації.
Ex Exbrbris

Що станеться, якщо вимкнути перевірку iptables?
ewwhite

Я встановив політику за замовчуванням ACCEPT на всіх трьох ланцюгах (вхід, вперед, вихід) і очистив всі правила ... без змін, все ще 30Mbps
Ex Umbris

Доречні коментарі?
Ex Exbrbris

Відповіді:


17

Отже, проблема тут виявилася технічною проблемою. Щось місяць тому справи працювали нормально, і не сподіваємось, що невдале обладнання все ще «працює» в деградованому режимі, але ось що відбувалося.

Крок усунення несправностей, який виявив проблему, полягав у тому, щоб насправді подивитися на світло порту Ethernet на задній панелі кабельного модему. Замість зеленого світла "1Gbps" він був помаранчевим, що означає "100Mbps". У цьому режимі, здається, модем підтримує пропускну здатність лише до 30 Мбіт / с.

Я знаю, що модем (Arris TG-852G) має порти GBEthernet, тому щось перешкоджало Centos розмовляти з модемом на 1Gbps. Використовуючи, ethtoolя бачив це:

Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
        Link partner advertised pause frame use: Symmetric Receive-only
        Link partner advertised auto-negotiation: Yes
        Speed: 100Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: pumbg
        Wake-on: g
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

який, по суті, сказав (з точки зору адаптера Centos) "Я можу підтримувати GBEthernet і рекламую GBEthernet, але одноранговий не підтримує GBEthernet - тому натомість я підключений зі швидкістю 100 Мбіт / с" .

Я спробував різні виправлення, запропоновані в кількох форумах (включаючи тут), таких як використання іншого кабелю, вимкнення автоматичних переговорів, розміщення швидкості лише 1 ГБ або встановлення швидкості до 1 ГБ вручну. Вимкнення автоматичного відключення та спробу декількох різних кабелів Cat6 не дало жодного ефекту, а два інших заважали встановити з'єднання взагалі.

Я зробив висновок, що це повинен бути сам адаптер, і замовив новий адаптер. Коли він був встановлений, він негайно підключився зі швидкістю 1 Гбіт / с. Проблема вирішена.

Мораль цієї історії, звичайно, полягає в тому, що, хоча технічні збої в пристроях без рухомих частин є рідкісними в наші дні, вони все ще можливі і їх слід усунути, перш ніж звинувачувати програмне забезпечення.


1
Згідно з цим результатом, аналог буквально навіть не пропонує GBE, тому жодна кількість вашої конфігурації не перевершить це. Якби це був, наприклад, поганий кабель, ви побачили б меншу швидкість узгодженої лінії зв'язку, але ви все одно бачите GBE у рекламованих швидкостях від свого одноранця. Зважаючи на те, що це було вирішено шляхом зміни вашої мережевої картки, це означає, що щось на дуже низькому рівні всередині або поблизу [G] MII погано поводилося. Це досить глибоко в "дивну" територію, яку я зроблю так, як це робили тисячі net.engs перед мною і кажу: "Я звинувачую прошивку".
BMDan

7

Що я тут би робив - це відновити зміни окремо і виконати тест на швидкість після кожної або скасувати всі зміни. Визначте немодифіковану версію CentOS (базову лінію), а потім застосуйте кожну зміну окремо і виконайте тест швидкості після кожної зміни.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.