Bộ định tuyến / tường lửa CentOS 6 dường như được điều chỉnh thông lượng


12

TL; DR

Bộ định tuyến / tường lửa CentOS6 NAT đằng sau kết nối modem cáp 120Mbps dường như được giới hạn thông lượng ở mức 30Mbps sau khi cập nhật gần đây và "cứng hóa" bảo mật.

Trước khi cập nhật và làm cứng tôi đã nhận được 90Mb / giây.

Tôi đã kiểm tra việc sử dụng CPU và mạng và cả hai điều này dường như không phải là yếu tố hạn chế. tckhông hiển thị bất kỳ hình dạng lưu lượng truy cập đang diễn ra và tôi không biết làm thế nào để khắc phục sự cố này hơn nữa.

Chi tiết

Tôi có một hệ thống CentOS 6 đang chạy như một bộ định tuyến / tường lửa NAT phía sau modem cáp Comcast, cũng đang chạy như một bộ định tuyến NAT

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

NAT kép là một di sản từ hệ thống CentOS trước đây được dùng làm bộ định tuyến / tường lửa đằng sau modem cáp Time-Warner chạy ở chế độ cầu. Khi tôi chuyển sang lãnh thổ Comcast, tôi dự định chuyển modem sang chế độ cầu nhưng không bao giờ có được nó và NAT kép không bao giờ gây ra sự cố. Tôi đã nhận được thông lượng 90Mbps mà không có vấn đề.

Khi chuẩn bị chuyển đổi sang chế độ bắc cầu trên modem Comcast, tôi quyết định "làm cứng" hệ thống CentOS bằng cách vô hiệu hóa một số dịch vụ không cần thiết và thực hiện "cập nhật yum", điều mà tôi đã không thực hiện trong một thời gian. Sau khi làm cứng tôi đã thực hiện một bài kiểm tra tốc độ và rất ngạc nhiên khi thấy thông lượng xuống tới 30Mb / giây.

Tôi đã thử kết nối trực tiếp hệ thống máy tính để bàn chính của mình với modem như thế này

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

Chạy speedtest.net đã xác minh rằng kết nối Comcast của tôi có khả năng 120Mbps, do đó, một cái gì đó tôi đã thay đổi trên hệ thống CentOS đã dẫn đến giới hạn thông lượng ở mức 30Mbps. Mỗi lần tôi thực hiện kiểm tra tốc độ từ mạng LAN (đằng sau hệ thống CentOS), tôi nhận được một giá trị trong vòng 1-2% của 30Mb / giây, do đó, hầu như cảm giác như có gì đó bị giới hạn một cách giả tạo.

Tôi nghĩ có lẽ hình dạng giao thông đã được kích hoạt bằng cách nào đó, nhưng tcdường như cho thấy nó không hoạt động

[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

"Làm cứng" bao gồm

  1. loại bỏ một số gói không cần thiết
  2. đóng cửa các dịch vụ không cần thiết
  3. thiết lập iptables để lọc tất cả lưu lượng truy cập ngoại trừ một cổng không chuẩn cho ssh
  4. cài đặt và cấu hình tripwire

Các gói đã xóa:

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

Các dịch vụ hiện được kích hoạt:

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 

Câu hỏi của tôi là: Tôi nên làm gì tiếp theo để tìm hiểu lý do tại sao bộ định tuyến CentOS 6 của tôi dường như bị giới hạn thông lượng ở mức 30Mb / giây?


Phương pháp khoa học ... Bạn đã làm gì để "làm cứng" hệ thống? Phần cứng nào đang được sử dụng? No co tôt cho sưc khỏe không?
ewwhite

@ewwhite xem các cập nhật cho bài viết.
Ex Umbris

Điều gì xảy ra nếu bạn vô hiệu hóa kiểm tra iptables?
ewwhite

Tôi đặt các chính sách mặc định thành CHẤP NHẬN trên cả ba chuỗi (đầu vào, chuyển tiếp, đầu ra) và xóa tất cả các quy tắc ... không thay đổi, vẫn là
30Mb / giây

Downvoter quan tâm để bình luận?
Ex Umbris

Câu trả lời:


17

Vì vậy, vấn đề ở đây hóa ra là vấn đề phần cứng. Mọi thứ đã hoạt động tốt một tháng trước và người ta không hy vọng phần cứng bị lỗi vẫn "hoạt động" ở chế độ xuống cấp, nhưng đó là điều đang xảy ra.

Bước khắc phục sự cố cho thấy vấn đề là thực sự nhìn vào đèn cổng ethernet ở mặt sau của modem cáp. Thay vì đèn "1Gbps" màu xanh lá cây, nó có màu cam, biểu thị "100Mbps". Trong chế độ đó, có vẻ như modem chỉ hỗ trợ thông lượng tối đa 30Mb / giây.

Tôi biết modem (Arris TG-852G) có cổng GBEthernet, vì vậy có điều gì đó đã ngăn Centos nói chuyện với modem với tốc độ 1Gbps. Sử dụng ethtooltôi đã thấy điều này:

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

mà về cơ bản đã nói (từ quan điểm của bộ chuyển đổi Centos) "Tôi có thể hỗ trợ GBEthernet và đang quảng cáo GBEthernet, nhưng máy ngang hàng không hỗ trợ GBEthernet - vì vậy tôi được kết nối ở tốc độ 100Mbps" .

Tôi đã thử các bản sửa lỗi khác nhau được đề xuất trong một số diễn đàn trực tuyến (bao gồm cả ở đây) như sử dụng một loại cáp khác, tắt tự động đàm phán, chỉ quảng cáo tốc độ 1 GB hoặc đặt tốc độ thành 1GB theo cách thủ công. Tắt tự động phủ định và thử một số cáp Cat6 khác nhau không có tác dụng, và hai cáp còn lại ngăn không cho kết nối được thiết lập.

Tôi kết luận nó phải là chính bộ chuyển đổi và đặt mua một bộ chuyển đổi mới. Khi được cài đặt, nó ngay lập tức được kết nối với tốc độ 1Gbps. Vấn đề được giải quyết.

Dĩ nhiên, đạo đức của câu chuyện là mặc dù các lỗi phần cứng trong các thiết bị không có bộ phận chuyển động ngày nay rất hiếm, nhưng chúng vẫn có thể và nên được loại bỏ trước khi đổ lỗi cho phần mềm.


1
Theo đầu ra này, ngang hàng thậm chí không cung cấp GBE, do đó, không có cấu hình nào của bạn sẽ ghi đè lên điều đó. Nếu đó là cáp xấu, bạn sẽ thấy tốc độ liên kết được thương lượng thấp hơn, nhưng bạn vẫn thấy GBE ở tốc độ được quảng cáo từ bạn bè. Cho rằng nó đã được giải quyết bằng cách thay đổi card mạng của bạn , điều đó có nghĩa là một cái gì đó ở mức rất thấp bên trong hoặc gần [G] MII đã hoạt động sai. Điều này đủ sâu vào lãnh thổ "kỳ lạ" mà tôi sẽ làm như hàng ngàn net.eng đã làm trước tôi và nói, "Tôi đổ lỗi cho phần sụn."
BMDan

7

Những gì tôi sẽ làm ở đây là hoàn nguyên các thay đổi riêng lẻ và chạy thử nghiệm tốc độ sau mỗi lần thay đổi hoặc hoàn nguyên tất cả các thay đổi. Điểm chuẩn một phiên bản chưa sửa đổi của CentOS (đường cơ sở) và sau đó áp dụng từng thay đổi riêng lẻ và chạy thử nghiệm tốc độ sau mỗi thay đổi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.