Несъответствие на дуплекса на порт на VPN шлюз: четете двата края
Порт 10/100, който договаря скорост, но не дуплекс, дава грешки под натоварване. Прочетете работния режим на двата края и след това сравнете броячите за еднакъв интервал.
Копиране на файл през тунела застива за секунда, продължава и регистрите на VPN не показват нищо. Приложението обвинява мрежата, мрежата обвинява приложението, а портът на комутатора е включен от единадесет месеца. Този преглед започва от паузата и стига до физическата връзка: какво всъщност прави портът, какво прави далечният край и какво направиха броячите, докато наблюдавахте. Струва си да се направи, преди някой да пипне настройка на дуплекса.
Започнете от паузата, а не от порта
Опишете симптома така, че да може да се тества. Застой от около секунда при масов трансфер е различен проблем от връзка, която се нулира, а пауза веднъж в час е различна от такава на всеки няколко секунди. Запишете натоварването, посоката и приблизителния интервал.
След това го възпроизведете, докато наблюдавате интерфейса. Физическият проблем се проявява като движение в броячите по време на засегнатото натоварване, а проблем, който изобщо не предизвиква движение на броячите, вероятно е над каналния слой. Наблюдавайте минута, не секунда, защото тези дефекти често се нуждаят от продължителен трафик, преди да се появят. Наблюдението в покой не доказва нищо за връзка, която се държи зле само под натоварване.
Това е важно, защото несъответствието на дуплекса има подпис: грешки, които се появяват само под натоварване, по посока на трафика, докато малките ping и интерактивните сесии остават безупречни. Ако трафикът в покой също се проваля, първо потърсете другаде.
Прочетете работния режим на двата края
Запазената конфигурация не е работното състояние. Порт може да е конфигуриран за автоматично договаряне и да се окаже на половин дуплекс, или да е конфигуриран за фиксирана скорост, с която другият край никога не се е съгласил. Прочетете какво прави връзката в момента от двете страни.
ethtool eth0 ethtool -S eth0 | grep -iE 'error|drop|collision|fcs' ip -s link show eth0
Запишете скоростта, дуплекса и дали автоматичното договаряне е включено, след което вземете същите три факта от съседния комутатор или от порта на доставчика. Само един край не ви казва нищо, защото несъответствието е връзка, а не настройка. Поставете двата реда един до друг в тикета, с времето, в което сте ги прочели. Половината от стойността на упражнението е двете показания да са на едно място.
Ако не можете да прочетете далечния край, не можете да диагностицирате това. Поискайте от собственика работния режим и броячите или уредете достъп, преди да започнете да променяте своята страна.
Как изглежда случаят 10/100 на половин дуплекс
При медни връзки 10/100 крайна точка с автоматично договаряне може да открие скоростта на принудително зададен партньор, без да научи неговата настройка на дуплекса. Паралелното откриване определя скоростта от сигнала, а дуплексът се предполага, а не се договаря, така че едната страна може да се окаже на половин дуплекс, докато другата работи на пълен.
Указанията на Cisco за автоматично договаряне обясняват точно този случай. Това не е аргумент за изключване на договарянето навсякъде и не казва нищо полезно за гигабитовата мед, където дуплексът е фиксиран и автоматичното договаряне е задължително, за да се вдигне връзката изобщо.
Наблюдаемите доказателства са смесица от грешки, които съществуват само в една посока: FCS или CRC грешки от страната на пълния дуплекс, колизии или късни колизии от страната на половин дуплекс и пропускливост, която се срива под натоварване, докато латентността остава нормална в покой. Тази асиметрия е подписът. Връзка, която просто е претоварена, се влошава в двете посоки и по всяко време.
Променете двата края заедно, с път за връщане
Корекцията на дуплекса е координирана промяна, не локална. Принуждаването на вашата страна без съгласието на далечния край е начинът работеща връзка да стане счупена, а приемането на командата от CLI доказва само, че синтаксисът е бил валиден.
sudo ethtool -s eth0 speed 100 duplex full autoneg off ethtool eth0
Преди да стартирате нещо подобно, потвърдете, че платформата поддържа комбинацията и че далечният край ще бъде променен в същия прозорец. Запазете независим начин за администриране на устройството, защото портът, който ще промените, може да е този, който носи вашата административна сесия.
При много съвременни връзки правилният отговор е да оставите автоматичното договаряне включено от двата края, вместо да принуждавате нещо. Принуждаването е средство за конкретно несъответствие при конкретна технология, а не общо подобрение. Именно гигабитовата мед се нуждае от автоматично договаряне, за да вдигне връзката изобщо, така че съветът за 10/100 не се пренася.
Потвърдете, че броячите са се променили към по-добро
След промяната прочетете отново работното състояние на двата края и потвърдете, че съвпадат. След това пуснете същото натоварване, което предизвика паузата, и сравнете разликите в броячите, а не общите стойности за целия период, защото обща стойност, трупана година, не може да ви каже какво се е случило в последните десет минути.
ethtool -S eth0 | grep -iE 'error|drop|collision|fcs' ip -s link show eth0 ping -f -c 200 10.90.0.1
Връзка без нови грешки при същото натоварване е доказателството, което ви липсваше. Връзка, която още дава грешки, или такава, при която броячите изобщо не са се движили, ви праща към следващата граница, вместо по-дълбоко в спора за дуплекса. И двата изхода са напредък, което е повече, отколкото конфигурационният файл може да ви даде. Не пропускайте второто четене, защото първото е изглеждало правилно.
Запишете числата преди и след в тикета с времеви маркери. Именно този запис превръща «VPN-ът се усеща по-добре» в нещо, върху което следващият инженер може да надгражда.