Кажется, что маршрутизатор / межсетевой экран 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 никогда не вызывал проблем. Я получал пропускную способность 90 Мбит / с без проблем.

Готовясь к переходу в мостовой режим на модеме Comcast, я решил «укрепить» систему CentOS, отключив некоторые ненужные службы и выполнив «обновление yum», чего я не делал некоторое время назад. После закалки я проверил скорость и с удивлением обнаружил пропускную способность до 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. установка и настройка tripwire

Удаленные пакеты:

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 увидеть обновления к посту.
Бывший Умбрис
Что произойдет, если вы отключите проверку iptables?
ewwhite
Я установил политики по умолчанию ACCEPT для всех трех цепочек (вход, пересылка, вывод) и сбросил все правила ... без изменений, все еще 30 Мбит / с
Ex Umbris
Downvoter хотите прокомментировать?
Бывший Умбрис

Ответы:

17

Таким образом, проблема оказалась аппаратной. Месяц назад все работало нормально, и никто не ожидает, что неисправное оборудование все еще будет «работать» в ухудшенном режиме, но это то, что происходило.

Шаг устранения неполадок, который выявил проблему, состоял в том, чтобы фактически рассмотреть огни порта Ethernet на задней части кабельного модема. Вместо зеленого индикатора «1 Гбит / с» он был оранжевым, обозначая «100 Мбит / с». В этом режиме кажется, что модем поддерживает пропускную способность только до 30 Мбит / с или около того.

Я знаю, что модем (Arris TG-852G) имеет порты GBEthernet, поэтому что-то мешало Centos разговаривать с модемом на скорости 1 Гбит / с. Используя 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 (базовый уровень), затем примените каждое изменение индивидуально и запустите тест скорости после каждого изменения.

user9517
источник