Здравствуйте господа.
Следующий вопрос:
Есть шлюз с пробросом портов на компьютер в локальной сети.
Так вот на этот компьютер порой проброшенные пакеты не доходят.
Когда делаю на шлюзе tcpdump то по его завершению получаю
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
134 packets captured
15064 packets received by filter
14771 packets dropped by kernelЧто это за пакеты такие 14771 packets dropped by kernel ?
Можно ли как либо включить логирование дропнутых ядром пакетов средствами iptables ну или хотябы просмотреть при помощи tcpdump или еще как либо?
> 134 packets captured
> 15064 packets received by filter
> 14771 packets dropped by kernel
> Что это за пакеты такие 14771 packets dropped by kernel ?Читать документацию ( а конкретно man tcpdump) не пробовали? Говорят, что это очень часто помогает.
>[оверквотинг удален]
> Так вот на этот компьютер порой проброшенные пакеты не доходят.
> Когда делаю на шлюзе tcpdump то по его завершению получаю
> tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
> listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
> 134 packets captured
> 15064 packets received by filter
> 14771 packets dropped by kernel
> Что это за пакеты такие 14771 packets dropped by kernel ?
> Можно ли как либо включить логирование дропнутых ядром пакетов средствами iptables ну
> или хотябы просмотреть при помощи tcpdump или еще как либо?tcpdump -nn
Хотя чтение документации все равно настоятельно рекомендуется.
Есть куча отличных статей (не просто документации!), где все детально разжевано.
>[оверквотинг удален]
>> listening on eth1, link-type EN10MB (Ethernet), capture size 96 bytes
>> 134 packets captured
>> 15064 packets received by filter
>> 14771 packets dropped by kernel
>> Что это за пакеты такие 14771 packets dropped by kernel ?
>> Можно ли как либо включить логирование дропнутых ядром пакетов средствами iptables ну
>> или хотябы просмотреть при помощи tcpdump или еще как либо?
> tcpdump -nn
> Хотя чтение документации все равно настоятельно рекомендуется.
> Есть куча отличных статей (не просто документации!), где все детально разжевано.Ок. Это просто пакеты не поместившиеся в буфер тцпдампа, если я верно понял.
Но в любом случае проблема остается. На компьютер во внутренней сети пакеты пробрасываются не всегда. Как можно отследить подобное?
> Ок. Это просто пакеты не поместившиеся в буфер тцпдампа, если я верно
> понял.Неверно Вы поняли. Это пакеты, которые были помещены в буфер ядра, но не были обработаны тцпдампом по причине переполнения буфера (вариант - осуществлялся ДНС - резолвинг - поэтому Вам и предложили отключить его при помощи -n), отведенного ядром. В итоге эти пакеты были перезаписаны в буфере и не были обработаны тцпдампом.
> Но в любом случае проблема остается. На компьютер во внутренней сети пакеты
> пробрасываются не всегда. Как можно отследить подобное?Что Вы понимаете под этими словами - лчино мне неведомо. Раскройте тему. Они, например, могут быть не "проброшены" по причине того, что на сетевой карте стоит большой поток и они просто дропаются - тут Вам ethtool в помощь. Они могут быть дропнуты Вашим файрволлом по той или иной причине - тут перед запрещающим правилом (DROP) можно поставить, например, -j LOG --log-prefix="DROPPED:" - тогда Вы отследите дропнутые пакеты (но только в случае, если их причиной было запрещающее правило файрволла). Собственно, в этом случае общую статистику можно увидеть напротив запрещающего правила, если выдать команду iptables -nvL INPUT (или FORWARD - если пакеты ходят во внутреннюю сеть через сервер).
>[оверквотинг удален]
> Что Вы понимаете под этими словами - лчино мне неведомо. Раскройте
> тему. Они, например, могут быть не "проброшены" по причине того, что
> на сетевой карте стоит большой поток и они просто дропаются -
> тут Вам ethtool в помощь. Они могут быть дропнуты Вашим файрволлом
> по той или иной причине - тут перед запрещающим правилом (DROP)
> можно поставить, например, -j LOG --log-prefix="DROPPED:" - тогда Вы отследите дропнутые
> пакеты (но только в случае, если их причиной было запрещающее правило
> файрволла). Собственно, в этом случае общую статистику можно увидеть напротив запрещающего
> правила, если выдать команду iptables -nvL INPUT (или FORWARD - если
> пакеты ходят во внутреннюю сеть через сервер).Я делал iptables -L -x -v по счетчикам есть несколько срабатываний на правилах которые делают DROP но это не совсем то.
>[оверквотинг удален]
> Что Вы понимаете под этими словами - лчино мне неведомо. Раскройте
> тему. Они, например, могут быть не "проброшены" по причине того, что
> на сетевой карте стоит большой поток и они просто дропаются -
> тут Вам ethtool в помощь. Они могут быть дропнуты Вашим файрволлом
> по той или иной причине - тут перед запрещающим правилом (DROP)
> можно поставить, например, -j LOG --log-prefix="DROPPED:" - тогда Вы отследите дропнутые
> пакеты (но только в случае, если их причиной было запрещающее правило
> файрволла). Собственно, в этом случае общую статистику можно увидеть напротив запрещающего
> правила, если выдать команду iptables -nvL INPUT (или FORWARD - если
> пакеты ходят во внутреннюю сеть через сервер).[root@gateway ~]# ethtool eth1
Settings for eth1:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pumbag
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yesЕсли это может чем то помочь.
Они, например, могут быть не "проброшены" по причине того, что на сетевой карте стоит большой поток и они просто дропаются - тут Вам ethtool в помощь. - Как это проверить?
> Они, например, могут быть не "проброшены" по причине того, что на сетевой
> карте стоит большой поток и они просто дропаются - тут Вам
> ethtool в помощь. - Как это проверить?Буду банален, но man ethtool. Та информация, которую Вы выше привели - абсолютно бесполезна. Ну, разве что показывает, что карта на гиге стоит. Поток на инфтерфейсах показывает iptraf (например) - ну, или его новый клон - iptraf-ng. ifconfig показывает дропнутые (в том числе) пакеты. Попутно могу сказать, что пакеты могут (например) не дойти до внутренних машин (в LAN) - если применяется шейпинг и загрузка процессора велика, или очередь какого-нибудь HTB (или чего там в качестве дисциплины) мала.
>> Они, например, могут быть не "проброшены" по причине того, что на сетевой
>> карте стоит большой поток и они просто дропаются - тут Вам
>> ethtool в помощь. - Как это проверить?
> Буду банален, но man ethtool. Та информация, которую Вы выше привели
> - абсолютно бесполезна. Ну, разве что показывает, что карта на гиге
> стоит. Поток на инфтерфейсах показывает iptraf (например) - ну, или его
> новый клон - iptraf-ng. ifconfig показывает дропнутые (в том числе) пакеты.
> Попутно могу сказать, что пакеты могут (например) не дойти до внутренних
> машин (в LAN) - если применяется шейпинг и загрузка процессора велика,
> или очередь какого-нибудь HTB (или чего там в качестве дисциплины) мала.[root@gateway ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:E0:81:D4:DA:01
inet addr:91.197.49.170 Bcast:91.197.49.175 Mask:255.255.255.248
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:27928876 errors:1 dropped:0 overruns:0 frame:1
TX packets:8360001 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:9252091885 (8.6 GiB) TX bytes:459525864 (438.2 MiB)
Interrupt:177 Memory:f7be0000-f7c00000eth1 Link encap:Ethernet HWaddr 00:E0:81:D4:DA:02
inet addr:91.197.48.90 Bcast:91.197.48.91 Mask:255.255.255.252
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:975755609 errors:2 dropped:0 overruns:0 frame:2
TX packets:836150127 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:645441548598 (601.1 GiB) TX bytes:215316370425 (200.5 GiB)
Interrupt:169 Memory:f7ae0000-f7b00000eth4 Link encap:Ethernet HWaddr 00:1B:21:51:2F:08
inet addr:192.168.0.1 Bcast:192.168.0.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:429276126 errors:0 dropped:0 overruns:0 frame:0
TX packets:451634654 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:123166572203 (114.7 GiB) TX bytes:214753381677 (200.0 GiB)
Memory:f8be0000-f8c00000eth5 Link encap:Ethernet HWaddr 00:1B:21:51:2F:09
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:372642955 errors:0 dropped:0 overruns:0 frame:0
TX packets:449583577 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:145357047623 (135.3 GiB) TX bytes:474256967059 (441.6 GiB)
Memory:f9ae0000-f9b00000lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:5506 errors:0 dropped:0 overruns:0 frame:0
TX packets:5506 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:444072 (433.6 KiB) TX bytes:444072 (433.6 KiB)
Тут я так понимаю мы можем видеть что пакеты не дропаются аппаратно. Так?
> Тут я так понимаю мы можем видеть что пакеты не дропаются аппаратно.
> Так?Ну - явно их не видно. :) А man ethtool так и остался неохвачен? Он намного больше информации дает. Правил iptables много? Шейпинг есть? Надо еще смотреть iptraf - параметр PPS (пакетов в секунду). Трафик может быть и небольшим, но с большим количеством мелких пакетов (пример, торренты). Практика показывает, что без дополнительного тюнинга роутеры на Линукс начинают терять пакеты где-то на величине порядка 30К PPS (вроде так у нас было - пока от софтовых роутеров не перешли на CISCO SCE-2000). От типов сетевых карт тоже очень сильно зависит способность "держания" большие сетевые нагрузки. Интеловские карты с большим количество аппаратных очередей показывают очень приличные показатели. Но и стоят недурно... А вообще - если у Вас речь идет о "гиговых" каналах - сетевой стек надо тюнить. Вроде статья по тюнингу была даже здесь - на опеннете.
>[оверквотинг удален]
> секунду). Трафик может быть и небольшим, но с большим количеством мелких
> пакетов (пример, торренты). Практика показывает, что без дополнительного тюнинга роутеры
> на Линукс начинают терять пакеты где-то на величине порядка 30К PPS
> (вроде так у нас было - пока от софтовых роутеров не
> перешли на CISCO SCE-2000). От типов сетевых карт тоже очень сильно
> зависит способность "держания" большие сетевые нагрузки. Интеловские карты с большим количество
> аппаратных очередей показывают очень приличные показатели. Но и стоят недурно... А
> вообще - если у Вас речь идет о "гиговых" каналах -
> сетевой стек надо тюнить. Вроде статья по тюнингу была даже здесь
> - на опеннете.Сетевые карты интеловые и есть
модели сейчас не вспомню
но четырехпортовые гигабитные пси-е да там цены порядка тыщи уе за штуку.
Ладно будем пытаться охватить ethtool
>[оверквотинг удален]
> секунду). Трафик может быть и небольшим, но с большим количеством мелких
> пакетов (пример, торренты). Практика показывает, что без дополнительного тюнинга роутеры
> на Линукс начинают терять пакеты где-то на величине порядка 30К PPS
> (вроде так у нас было - пока от софтовых роутеров не
> перешли на CISCO SCE-2000). От типов сетевых карт тоже очень сильно
> зависит способность "держания" большие сетевые нагрузки. Интеловские карты с большим количество
> аппаратных очередей показывают очень приличные показатели. Но и стоят недурно... А
> вообще - если у Вас речь идет о "гиговых" каналах -
> сетевой стек надо тюнить. Вроде статья по тюнингу была даже здесь
> - на опеннете.x Total rates: 2788.0 kbits/sec Broadcast packets: 1 x
x 957.0 packets/sec Broadcast bytes: 82 x
x x
x Incoming rates: 2211.7 kbits/sec x
x 497.4 packets/sec x
x IP checksum errors: 0 x
x Outgoing rates: 576.3 kbits/sec x
x 459.6 packets/secОно?
> Оно?Понятия не имею. Возможно - и "оно". А "оно" - это "что" должно быть? PPS - там мизер. Общего трафика - тоже с гулкин ...нос.