Red detrás del cliente OpenVPN

Red detrás del cliente OpenVPN

Buen día, tengo un problema con la red OpenVPN. La idea principal es, como se ilustra, servidor OpenVPN remoto, 2 clientes, MyPC y cliente OpenWRT con su propia red con Client_1 y Client_2. Necesito poder comunicarme con Client_1 desde MyPC y viceversa. Parece un problema de enrutamiento o reenvío.


|-----------------------|           |-----------------------------------|
|Ubuntu 14.04           |           |OpenWRT router                     |
|OpenVPN Server         |  <----->  |Acts as OpenVPN client             |
|WAN 192.168.1.197      |           |LAN: 192.168.0.1, WAN:192.168.1.1  |
|OpenVPN IP: 172.20.2.1 |           |OpenVPN IP:172.20.1.100            |
|-----------------------|           |-----------------------------------|
            ^                               ^                   ^
            |                               |                   |
            |                               |                   |
            v                               v                   v
|-----------------------|           |-------------------| |------------------|
|MyPC, OpenVPN client   |   (1)     |Network client_1   | |Network client_2  |
|LAN: 192.168.1.205     | <-------> |LAN: 192.168.0.213 | |LAN: 192.168.1.101|
|OpenVPN IP:172.20.2.101|           |-------------------| |------------------|
|-----------------------|

El resultado del ping

Haga ping a MyPC -> Servidor OpenVPN Aceptar
Haga ping a MiPC -> OpenWRT Aceptar
Haga ping a MyPC -> client_1 Respuesta de 192.168.1.205: Host de destino inalcanzable.

Haga ping al servidor OpenVPN -> MyPC Aceptar
Haga ping al servidor OpenVPN -> OpenWRT Aceptar
Haga ping al servidor OpenVPN -> client_1 desde 192.168.1.197 icmp_seq=1 Host de destino inalcanzable

Haga ping a OpenWRT -> Servidor OpenVPN Aceptar
Haga ping a OpenWRT -> Mi PC Aceptar
Haga ping a OpenWRT -> cliente_1 Aceptar

Ping client_1 -> servidor OpenVPN desde 192.168.0.1 icmp_seq=1 Puerto de destino inalcanzable
Ping client_1 -> MiPC desde 192.168.0.1 icmp_seq=1 Puerto de destino inalcanzable
Hacer ping al cliente_1 -> OpenWRT Aceptar

Configuraciones OpenVPN, Servidor y clientes

======OpenVPN configuration ===================================================================
port 1198
proto udp
dev tap2
ca keys/remote_management/ca.crt
cert keys/remote_management/remote_man.crt
key keys/remote_management/remote_man.key
dh keys/remote_management/dh4096.pem
server-bridge 172.20.2.1 255.255.255.0 172.20.2.100 172.20.2.253 #@@ br1 eth2
crl-verify keys/remote_management/crl.pem
ifconfig-pool-persist servers/remote_man/logs/ipp.txt
tls-auth servers/remote_man/ta.key 0
cipher AES-128-CBC
user nobody
group nogroup
status servers/remote_man/logs/openvpn-status.log
log-append servers/remote_man/logs/openvpn.log
verb 2
mute 20
max-clients 10
management 127.0.0.1 7507
keepalive 10 120
client-config-dir /etc/openvpn/servers/remote_man/ccd
tls-server
client-to-client
comp-lzo
persist-key
persist-tun
ccd-exclusive
push "route 172.20.2.0 255.255.255.0"
route 192.168.0.0 255.255.255.0

======OpenVPN client MyPC configuration ======================================================
client
proto udp
dev tap
ca ca.crt
dh dh4096.pem
cert ***.crt
key ***.key
remote *** 1198
tls-auth ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

======OpenVPN client OpenWRT configuration ===================================================
client
proto udp
dev tap
ca /etc/openvpn/sol102/ca.crt
dh /etc/openvpn/sol102/dh4096.pem
cert /etc/openvpn/sol102/sol102.crt
key /etc/openvpn/sol102/sol102.key
remote *** 1198
tls-auth /etc/openvpn/sol102/ta.key 1
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

Configuraciones OpenWRT

======Configuración de red OpenWRT========================================== ===================
interfaz de configuración 'bucle invertido'
        opción ifname 'lo'
        opción proto 'estática'
        opción direcciónip '127.0.0.1'
        opción máscara de red '255.0.0.0'

configurar globales 'globales'
        opción ula_prefix 'fdf2:d4ae:ecd5::/48'

interfaz de configuración 'lan'
        opción ifname 'eth0.1'
        opción force_link '1'
        tipo de opción 'puente'
        opción proto 'estática'
        opción máscara de red '255.255.255.0'
        opción ip6assign '60'
        opción direcciónip '192.168.0.1'

interfaz de configuración 'wan'
        opción ifname 'eth0.2'
        opción proto 'dhcp'

interfaz de configuración 'wan6'
        opción ifname '@wan'
        opción proto 'dhcpv6'

interruptor de configuración
        nombre de opción 'switch0'
        opción restablecer '1'
        opción enable_vlan '1'

configuración switch_vlan
        dispositivo de opción 'switch0'
        opción vlan '1'
        puertos opcionales '1 2 3 4 5t'

configuración switch_vlan
        dispositivo de opción 'switch0'
        opción vlan '2'
        puertos opcionales '0 5t'

interfaz de configuración 'OVPN'
        opción proto 'ninguna'
        opción delegado '0'
        opción ifname 'tap0'

======Configuración del cortafuegos OpenWRT========================================== ===================
valores predeterminados de configuración
        opción syn_flood '1'
        entrada de opción 'ACEPTAR'
        salida de opción 'ACEPTAR'
        opción reenviar 'RECHAZAR'

zona de configuración
        nombre de opción 'lan'
        entrada de opción 'ACEPTAR'
        salida de opción 'ACEPTAR'
        opción reenviar 'RECHAZAR'
        opción red 'lan'

zona de configuración
        nombre de opción 'wan'
        entrada de opción 'RECHAZAR'
        salida de opción 'ACEPTAR'
        opción reenviar 'RECHAZAR'
        opción máscara '1'
        opción de red 'wan wan6'

regla de configuración
        nombre de la opción 'Permitir-DHCP-Renovar'
        opción src 'wan'
        opción proto 'udp'
        opción puerto_destino '68'
        opción objetivo 'ACEPTAR'
        familia de opciones 'ipv4'

regla de configuración
        nombre de la opción 'Permitir ping'
        opción src 'wan'
        opción proto 'icmp'
        opción icmp_type 'solicitud de eco'
        familia de opciones 'ipv4'
        opción objetivo 'ACEPTAR'

regla de configuración
        nombre de opción 'Allow-DHCPv6'
        opción src 'wan'
        opción proto 'udp'
        opción src_ip 'fe80::/10'
        opción src_port '547'
        opción dest_ip 'fe80::/10'
        opción puerto_destino '546'
        familia de opciones 'ipv6'
        opción objetivo 'ACEPTAR'

regla de configuración
        nombre de la opción 'Permitir-ICMPv6-Input'
        opción src 'wan'
        opción proto 'icmp'
        lista icmp_type 'solicitud de eco'
        lista icmp_type 'respuesta de eco'
        list icmp_type 'destino-inalcanzable'
        list icmp_type 'paquete demasiado grande'
        lista icmp_type 'tiempo excedido'
        lista icmp_type 'encabezado incorrecto'
        list icmp_type 'tipo-de-encabezado-desconocido'
        list icmp_type 'solicitud de enrutador'
        list icmp_type 'solicitud de vecino'
        list icmp_type 'anuncio-de-router'
        list icmp_type 'anuncio-vecino'
        límite de opción '1000/seg'
        familia de opciones 'ipv6'
        opción objetivo 'ACEPTAR'

regla de configuración
        nombre de la opción 'Permitir-ICMPv6-Adelante'
        opción src 'wan'
        opción destino '*'
        opción proto 'icmp'
        lista icmp_type 'solicitud de eco'
        lista icmp_type 'respuesta de eco'
        list icmp_type 'destino-inalcanzable'
        list icmp_type 'paquete demasiado grande'
        lista icmp_type 'tiempo excedido'
        lista icmp_type 'encabezado incorrecto'
        list icmp_type 'tipo-de-encabezado-desconocido'
        límite de opción '1000/seg'
        familia de opciones 'ipv6'
        opción objetivo 'ACEPTAR'

configuración incluye
        ruta de opción '/etc/firewall.user'

zona de configuración
        salida de opción 'ACEPTAR'
        nombre de opción 'OVPN_FW'
        opción máscara '1'
        entrada de opción 'ACEPTAR'
        opción reenviar 'RECHAZAR'
        opción de red 'OVPN'
        opción mtu_fix '1'

reenvío de configuración
        opción destino 'OVPN_FW'
        opción origen 'lan'

reenvío de configuración
        opción destino 'wan'
        opción origen 'lan'

reenvío de configuración
        opción destino 'lan'
        origen de opción 'OVPN_FW'

tengo algo de tcpdump

======OpenVPN server tcpdump icmp filtered ====================================================  
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:11.654580 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 83, length 40
12:46:14.652217 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.652244 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:14.657835 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 84, length 40
12:46:17.656214 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.656241 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:17.661768 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 85, length 40
12:46:20.660206 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.660233 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:20.665362 IP 172.20.2.101 > 192.168.0.213: ICMP echo request, id 1, seq 86, length 40
12:46:23.666797 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68
12:46:23.666824 IP 172.20.2.1 > 172.20.2.101: ICMP host 192.168.0.213 unreachable, length 68


======OpenWRT client tcpdump icmp filtered ==================================================== 
12:44:17.299404 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:18.461809 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:19.464258 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.466652 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 196
12:44:20.944332 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 48
12:44:32.311732 IP 172.20.2.1 > 172.20.2.100: ICMP redirect 172.20.2.101 to host 172.20.2.101, length 308

Editar: no puedo poner tanto código, así quehttp://pastebin.com/ThgqBUgM(El enlace ya no es válido)

Respuesta1

Probablemente su problema sea el enrutamiento, el servidor Ubuntu debe saber dónde encontrar 192.168.0.0/24 - route add -net 192.168.0.0/24 gw 172.20.1.100, sin eso esta ruta coincide con la puerta de enlace predeterminada y los paquetes se enrutan usando una interfaz incorrecta. Cada dispositivo que reenvía paquetes (OpenWRT y Ubuntu) debe conocer 3 redes 192.168.0.0/24: 192.168.1.0/24y 172.20.1.0/24.

información relacionada