Это странно. У меня есть 2 удаленные сети, между которыми я передаю файлы через Интернет. Вчера не удалось выполнить обычное резервное копирование, поэтому я начал его изучать. Несколько месяцев я без проблем передавал файлы между этими двумя сетями.
Спустя несколько часов отладки я пришел к этой диаграмме:
По сути, я не могу передать какой-либо большой файл (> 50 МБ) из сети A на любое устройство за обоими маршрутизаторами в сети B. Неважно, инициирую ли я передачу из сети A или из сети B. Он подключится и начать передачу, а затем через несколько секунд (кажется, от 5 до 60 секунд) передача не выполняется.
Я могу без проблем переходить из сети A в другие сети. Я даже могу без проблем передавать данные на устройства в сети B, которые находятся за NAT-маршрутизатором 1. Маленькие файлы работают нормально (большую часть времени). Файлы большего размера начинаются нормально, а затем терпят неудачу.
Когда я инициирую передачу rsync из сети B (отправка файла из A в B).
...several more identical lines (depends on how soon it fails)...
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
ssh_dispatch_run_fatal: Connection to XXX.XXX.XXX.XXX port 22: message authentication code incorrect
Sometimes ---> debug3: mux_client_read_packet: read header failed: Broken pipe
Когда я инициирую передачу из сети A (все еще отправляю из A в B)
...several more identical lines (depends on how soon it fails)...
debug2: channel 0: rcvd adjust 131072
debug2: channel 0: rcvd adjust 131072
debug3: send packet: type 1
packet_write_wait: Connection to XXX.XXX.XXX.XXX port 22: Broken pipe
rsync: writefd_unbuffered failed to write 4 bytes to socket [sender]: Broken pipe (32)
Передача также не выполняется при попытке загрузить большой файл по HTTPS из сети A в сеть B. Когда я запускаю curl, я получаю:
curl: (56) OpenSSL SSL_read: error:1408F119:SSL routines:SSL3_GET_RECORD:decryption failed or bad record mac, errno 0
Я наблюдаю такое же поведение с несколькими файлами и с несколькими компьютерами в сети B, которые находятся за обоими маршрутизаторами.
В качестве небольшого обновления я заметил ту же проблему во время интерактивного сеанса SSH. Если я запускаю команду, которая выводит много данных на экран, иногда мой сеанс SSH отключается с ошибкой недопустимого MAC.
Маршрутизатор NAT 2 - это Cisco RV320. В качестве эксперимента я временно отключил брандмауэр (см. Снимок экрана ниже). Теперь передача работает, но это также приводит к поражению точки маршрутизатора (он предназначен для создания защищенного внутреннего уровня моей сети). Есть идеи, как действовать дальше? Настройка брандмауэра для меня непонятна (это просто флажок). Я не уверен, что он на самом деле делает под капотом.
Кстати, я пробовал индивидуально отключить SPI, Block WAN Request и DoS, но ни один из этих параметров не дал никакого эффекта. Только основная настройка брандмауэра (которая автоматически отключает остальные) сделала свое дело.
Я поговорил с техподдержкой Cisco, и они попросили меня подключить маршрутизатор напрямую к модему в качестве теста (в обход NAT Router 1). В этой среде передача прошла успешно. Итак, проблема связана с комбинацией обоих маршрутизаторов.
Я включил все доступные параметры журнала для маршрутизатора Cisco и выполнил несколько неудачных передач, но в журналах ничего не отображается. На данный момент я не совсем уверен, что делать дальше. Я могу обновить прошивку NAT Router 1 просто для удовольствия.
Просто чтобы закрыть это. «Решением» для меня было отказаться от RV320 в пользу DrayTek Vigor 2925.
С момента переключения я попробовал всего пару передач, но один был довольно большим файлом, который занял почти 3 часа, и он прошел без каких-либо проблем. Итак, я с оптимизмом скажу, что новый маршрутизатор решил эту проблему.
Хотел бы я точно знать, почему брандмауэр на Cisco мешает этому трафику, потому что в целом мне понравился маршрутизатор, но у меня нет больше времени на его диагностику. Спасибо всем, кто помог. Кто-нибудь хочет купить роутер? :)