configuraciones:routerprincipal

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
configuraciones:routerprincipal [2018/03/13 13:35] – /etc/init.d/servicio restart strysgconfiguraciones:routerprincipal [2019/01/30 14:18] (actual) – [DNS] enmaskarado
Línea 4: Línea 4:
   * Se asume que la configuración presente no es exacta: mas bien, es una idea general aplicable a distintos tipos de nodo, como un nodo simple o un supernodo. No es recomendable copiar y pegar sin un análisis previo.   * Se asume que la configuración presente no es exacta: mas bien, es una idea general aplicable a distintos tipos de nodo, como un nodo simple o un supernodo. No es recomendable copiar y pegar sin un análisis previo.
   * Se asume que las configuraciones siguientes están enfocadas a LaOtraRed. Si agregas configuración adicional (relacionada a LaOtraRed o no), cosas que-ya-se-asume-que-funcionan (como el firewall) podrían presentar problemas y necesitas saber resolverlos por tu cuenta.   * Se asume que las configuraciones siguientes están enfocadas a LaOtraRed. Si agregas configuración adicional (relacionada a LaOtraRed o no), cosas que-ya-se-asume-que-funcionan (como el firewall) podrían presentar problemas y necesitas saber resolverlos por tu cuenta.
 +
 +<WRAP center round info 60%>
 +Existe la utilidad [[utilidades:script-generador-configs|Generador de configuraciones para enrutadores en LaOtraRed]] que basada en estas configuraciones genera un script uci que se ejecuta en el enrutador y aplica estas configuraciones. :!: La utilidad podría no siempre estar actulizada con las configuraciones que sugiere esta página.
 +</WRAP> 
 +
  
 ===== Router principal con OpenWrt ===== ===== Router principal con OpenWrt =====
 +
 +<WRAP center round important 60%>
 +El enrutador debería tener instalado el S.O. openwrt o similares, [[guias:instalar_so_libre_en_el_router|Instalar un sistema operativo libre al enrutador]]
 +</WRAP>
  
 Su misión básica es enrutar todo el tráfico que va a/llega de LOR: además suele ser el router principal de la red, en el lugar donde se ubica el nodo. Su misión básica es enrutar todo el tráfico que va a/llega de LOR: además suele ser el router principal de la red, en el lugar donde se ubica el nodo.
Línea 26: Línea 35:
         option proto 'static'         option proto 'static'
         # asignamos IPv4 al router         # asignamos IPv4 al router
-        option ipaddr 10.64.7.1 +        option ipaddr '10.64.7.1/27'
-        option netmask '255.255.255.224'+
         # asignamos IPv6 al router         # asignamos IPv6 al router
         option ip6addr 'fc01:1934:1:1d20::1/60'         option ip6addr 'fc01:1934:1:1d20::1/60'
  
-config interface 'meshlocal+config interface 'lor_local
- option ifname 'eth0.5'+ option ifname 'eth0.10'
  option proto 'static'  option proto 'static'
  # La sesión de routing troncal (BMX7 en 2018+) no necesita especificar direcciones aquí:  # La sesión de routing troncal (BMX7 en 2018+) no necesita especificar direcciones aquí:
Línea 59: Línea 67:
  
 config dev 'meshlocal' config dev 'meshlocal'
- option dev 'eth0.5'+ option dev 'eth0.10' 
 + # option dev 'ref:network.laotrared.ifname'
  # Si tu conexión es cableada y no es Gigabit (o es VPN), agrega la siguiente opción para corregir las estimaciones que bmx7 hace de la interfaz, en Kbit/s:  # Si tu conexión es cableada y no es Gigabit (o es VPN), agrega la siguiente opción para corregir las estimaciones que bmx7 hace de la interfaz, en Kbit/s:
  # option rateMax '100000000'  # option rateMax '100000000'
Línea 65: Línea 74:
 config plugin config plugin
  option plugin 'bmx7_tun.so'  option plugin 'bmx7_tun.so'
- 
-config plugin 
- option plugin 'bmx7_table.so' 
  
 # Anuncios nativos (IPv6) # Anuncios nativos (IPv6)
Línea 77: Línea 83:
 # Anuncia aquí tu bloque IPv4 junto a una IP asignada al router (probablemente sea la IP gateway) # Anuncia aquí tu bloque IPv4 junto a una IP asignada al router (probablemente sea la IP gateway)
 # El bloque completo pertenece aquí, no importa si subdividiste tu /27 o no. # El bloque completo pertenece aquí, no importa si subdividiste tu /27 o no.
 +# Además, debes agregar en tun6address tu primera dirección del /56 asignado.
 config tunDev 'default' config tunDev 'default'
  option tunDev 'miPrefijoV4'  option tunDev 'miPrefijoV4'
  option tun4Address '10.64.7.1/27'  option tun4Address '10.64.7.1/27'
 + option tun6Address 'fc01:1934:1:1d00::1/128'
  
 # Receptor de anuncios por túnel (IPv4v6) # Receptor de anuncios por túnel (IPv4v6)
Línea 86: Línea 94:
         option tunOut 'ip4LOR'         option tunOut 'ip4LOR'
         option network '10.64.0.0/15'         option network '10.64.0.0/15'
-        option maxPrefixLen '30'+        option maxPrefixLen '29'
         option minPrefixLen '20'         option minPrefixLen '20'
 +
 +# Aceptar anuncios de redes IPv4v6 LOR (sólo anycast)
 +config tunOut
 +        option tunOut 'ip4anycast'
 +        option network '10.64.64.0/24'
 +        option maxPrefixLen '32'
 +        option minPrefixLen '32'
 +
 +config tunOut
 + option tunOut 'ip6anycast'
 + option network 'fc01:1934:a::/48'
 + option maxPrefixLen '128'
 + option minPrefixLen '128'
  
 # Experimental, PIT-RFC1918 # Experimental, PIT-RFC1918
Línea 94: Línea 115:
         option network '10.0.0.0/8'         option network '10.0.0.0/8'
         option maxPrefixLen '23'         option maxPrefixLen '23'
-        option minPrefixLen '20'+        option minPrefixLen '19'
  
 # Experimental: PIT Ciudadano integrado a LOR # Experimental: PIT Ciudadano integrado a LOR
Línea 103: Línea 124:
         option minPrefixLen '24'         option minPrefixLen '24'
  
 +# Experimental: Nubes LOR6
 +config tunOut
 +        option tunOut 'ip6lor6'
 +        option network 'fd66:66:66::/48'
 +        option maxPrefixLen '128'
 +        option minPrefixLen '128'
 </code> </code>
  
Línea 118: Línea 145:
  
 Para LOR, se necesita agregar una sola zona adicional: Para LOR, se necesita agregar una sola zona adicional:
-     * Zona LOR, accept/reject/accept. No masquerade (NAT), no MTU Fix (TCP-MSS).+     * Zona LOR, accept/reject/accept. No masquerade (NAT). Sólo si hay problemas para acceder a algunos sitios webactiva "MTU Fix(TCP-MSS).
        * Ésta zona involucra a todas las piezas de LOR, incluyendo redes abiertas o nubes LOR.        * Ésta zona involucra a todas las piezas de LOR, incluyendo redes abiertas o nubes LOR.
      * Crear una regla de traspaso (forwarding) desde LAN hacia LOR.      * Crear una regla de traspaso (forwarding) desde LAN hacia LOR.
Línea 130: Línea 157:
  option forward 'REJECT'  option forward 'REJECT'
  option output 'ACCEPT'  option output 'ACCEPT'
- option name 'lor+ option name 'laotrared
- option network 'meshlocal'+ option network 'laotrared'
  # La siguiente regla agrega a la zona LOR los túneles IPv4v6 que bmx7 crea:  # La siguiente regla agrega a la zona LOR los túneles IPv4v6 que bmx7 crea:
- list devices 'X7+'+ list device 'X7+'
  
 config forwarding config forwarding
  option src 'lan'  option src 'lan'
- option dest 'lor'+ option dest 'laotrared' 
 + 
 +config rule 'lorPing' 
 +        option name 'PermitirPingIngreso' 
 +        option src 'laotrared' 
 +        option proto 'icmp' 
 +        option icmp_type 'echo-request' 
 +        option family 'ipv4' 
 +        option target 'ACCEPT' 
 + 
 +config rule 'lorICMPv6' 
 +        option name 'PermitirICMPv6ingreso' 
 +        option src 'laotrared' 
 +        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 'lorICMPv6F' 
 +        option name 'PermitirICMPv6traspaso' 
 +        option src 'laotrared' 
 +        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 rule 'lorSIPRTP' 
 +        option target 'ACCEPT' 
 +        option src 'laotrared' 
 +        option name 'PermitirSIP-RTP' 
 +        option proto 'udp' 
 +        option dest 'lan' 
 +        option dest_port '10000-20000'
 </code> </code>
  
-Si quieres abrir una IP para recibir tráfico externo:+:!: Aplica los cambios con ''/etc/init.d/firewall restart'' 
 + 
 +=== Abriendo una IP para recibir tráfico externo === 
 + 
 +Si quieres abrir una IP para recibir tráfico externo (por ejemplo poner un servidor visible para el resto de la red):
     * Agregar una regla de tráfico, sourcezone=LOR, destzone=LAN, destIP=(ipv4), action=ACCEPT.     * Agregar una regla de tráfico, sourcezone=LOR, destzone=LAN, destIP=(ipv4), action=ACCEPT.
     * Agregar una regla de tráfico, sourcezone=LOR, destzone=LAN, destIP=(ipv6), action=ACCEPT.     * Agregar una regla de tráfico, sourcezone=LOR, destzone=LAN, destIP=(ipv6), action=ACCEPT.
 +Esto se puede lograr fácilmente desde la interfaz gráfica del router (LUCI) o editando el archivo ''/etc/config/firewall''.
  
-:!: Aplica los cambios con ''/etc/init.d/firewall restart''+**Abriendo IP desde LUCI**
  
 +En el panel de administración (abre un navegador web y coloca la IP del enrutador) ingresa a ''Network -> Firewall -> Traffic Rules'' para agregar las reglas que permitan que peticiones desde LaOtraRed puedan acceder a una IP fija, esa IP deberá ser la del servidor que deseamos exponer.
 +
 +{{ :configuraciones:luci-config1.jpg?400 |}} 
 +
 +Ahí se ven todas las reglas de tráfico y agregamos una en la sección que dice "New Forward Rule" con el nombre que queramos y hacemos click en "Add and edit".
 +
 +{{ :configuraciones:luci-config2.jpg?400 |}}
 +Luego se especifican los detalles de la nueva regla.
 +{{ :configuraciones:luci-config3.jpg?700 |}}
 +
 +Guardamos los cambios con "Save & Apply". De la misma forma para abrir una dirección IPv6.
 +
 +**Abriendo IP editando /etc/config/firewall**
 +
 +Si prefieres editar el archivo directamente puedes agregar las siguientes líneas modificando según la IP que requieras hacer pública:
 +
 +<code bash>
 +config rule
 + option target 'ACCEPT'
 + option src 'lor'
 + option name 'ServerPiPublico'
 + option dest_ip '10.64.3.66'
 + option proto 'all'
 + option dest 'lan
 +</code>
 +
 +:!: Aplica los cambios con ''/etc/init.d/firewall restart''
 ==== DNS ==== ==== DNS ====
  
Línea 159: Línea 269:
         list server '/4.3.9.1.1.0.c.f.ip6.arpa/10.64.64.53'         list server '/4.3.9.1.1.0.c.f.ip6.arpa/10.64.64.53'
         list server '/0.7.d.f.ip6.arpa/10.64.64.53'         list server '/0.7.d.f.ip6.arpa/10.64.64.53'
-        # Habilitar la resolución de dominios .lor+        list server '/6.6.d.f.ip6.arpa/10.64.64.53' 
 +        list server '/cstz.l10e.net/10.64.64.53' 
 +        list server '/constanze.l10e.net/10.64.64.53'
         list server '/lor/10.64.64.53' # dominios *.lor         list server '/lor/10.64.64.53' # dominios *.lor
 +        list server '/laotra.red/10.64.64.53' # dominios *.laotra.red
 +        list server '/laotrared.net/10.64.64.53' # dominios *.laotra.red
         # Servidor DNS global por defecto, si tienes internet.         # Servidor DNS global por defecto, si tienes internet.
-        list server '8.8.8.8' # DNS de Google. Naturalmente, puedes usar otro.+        list server '1.1.1.1' # DNS de CloudFlare. Naturalmente, puedes usar otro.
                  
-        # Resolvedores adicionales, por si no tienes internet 
-        list server '/laotrared.enmaskarado.com/10.64.64.53' 
-        list server '/aso1.enmaskarado.net/10.64.64.53' 
-        list server '/meshLOR.laotrared.net/10.64.64.53' 
 </code> </code>
  
 :!: Aplica los cambios con ''/etc/init.d/dnsmasq restart'' :!: Aplica los cambios con ''/etc/init.d/dnsmasq restart''
 +
 +==== DHCP ====
 +
 +Si el nodo no dispone de conectividad IPv6 a Internet (es decir, OpenWrt no tiene un gateway IPv6 configurado), el router anunciará las direcciones IPv6 pero no se anunciará como gateway. Esto evita problemas si no hay Internet IPv6, pero no permite a LOR usar conectividad IPv6 (ya que en los routers troncales no existe un gateway, ellos mismos lo son).
 +
 +Para que el router se anuncie como gateway de todas maneras, se puede configurar un parametro del archivo ''/etc/config/dhcp'':
 +
 +<code bash>
 +config dhcp 'lan'                                  
 +    option interface 'lan'               
 +    option start '100'                   
 +    option limit '150'     
 +    option leasetime '12h' 
 +    option dhcpv6 'server' 
 +    option ra 'server'    
 +    option ra_management '1'
 +    option ra_default '1'  # distribuir rutas
 +</code>
 +
 +:!: Aplicar cambios con ''/etc/init.d/dnsmasq restart'' y ''/etc/init.d/odhcpd restart''
 +
 +Otra forma de aplicar los mismos cambios pero desde la interfaz LUCI es en ''Network -> Interfaces -> lan -> Edit'' en la sección //DHCP server -> IPv6 Settings// marcar "Always announce default router" y aplicar cambios.
 +
 +{{ :configuraciones:ra_default_luci.jpg?400 |}}
 +
  • configuraciones/routerprincipal.1520962521.txt.gz
  • Última modificación: 2018/03/13 13:35
  • por strysg