Acceso LAN OpenWRT OpenVPN

Acceso LAN OpenWRT OpenVPN

Mi objetivo es conectar una PC desde Internet a una VPN local en mi casa y luego acceder a mis computadoras en la LAN local.

Explicación:

******             **************        ******************         *********
* PC * ----------> * ISP-ROUTER * -----> * OPENWRT ROUTER * ------> * My PC *
******  INTERNET   **************  DMZ   ******************  WLAN   *********

El enrutador OpenWRT está conectado a través del puerto LAN y no del puerto WAN, ya que el enrutador ISP ya proporciona LAN.

El enrutador OpenWRT tiene OpenVPN ejecutándose. Puedo conectarme con la "PC global" a mi VPN pero luego no puedo hacer ping a "Mi PC".

Probé todo lo que encontré en Internet pero siempre obtengo el mismo resultado. El enrutador OpenWRT es un Netgear WDNR3700 que ejecuta OpenWRT 12.04.

Aquí está mi configuración que probé pero no obtuve ningún resultado positivo:

/etc/config/openvpn

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
push "route 10.0.0.0 255.255.255.0"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /tmp/openvpn-status.log
verb 3

/etc/config/red

config interface 'loopback'
    option ifname 'lo'
    option proto 'static'
    option ipaddr '127.0.0.1'
    option netmask '255.0.0.0'

config interface 'lan'
    option type 'bridge'
    option proto 'static'
    option netmask '255.255.255.0'
    option ipaddr '10.0.0.5'
    option gateway '10.0.0.4'
    option broadcast '10.0.0.255'
    option dns '8.8.8.8'
    option ifname 'eth0.1 wlan0 radio1.network1'
    option bridge 'true'

config interface 'wan'
    option ifname 'eth1'
    option proto 'dhcp'

config switch
    option name 'rtl8366s'
    option reset '1'
    option enable_vlan '1'
    option blinkrate '2'

config switch_vlan
    option device 'rtl8366s'
    option vlan '1'
    option ports '0 1 2 3 5t'

config switch_port
    option device 'rtl8366s'
    option port '1'
    option led '6'

config switch_port
    option device 'rtl8366s'
    option port '2'
    option led '9'

config switch_port
    option device 'rtl8366s'
    option port '5'
    option led '2'

config interface 'vpn'
    option proto 'none'
    option ifname 'tun0-00'`

/etc/config/cortafuegos

config defaults
    option syn_flood '1'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'lan'
    option network 'lan'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'REJECT'

config zone
    option name 'wan'
    option network 'wan'
    option input 'REJECT'
    option output 'ACCEPT'
    option forward 'REJECT'
    option masq '1'
    option mtu_fix '1'

config zone
    option name 'vpn'
    option input 'ACCEPT'
    option output 'ACCEPT'
    option forward 'ACCEPT'
    option masq '1'
    option network 'vpn'

config forwarding
    option src 'lan'
    option dest 'wan'

config forwarding
    option src 'vpn'
    option dest 'lan'

config forwarding
    option src 'lan'
    option dest 'vpn'

config rule
    option name 'Allow-DHCP-Renew'
    option src 'wan'
    option proto 'udp'
    option dest_port '68'
    option target 'ACCEPT'
    option family 'ipv4'

config rule
    option name 'Allow-Ping'
    option src 'wan'
    option proto 'icmp'
    option icmp_type 'echo-request'
    option family 'ipv4'
    option target 'ACCEPT'

config rule
    option name 'Allow-DHCPv6'
    option src 'wan'
    option proto 'udp'
    option src_ip 'fe80::/10'
    option src_port '547'
    option dest_ip 'fe80::/10'
    option dest_port '546'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Input'
    option src 'wan'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    list icmp_type 'router-solicitation'
    list icmp_type 'neighbour-solicitation'
    list icmp_type 'router-advertisement'
    list icmp_type 'neighbour-advertisement'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config rule
    option name 'Allow-ICMPv6-Forward'
    option src 'wan'
    option dest '*'
    option proto 'icmp'
    list icmp_type 'echo-request'
    list icmp_type 'echo-reply'
    list icmp_type 'destination-unreachable'
    list icmp_type 'packet-too-big'
    list icmp_type 'time-exceeded'
    list icmp_type 'bad-header'
    list icmp_type 'unknown-header-type'
    option limit '1000/sec'
    option family 'ipv6'
    option target 'ACCEPT'

config include
    option path '/etc/firewall.user'

config rule
    option src 'vpn'
    option target 'ACCEPT'
    option name 'VPN'
    option dest_port '1194'
    option proto 'tcpudp'
    option family 'ipv4'

config rule
    option target 'ACCEPT'
    option proto 'tcp'
    option dest_port '9100'
    option name 'Printer 0'
    option src 'lan'

Todo lo que intenté siempre me llevaba al mismo resultado: conectarse a la VPN sin problemas, hacer ping a la PC local no funciona. Ni siquiera puedo hacer ping a la IP interna del enrutador.

Espero que puedas ayudarme. Gracias de antemano.

Respuesta1

Según esta publicación encontré el problema: Cómo conectar varias redes a través de Internet de forma económica

En mi configuración, envié la información de la ruta al cliente pero no al servidor. Entonces agregué esta línea: route 10.0.0.0 255.255.255.0y todo funciona bien.

Nuevo archivo de configuración:

port 1194
proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh1024.pem
server 10.8.0.0 255.255.255.0
route 10.0.0.0 255.255.255.0
push "route 10.0.0.0 255.255.255.0"
client-to-client
duplicate-cn
keepalive 10 120
comp-lzo
persist-key
persist-tun
status /tmp/openvpn-status.log
verb 3

información relacionada