У меня очень странная проблема, когда я вхожу на удаленную машину с помощью ssh. Вот сценарий:
ls
(оно работает)ls -a
(оно работает)ls -l
(оно работает)ls -al .bash_profile
(оно работает)ls -al
(он не работает после перечисления 2 каталогов ... третий каталог был бы .bash_profile)Когда я вхожу на этот компьютер с помощью ssh с другого компьютера в их локальной сети, все работает нормально.
Может ли кто-нибудь помочь мне отладить эту проблему.
Обновление1: Как и предложил Дэн, я попробовал поиграть с размером. Однако просто чтобы устранить любую проблему с ls
Я пробовал делать
$ls -al >> ls_op.txt (this worked)
Тогда я сделал
$ls >> ls.txt
пока размер ls.txt не стал 1020 байт, а затем сделал
$cat lx.txt
(это тоже сработало)
Я снова сделал "ls >> ls.txt", чтобы увеличить размер файла до 1024. Теперь размер файла был 1360 байт. Сейчас делаю
$cat ls.txt
(не смогли)
Так что определенно есть проблема, связанная с размерами пакетов. Вот еще немного информации. Есть 2 физических местоположения, скажем, A и B.
Когда я нахожусь у машины в A и вхожу в систему в B, я могу cat
файл размером более 1024 байтов.
Однако, когда кто-то сидит в B и входит в систему в A, они могут cat
файл размером менее 1024 байтов, но не может cat
файл размером более 1024 байтов.
Может ли кто-нибудь помочь мне со следующим шагом. Могу ли я редактировать файлы конфигурации на любой из машин, чтобы это работало, или для этого нужна некоторая настройка на сетевом уровне?
В очередной раз благодарим за помощь.
Обновление2:
ifconfig eth0 mtu 512
Изменение mtu машины в сети А решило проблему.
-
Спасибо
Parag
Я бы рискнул, что это MTU / фрагмент, связанный с локальной или вышестоящей сетью рабочей станции. Количество данных, возвращаемых ls -al
может быть достаточно, чтобы склонить чашу весов и привести к остановке. Я полагаю, что вы сможете воспроизвести то же поведение с любым большим объемом данных, например cat
'ing или SCP' для большого файла.
Обновить:
Судя по этой информации, это определенно связано с MTU. Скорее всего, это будет проблема на границе любой сети, и вам придется испачкать руки. Вы можете попробовать настроить внешний MTU / MSS любого маршрутизатора. Но оставьте индивидуальные настройки машины как можно более стандартными, если только внутренняя сеть не требует иного.
Существуют ли какие-либо конкретные протоколы, которые сознательно поглощают последние несколько байтов дейтаграммы, такие как PPP (oA или oE) и инкапсуляция VPN? Известно ли вам о блокировке PMTU (ICMP Destination Unreachable)? Можете ли вы выполнять и наблюдать за захватом пакетов на границе сети?