Я использую Ubntu 12.04 Server в качестве шлюза / маршрутизатора. Сервер имеет две карты NetXtreme BCM5721 Gigabit Ethernet PCI Express для интерфейсов LAN и WAN. Программное обеспечение для мониторинга Opennms показывает отбрасывание входящих пакетов на интерфейсе WAN (ISP). Интернет-провайдер обеспечивает прямое подключение к Ethernet через кольцо SDH / SONET. Однако я не вижу отбрасывания пакетов на интерфейсе LAN. Вот график интерфейса WAN:
Существуют ли какие-либо инструменты / команды, чтобы выяснить, что отвечает за такие отбрасывания пакетов. Можно ли узнать, не вызывает ли такая проблема некоторая неправильная конфигурация на стороне провайдера?
Вывод ifconfig:
eth1 Link encap:Ethernet HWaddr **:**:**:**:63:5d
inet addr:***.***.4.130 Bcast:***.***.4.131 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:865089489 errors:0 dropped:596 overruns:0 frame:3
TX packets:498072410 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1092458492329 (1.0 TB) TX bytes:48179244881 (48.1 GB)
Interrupt:17
В ethtool
Команда используется для запроса у драйвера статистики, которую сообщает сетевая карта. ethtool -S ethX
покажет вам статистику для конкретной карты, и вы увидите, где выпадают.
Чаще всего вы будете терять пакеты в кольцевом буфере (сообщается как статистика типа «discard», «fifo» «bufs», она меняется от карты к карте), и вы решаете эту проблему, увеличивая кольцевой буфер с помощью ethtool -g
. Видеть man ethtool
для большего.
В netstat
Команда используется для запроса сетевого стека ядра. netstat -s
покажет вам статистику, и вы сможете увидеть, теряете ли вы трафик в журнале очереди (после NIC, но до буфера сокета) или в буферах сокетов (слишком маленькие буферы или медленное приложение) или где-то еще.