Назад | Перейти на главную страницу

Проблемы с потерей пакетов OpenVPN

Эй!

У меня есть сервер Openvpn на Linux и я использую его для маршрутизации всего трафика ipv4 от моих клиентов (win7, android, pfsense и т. Д.). Наконец-то я хочу понять, что такое маршрутизация, хотя она работает, но больше потому, что мой сервер .conf был создан методом проб и ошибок :)

Я не понимаю, какая комбинация опций действительно необходима - что делают эти push-вещи, кроме опции "redirect-gateway def1" (которая объясняется в человеке по openvpn)? правда ли, что я не могу пропустить redirect-gateway def1, потому что иначе трафик туннеля будет маршрутизироваться через туннель ..?

В настоящее время работает следующий набор параметров маршрута в server.conf (помимо других параметров, таких как устройство tun, клиент и т. Д.):

server 10.10.0.0 255.255.255.0 # ок, я предполагаю, что это необходимо для того, чтобы клиент узнал, какой ip получить

push "redirect-gateway def1" # я понял, но он не работает на android или mac - там мне нужно установить программную опцию «маршрутизировать весь шлюз через vpn», чтобы туннель действовал как маршрут по умолчанию

push "dhcp-option DNS 8.8.8.8" # поскольку dnsmasq не работает, я предполагаю, что мне это нужно для всех DNS, созданных через другой (google) сервер

push "route 10.10.0.1" # это полезно? Кажется, что это не так, но разве это не должно выполняться с помощью redirect-gateway def1? на данный момент на моем клиенте win7, если я опущу это, он также работает. но с этой опцией или без нее у меня нет записи default-ipv4-gateway на устройстве с ответвлением в win7, хотя трафик маршрутизируется через туннель ..

еще одна вещь, которую я не понимаю, это dhcp установлен на 10.10.0.5, если клиенты получают ip 10.10.0.6. но на 10.10.0.5 нет ничего, откуда это взялось?

о человек, пожалуйста, помогите мне понять это, мои знания маршрутизации практически отсутствуют ... спасибо!

p.s. когда я, наконец, получил это, я хочу адресовать постоянную "Ошибка аутентификации / дешифрования пакета: неверный идентификатор пакета (может быть повтор): [# 961]", я получаю ошибки, я уже пробовал фрагмент 1300 mssfix, но, похоже, не помогает, хотя netalyzr сказал, что мой mtu - 1376, а перед этими параметрами он сказал, что я не могу отправлять или получать фрагментированные пакеты. я подозреваю, что мой провайдер набирает массу пакетов udp ..

изменить: вот мой server.conf

port 123 
client-to-client
proto udp

dev tun0

ca *.crt
cert *.crt
key *.key
dh *.pem

server 10.10.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt

duplicate-cn
keepalive 10 120

push "redirect-gateway def1"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option gateway 10.10.0.1"

max-clients 5
client-to-client

fragment 1300
mssfix

edit: команды маршрута теперь очищены, спасибо, курировал "серверную" часть в человеке openvpn.

теперь у меня следующие проблемы:

в попытке отладить соединение (соединение udp всегда получает воспроизведение пакетов) я построил туннель tcp (на основе приведенной выше конфигурации, просто переключился на tap0 на сервере), и как только начинается загрузка с клиента openvpn, я получаю следующее вывод журнала:

«MULTI: пакет отброшен из-за насыщения вывода (multi_process_incoming_tun)»

поэтому я добавил:

TCP-очередь-ограничение 128

это привело к тому, что сообщение было меньше, поэтому я увеличил до

TCP-очередь-ограничение 256

это приводит к разрыву соединения. сначала он выводит некоторые из них:

MBUF: пакет mbuf отброшен

затем

написать TCPv4_SERVER: сломанный канал (код = 32)

затем

Сброс подключения, перезапуск [0]

поэтому я добавил

bcast-буферы = 4096

что приводит к отсутствию сообщений, но скорость по-прежнему оставляет желать лучшего. также я не знаю, есть ли это просто исправление для некоторых незначительных загрузок, и если он работает стабильно с текущими загрузками или если буфер заполняется и он повторно подключается, поэтому может быть больше сломано, чем исправлено ..

при использовании туннеля udp я получаю почти вдвое большую скорость загрузки и неоднократно это сообщение журнала:

Ошибка аутентификации / дешифрования пакета: неверный идентификатор пакета (может быть повтор): [# 650]

Например, при выполнении теста скорости oakla я получаю около 3 предупреждений о воспроизведении во время теста загрузки и 5-6 во время теста загрузки.

Что я могу сделать для дальнейшего улучшения туннеля? Спасибо!

edit: изменил заголовок, чтобы он больше соответствовал задаче.

изменить: теперь я использую файл размером 1 ГБ с моего сервера openvpn для проверки скорости загрузки вместо oakla, и у меня есть 16 Мбит по tcp, до сих пор без ошибок редактировать: хорошо, он не маршрутизируется через туннель, он загружается напрямую - я предполагаю, что это из-за прямой маршрут к серверу openvpn, который необходим для клиента openvpn.