Eu tenho um cliente OpenVPN do Ubuntu que se conecta a um servidor Debian OpenVPN.
Por um tempo eu tive a configuração na porta padrão 1194 com o udp e estava conectando de uma rede que não filtrava minhas conexões. Tudo funcionou bem.
Depois eu precisei conectar-me a partir de uma rede que permitia apenas a porta 80 e 443, então eu mudei a configuração para usar tcp na porta 443. Novamente funcionou muito bem.
Agora estou em outra rede que não está diretamente conectada à Internet, o acesso que posso usar é um proxy http. Então eu mudei a configuração no lado do cliente para usar o proxy http. Desde então, a conexão é desleixada. Ele se conecta ao servidor e por um curto período de tempo a conexão parece funcionar ok (eu posso acessar todas as portas na Internet, pings trabalho ...) e, de repente, a conexão cai. Se eu não fizer nada, a conexão não cai! Ele cai depois que alguns pacotes são passados, então se eu fizer ssh eu tenho algum tempo até que ele caia, mas se eu tentar carregar uma página web ela cai muito rapidamente. Eu uso o gerenciador de rede do ubuntu para a configuração. As rotas são boas, tudo vai onde deveria.
EDIT 1: Eu também tenho um servidor www no mesmo servidor. Pode ser que o OpenVPN esteja recebendo alguns pacotes que não são intencionais, mas eu uso a opção 'share port' que deve redirecionar todos os pacotes para o servidor www.
Para o que eu entendo pacotes TCP poderia ficar corrompido durante o trânsito (provavelmente pelo proxy http) e isso iria corromper o HMAC.
EDIT 2: Executando o Zenmap Eu posso ver que o proxy é squid e o sistema operacional é MikroTik.
EDIT 3: Apenas por diversão, eu tentei executar outro openVPN em cima do primeiro, o segundo configurado para usar o UDP. Mas depois de reconfigurar as rotas e tentar carregar uma página da web, a primeira fica travando da mesma maneira.
EDIT 4: Eu instalei o sslh no servidor para atuar como um multiplexador na porta 443 para quando ele receber tráfego para ssh ou openvpn ou https ele redireciona para o serviço correspondente e agora eu estou tentando conectar através do ssh graças a saca-rolhas, mas também falha (conexão fechada pelo host remoto, o servidor realmente recebe a conexão, mas a solta).
EDIT 5: Eu sou capaz de configurar o servidor através do ssh graças a um túnel que eu configurei com o iodo através do servidor DNS. Parece estúpido, mas funciona muito bem e é muito estável, o único problema é que é terrivelmente lento, apenas bom o suficiente para o ssh.
EDIT 6: Eu tenho acesso a outro proxy http com o qual ele funciona instantaneamente e é muito estável, então vou ficar com ele por enquanto. Eu ainda não sei o que há de errado com o primeiro.
E os registros no cliente dizem: (tudo isso aconteceu em menos de 2 minutos, ativando a VPN e carregando meia página da Web)
NetworkManager[1249]: <info> Starting VPN service 'openvpn'...
NetworkManager[1249]: <info> VPN service 'openvpn' started (org.freedesktop.NetworkManager.openvpn), PID 12305
NetworkManager[1249]: <info> VPN service 'openvpn' appeared; activating connections
NetworkManager[1249]: <info> VPN plugin state changed: starting (3)
NetworkManager[1249]: <info> VPN connection 'domain.com' (Connect) reply received.
nm-openvpn[12311]: OpenVPN 2.2.1 i686-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] [eurephia] [MH] [PF_INET6] [IPv6 payload 20110424-2 (2.2RC2)] built on Feb 13 2013
nm-openvpn[12311]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
nm-openvpn[12311]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
nm-openvpn[12311]: WARNING: file '/home/user/openvpn-client-conf/ta.key' is group or others accessible
nm-openvpn[12311]: Control Channel Authentication: using '/home/user/openvpn-client-conf/ta.key' as a OpenVPN static key file
nm-openvpn[12311]: LZO compression initialized
nm-openvpn[12311]: Attempting to establish TCP connection with [AF_INET]x.x.x.x:xxxx(http proxy) [nonblock]
nm-openvpn[12311]: TCP connection established with [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: TCPv4_CLIENT link local: [undef]
nm-openvpn[12311]: TCPv4_CLIENT link remote: [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: [domain.com] Peer Connection Initiated with [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: TUN/TAP device tun0 opened
nm-openvpn[12311]: /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper tun0 1500 1544 10.8.0.2 255.255.255.0 init
NetworkManager[1249]: SCPlugin-Ifupdown: devices added (path: /sys/devices/virtual/net/tun0, iface: tun0)
NetworkManager[1249]: SCPlugin-Ifupdown: device added (path: /sys/devices/virtual/net/tun0, iface: tun0): no ifupdown configuration found.
NetworkManager[1249]: <warn> /sys/devices/virtual/net/tun0: couldn't determine device driver; ignoring...
NetworkManager[1249]: <info> VPN connection 'domain.com' (IP4 Config Get) reply received from old-style plugin.
NetworkManager[1249]: <info> VPN Gateway: x.x.x.x(http proxy)
NetworkManager[1249]: <info> Tunnel Device: tun0
NetworkManager[1249]: <info> IPv4 configuration:
NetworkManager[1249]: <info> Internal Gateway: 10.8.0.1
NetworkManager[1249]: <info> Internal Address: 10.8.0.2
NetworkManager[1249]: <info> Internal Prefix: 24
NetworkManager[1249]: <info> Internal Point-to-Point Address: 0.0.0.0
NetworkManager[1249]: <info> Maximum Segment Size (MSS): 0
NetworkManager[1249]: <info> Forbid Default Route: no
NetworkManager[1249]: <info> Internal DNS: x.x.x.x(dns server)
NetworkManager[1249]: <info> DNS Domain: '(none)'
NetworkManager[1249]: <info> No IPv6 configuration
nm-openvpn[12311]: Initialization Sequence Completed
NetworkManager[1249]: <info> VPN connection 'domain.com' (IP Config Get) complete.
NetworkManager[1249]: <info> Policy set 'domain.com' (tun0) as default for IPv4 routing and DNS.
NetworkManager[1249]: <info> Writing DNS information to /sbin/resolvconf
dbus[975]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
NetworkManager[1249]: <info> VPN plugin state changed: started (4)
dbus[975]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
ntpdate[12428]: step time server 84.104.189.253 offset 1.749623 sec
nm-openvpn[12311]: Authenticate/Decrypt packet error: packet HMAC authentication failed
nm-openvpn[12311]: Fatal decryption error (process_incoming_link), restarting
nm-openvpn[12311]: SIGUSR1[soft,decryption-error] received, process restarting
nm-openvpn[12311]: WARNING: No server certificate verification method has been enabled. See http://openvpn.net/howto.html#mitm for more info.
nm-openvpn[12311]: NOTE: the current --script-security setting may allow this configuration to call user-defined scripts
nm-openvpn[12311]: Re-using SSL/TLS context
nm-openvpn[12311]: LZO compression initialized
nm-openvpn[12311]: Attempting to establish TCP connection with [AF_INET]x.x.x.x:xxxx(http proxy) [nonblock]
nm-openvpn[12311]: TCP connection established with [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: TCPv4_CLIENT link local: [undef]
nm-openvpn[12311]: TCPv4_CLIENT link remote: [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: [domain.com] Peer Connection Initiated with [AF_INET]x.x.x.x:xxxx(http proxy)
nm-openvpn[12311]: Preserving previous TUN/TAP instance: tun0
nm-openvpn[12311]: /usr/lib/NetworkManager/nm-openvpn-service-openvpn-helper tun0 1500 1544 10.8.0.2 255.255.255.0 restart
NetworkManager[1249]: <warn> VPN plugin failed: 2
nm-openvpn[12311]: WARNING: Failed running command (--up/--down): external program exited with error status: 1
nm-openvpn[12311]: Exiting
avahi-daemon[1176]: Withdrawing workstation service for tun0.
NetworkManager[1249]: SCPlugin-Ifupdown: devices removed (path: /sys/devices/virtual/net/tun0, iface: tun0)
NetworkManager[1249]: <warn> VPN plugin failed: 1
NetworkManager[1249]: <info> VPN plugin state changed: stopped (6)
NetworkManager[1249]: <info> VPN plugin state change reason: 0
avahi-daemon[1176]: Withdrawing address record for x.x.x.x(local ip) on eth0.
avahi-daemon[1176]: Leaving mDNS multicast group on interface eth0.IPv4 with address x.x.x.x(local ip).
avahi-daemon[1176]: Joining mDNS multicast group on interface eth0.IPv4 with address x.x.x.x(second local ip).
avahi-daemon[1176]: Withdrawing address record for x.x.x.x(second local ip) on eth0.
avahi-daemon[1176]: Leaving mDNS multicast group on interface eth0.IPv4 with address x.x.x.x(second local ip).
avahi-daemon[1176]: Interface eth0.IPv4 no longer relevant for mDNS.
avahi-daemon[1176]: Joining mDNS multicast group on interface eth0.IPv4 with address x.x.x.x(local ip).
avahi-daemon[1176]: New relevant interface eth0.IPv4 for mDNS.
avahi-daemon[1176]: Registering new address record for x.x.x.x(local ip) on eth0.IPv4.
avahi-daemon[1176]: Registering new address record for x.x.x.x(second local ip) on eth0.IPv4.
NetworkManager[1249]: <info> Policy set 'Wired connection 1' (eth0) as default for IPv4 routing and DNS.
NetworkManager[1249]: <info> Writing DNS information to /sbin/resolvconf
dbus[975]: [system] Activating service name='org.freedesktop.nm_dispatcher' (using servicehelper)
NetworkManager[1249]: <warn> error disconnecting VPN: Could not process the request because no VPN connection was active.
NetworkManager[1249]: <warn> (7) failed to find interface name for index
NetworkManager[1249]: nm_system_iface_flush_routes: assertion 'iface != NULL' failed
NetworkManager[1249]: <warn> (7) failed to find interface name for index
dbus[975]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
NetworkManager[1249]: <info> VPN service 'openvpn' disappeared
Tags networking vpn openvpn