Здравствуйте! Помогите разобраться пожалуйста.
OpenVPN, сервер CentOS 7, клиент Windows 7
TUN, UDP
Низкая скорость в тунеле, без тунеля 100мбит, в тунеле 30-40
TUN или TAP без разницы, пробовал разные, нормальное железо, не думаю что дело в шифровании/lzo и тд.
Начал копать, пишут что может быть дело в MTU, в конфигах про mtu у меня нет ничего, запустил встроенное в OpenVPN тестирование на сервере, добавив в конфиг mtu-test
Вывод тестирования
May 10 16:31:00 server openvpn[8485]: client/11.22.33.44:7777 NOTE: Beginning empirical MTU test -- results should be available in 3 to 4 minutes.
May 10 16:34:01 server openvpn[8485]: client/11.22.33.44:7777 NOTE: Empirical MTU test completed [Tried,Actual] local->remote=[1569,1457] remote->local=[1569,1457]
May 10 16:34:01 server openvpn[8485]: client/11.22.33.44:7777 NOTE: This connection is unable to accomodate a UDP packet size of 1569. Consider using --fragment or --mssfix options as a workaround.
Я не пойму что мне надо сделать? Какой MTU выставлять, и что указывать в fragment/mssfix, прочитал мануал и так и сяк, не могу понять, что надо подкрутить...
Проверил на всех интерфейсах на сервере и на клиенте стоит MTU 1500, проверил пинг с клиента на сервер пролазиет пакет только 1472, больше начинает фрагментироваться, что вроде насколько я понимаю говорит что у меня(клиента) MTU как раз 1500.
У меня какие-то проблемы с MTU или нет? Подскажите пожалуйста не могу понять.
И ещё, в процессе поиска информации по низкой скорости тунеля openvpn, нашел информацию про буфферы, которые очень низки по умолчанию, как говорят.
Смотрю в лог клиента Windows 7
Tue May 10 17:28:10 2016 OpenVPN 2.3.10 x86_64-w64-mingw32 [SSL (OpenSSL)] [LZO] [PKCS11] [IPv6] built on Mar 10 2016
Tue May 10 17:28:10 2016 Windows version 6.1 (Windows 7)
Tue May 10 17:28:10 2016 library versions: OpenSSL 1.0.1s 1 Mar 2016, LZO 2.09
Tue May 10 17:28:11 2016 Socket Buffers: R=[8192->8192] S=[8192->8192]
Смотрю лог сервера Linux
May 10 16:30:43 server systemd: Starting OpenVPN Robust And Highly Flexible Tunneling Application On server/tun...
May 10 16:30:43 server openvpn[8484]: OpenVPN 2.3.10 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Jan 4 2016
May 10 16:30:43 server openvpn[8484]: library versions: OpenSSL 1.0.1e-fips 11 Feb 2013, LZO 2.06
May 10 16:30:43 server openvpn[8485]: Socket Buffers: R=[212992->212992] S=[212992->212992]
Вызывает вопросы:
1) Буферы разные это нормально?
2) Размер их не маленький? Cмущает цифра 8192 в windows.
Тут почитал про буферы.
В конфиг сервера написал
sndbuf 524288
rcvbuf 524288
push "sndbuf 524288"
push "rcvbuf 524288"
на сервере стало - Socket Buffers: R=[212992->425984] S=[212992->425984]
на клиенте стало - Socket Buffers: R=[8192->524288] S=[8192->524288]
Скорость существенно возрасла, до значений которые ожидались ~80 мбит
Непонятно только, клиент ставит указанный размер 524288, а сервер 425984, это нормально? Нужно делать их одинаковыми или пусть остаются так?
В целом не понятно, моя проблема низкой скорости в буферах или в mtu?
Надо ли мне крутить MTU если с увеличенными буферами скорость стала хорошей?
Благодарю за ответы.