Копія файла праз тунель спыняецца на секунду, аднаўляецца, а журналы 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 адчуваецца лепш» у нешта, на чым зможа будаваць наступны інжынер.

Падобныя артыкулы