Длинные SQL-запросы не работают через туннель libreswan
У меня в офисе есть дистрибутив Rocky Linux 8 в виде LAMP с драйверами ODBC и SQL.
Эта машина находится за SonicWall VPN, создавая туннель к другому SonicWall для подключения к SQL Server. Этот Linux-бокс представляет собой API и должен работать все время, но, поскольку он находится в нашем офисе, и там много строительных работ, у нас очень часто бывают перебои с электричеством.
Я решил переместить этот ящик API в облако.
Вот где у меня проблема.
В облаке я использую надежный дистрибутив Linux 8 с libreswan для создания туннеля с другим SonicWall. Я думаю, что туннель работает нормально.
У меня есть в той же сети еще одна коробка Rocky Linux 8 для API с теми же настройками, что и у меня в офисе.
Я могу делать запросы, но работает только в том случае, если запрос небольшой.
Если я запускаю запрос с выбором из 11 полей, время ожидания истекает... это просто не работает...
Тот же длинный запрос работает нормально в моем офисе, но не в облачной среде, но если я удалю пару полей выбора, он работает...
Я попытался установить MTU в туннеле на 1392, но это не сработало. Я считаю, что проблема может быть в туннеле libreswan, но я не знаю, что делать.
Вот изображение моей установки
Я надеюсь, что это помогает.
2 ответа
просто для записи, я использовал следующее, чтобы исправить проблему.
iptables -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --set-mss 1380
Я нашел его на https://libreswan.org/wiki/FAQ#My_ssh_sessions_hang_or_connectivity_is_very_slow .
это устранило проблему....
Прочитав несколько статей о различных MTU экземпляров OCI и MTU, применяемом в OCI VPN, я решил создать правила маршрутизации внутри экземпляра, ограничивающие MTU, это решило мои проблемы с большими запросами.
Бывший:
sudo ip route add 192.168.1.0/24 via 172.16.40.1 mtu 1200
О MTU: https://docs.oracle.com/pt-br/iaas/Content/Network/Troubleshoot/connectionhang.htm .