CentOS 6 라우터 / 방화벽이 처리량을 조절하는 것 같습니다


12

TL; DR

120Mbps 케이블 모뎀 연결 뒤의 CentOS6 NAT 라우터 / 방화벽은 최근 업데이트 및 보안 "강화"후 30Mbps로 처리량을 제한하는 것으로 보입니다.

업데이트 및 강화하기 전에 90Mbps를 얻었습니다.

CPU와 네트워크 사용량을 확인했는데 그중 어느 것도 제한 요인이 아닌 것 같습니다. tc트래픽 형성이 표시되지 않으며이 문제를 해결하는 방법을 모르겠습니다.

세부

Comcast 케이블 모뎀 뒤에 NAT 라우터 / 방화벽으로 실행되는 CentOS 6 시스템이 있으며 NAT 라우터로도 실행됩니다

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

이중 NAT는 이전에 브리지 모드에서 실행되었던 Time-Warner 케이블 모뎀 뒤에 라우터 / 방화벽으로 사용되었던 CentOS 시스템의 유산입니다. Comcast 지역으로 옮길 때 모뎀을 브리지 모드로 전환하려고했지만 결코 연결되지 않았으며 이중 NAT는 문제를 일으키지 않았습니다. 문제없이 90Mbps 처리량을 얻었습니다.

Comcast 모뎀에서 브리지 모드로 변환 할 준비를 할 때 불필요한 서비스를 비활성화하고 한동안 수행하지 않은 "yum update"를 수행하여 CentOS 시스템을 "강화"하기로 결정했습니다. 강화 후 속도 테스트를 수행하여 처리량이 30Mbps로 낮아지는 것에 놀랐습니다.

기본 데스크톱 시스템을 이와 같이 모뎀에 직접 연결하려고했습니다.

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

speedtest.net을 실행하면 Comcast 연결이 120Mbps를 지원하는지 확인 했으므로 CentOS 시스템에서 변경 한 내용으로 인해 처리량이 30Mbps로 줄었습니다. LAN (CentOS 시스템 뒤)에서 속도 테스트를 수행 할 때마다 30Mbps의 1-2 % 내에서 값을 얻으므로 인위적인 처리량을 느끼는 것처럼 느껴집니다.

트래픽 조절이 어떻게 든 활성화 될 수 있다고 생각했지만 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. ssh에 대한 하나의 비표준 포트를 제외하고 들어오는 모든 트래픽을 필터링하도록 iptables 설정
  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 라우터가 인위적으로 30Mbps로 처리량을 제한하는 것처럼 보이는 이유를 파악하려면 다음에 무엇을해야합니까?


과학적인 방법 ... 시스템을 "강화"시키기 위해 무엇을 했습니까? 어떤 하드웨어를 사용하고 있습니까? 건강합니까?
ewwhite

@ewwhite는 게시물의 업데이트를 봅니다.
Ex Umbris

iptables 검사를 비활성화하면 어떻게됩니까?
ewwhite

나는 세 가지 체인 (입력, 앞으로, 출력)에 동의하는 기본 정책을 설정하고 모든 규칙 ... 아니 변화를 플러시 여전히 30Mbps의
예 Umbris

Downvoter가 댓글을 달고 싶으십니까?
Ex Umbris

답변:


17

따라서 여기서 문제는 하드웨어 문제로 판명되었습니다. 한 달 전에 문제가 해결되지 않았으며, 하드웨어가 실패한 모드에서 여전히 "작동"할 것으로 기대하지는 않지만 그 일이 벌어지고 있습니다.

문제를 밝혀낸 문제 해결 단계는 실제로 케이블 모뎀 뒷면의 이더넷 포트 표시등을 확인하는 것이 었습니다. 녹색 "1Gbps"표시 등 대신 주황색으로 표시되어 "100Mbps"를 나타냅니다. 이 모드에서는 모뎀이 최대 30Mbps 정도의 처리량 만 지원하는 것으로 보입니다.

모뎀 (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을 지원하지 않으므로 대신 100Mbps로 연결되어 있습니다. "

다른 케이블 사용, 자동 협상 끄기, 1GB 속도 만 광고 또는 속도를 수동으로 1GB로 설정하는 등 여러 온라인 포럼 (여기 포함)에서 제안한 다양한 수정을 시도했습니다. 자동 전원을 끄고 여러 가지 Cat6 케이블을 사용해도 아무런 효과가 없었으며 다른 두 케이블은 전혀 연결되지 않았습니다.

어댑터 자체 여야한다고 결론 내리고 새 어댑터를 주문했습니다. 설치되면 즉시 1Gbps로 연결됩니다. 문제 해결됨.

물론 요즘 부품을 옮기지 않은 장치의 하드웨어 고장은 드물지만 소프트웨어를 비난하기 전에 여전히 가능하고 제거해야한다는 것은 이야기의 교훈입니다.


1
이 출력에 따르면, 피어는 문자 그대로 GBE를 제공하지 않으므로 구성의 양이이를 무시하지 않습니다. 예를 들어 불량 케이블 인 경우 협상 된 링크 속도가 느리지 만 여전히 동료의 광고 속도에 GBE가 표시됩니다. 네트워크 카드 를 변경 하여 문제가 해결 된 경우 [G] MII 내부 또는 근처에서 매우 낮은 수준의 무언가가 잘못 작동했음을 의미합니다. 이것은 "이상한"영역에 충분히 깊이 들어가서 수천 개의 net.engs가 나보다 먼저 할 것입니다. "펌웨어를 탓합니다."
BMDan

7

내가 여기서 할 일은 변경 사항을 개별적으로 되돌리고 각각 후에 속도 테스트를 실행하거나 모든 변경 사항을 되 돌리는 것입니다. 수정되지 않은 CentOS 버전 (기준)을 벤치마킹 한 다음 각 변경 사항을 개별적으로 적용하고 각 변경 후 속도 테스트를 실행하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.