configuraciones:routerprincipal

Diferencias

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

Enlace a la vista de comparación

Próxima revisión
Revisión previa
Próxima revisiónAmbos lados, revisión siguiente
configuraciones:routerprincipal [2018/03/12 18:51] – creado enmaskaradoconfiguraciones:routerprincipal [2018/11/07 19:25] enmaskarado
Línea 1: Línea 1:
 ====== Configuración para los routers principales ====== ====== Configuración para los routers principales ======
  
-  * Se asume que los routers que desean participar de la sesión troncal (BMX7 desde 2018), tienen capacidad suficiente. De lo contrario, es preferible conectarse a LOR mediante otro tipo de sesión.+  * Se asume que los routers que desean participar de la sesión **troncal** (BMX7 desde 2018), tienen capacidad suficiente. De lo contrario, es preferible conectarse a LaOtraRed (abreviado. LORmediante otro tipo de sesión.
   * 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.
  
 ===== 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 21: Línea 25:
     * fc01:1934:1:1d20::1/60     * fc01:1934:1:1d20::1/60
   * Creamos una nueva interfaz **meshlocal** para la sesión de routing LOR: agregamos una interfaz estática sin IPs en LuCi, o podemos editar /etc/config/network:   * Creamos una nueva interfaz **meshlocal** para la sesión de routing LOR: agregamos una interfaz estática sin IPs en LuCi, o podemos editar /etc/config/network:
-<code>+<code bash> 
 +config interface 'lan' 
 +        # (...) configuraciones tipicas 
 +        option proto 'static' 
 +        # asignamos IPv4 al router 
 +        option ipaddr '10.64.7.1/27' 
 +        # asignamos IPv6 al router 
 +        option ip6addr 'fc01:1934:1:1d20::1/60' 
 config interface 'meshlocal' config interface 'meshlocal'
  option ifname 'eth0.5'  option ifname 'eth0.5'
Línea 28: Línea 40:
  # el demonio bmx7 les asigna IPs por su cuenta. Babel y otros protocolos quizás necesiten especificar direcciones.  # el demonio bmx7 les asigna IPs por su cuenta. Babel y otros protocolos quizás necesiten especificar direcciones.
 </code> </code>
 +
 +:!: Una vez editado el archivo usa: ''/etc/init.d/network restart'' para que los cambios se apliquen.
  
 ==== Configuración de la sesión de routing ==== ==== Configuración de la sesión de routing ====
Línea 35: Línea 49:
 Para la sesión troncal, el archivo /etc/config/bmx7 debe ser editado con cuidado: Para la sesión troncal, el archivo /etc/config/bmx7 debe ser editado con cuidado:
  
-<code>+<code bash>
 config bmx7 'general' config bmx7 'general'
  
Línea 54: Línea 68:
 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 66: Línea 77:
 # 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 75: Línea 88:
         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 83: Línea 109:
         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 92: Línea 118:
         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>
  
 Además, debes proteger los archivos dentro de /etc/bmx7/ para asegurar que las características de seguridad de BMX7 funcionen. **No distribuyas backups** de tu configuración. Además, debes proteger los archivos dentro de /etc/bmx7/ para asegurar que las características de seguridad de BMX7 funcionen. **No distribuyas backups** de tu configuración.
 +
 +:!: Aplica los cambios con ''/etc/init.d/bmx7 restart''
 +
 +==== Configuración del Firewall ====
 +La configuración por defecto de OpenWrt es la siguiente:
 +
 +Zona global: accept/reject/accept (bloquea por defecto el enrutado)
 +     * Zona LAN, accept/accept/accept (acepta los paquetes que salen de LAN, además de contestar o iniciar conexión desde el router)
 +     * Zona WAN, reject/reject/accept (por defecto rechazan la entrada y las conexiones iniciales desde WAN)
 +     * Regla de traspaso (forwarding) desde LAN hacia WAN.
 +
 +Para LOR, se necesita agregar una sola zona adicional:
 +     * Zona LOR, accept/reject/accept. No masquerade (NAT). Sólo si hay problemas para acceder a algunos sitios web, activa "MTU Fix" (TCP-MSS).
 +       * É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.
 +
 +La configuración de esa zona LOR luce mas o menos así, en /etc/config/firewall:
 +<code bash>
 +config zone
 + option input 'ACCEPT'
 + # Por defecto "forward" bloquea el traspaso de paquetes. Pero más abajo habilitamos el egreso por defecto.
 + # Para habilitar por completo el ingreso (por ejemplo, si tienes muchos servidores o servicios), cambia la siguiente regla de "REJECT" a "ACCEPT".
 + option forward 'REJECT'
 + option output 'ACCEPT'
 + option name 'laotrared'
 + option network 'laotrared'
 + # La siguiente regla agrega a la zona LOR los túneles IPv4v6 que bmx7 crea:
 + list device 'X7+'
 +
 +config forwarding
 + option src 'lan'
 + 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>
 +
 +:!: 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=(ipv6), action=ACCEPT.
 +Esto se puede lograr fácilmente desde la interfaz gráfica del router (LUCI) o editando el archivo ''/etc/config/firewall''.
 +
 +**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 ====
 +
 +Para poder resolver dominios en LaOtraRed (terminan en ''.lor''), necesitas editar tu configuración en /etc/config/dhcp.
 +<code bash>
 +config dnsmasq
 +        (...)
 +        option rebind_protection '0'
 +        # Habilitar la resolución de rDNS IPv4v6
 +        list server '/10.in-addr.arpa/10.64.64.53'
 +        list server '/64.10.in-addr.arpa/10.64.64.53'
 +        list server '/65.10.in-addr.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 '/6.6.d.f.ip6.arpa/10.64.64.53'
 +        list server '/lor/10.64.64.53' # dominios *.lor
 +        list server '/laotra.red/10.64.64.53' # dominios *.laotra.red
 +        # Servidor DNS global por defecto, si tienes internet.
 +        list server '1.1.1.1' # DNS de CloudFlare. Naturalmente, puedes usar otro.
 +        
 +        # Resolvedores adicionales, por si no tienes internet
 +        list server '/aso1.enmaskarado.net/10.64.64.53'
 +</code>
 +
 +:!: Aplica los cambios con ''/etc/init.d/dnsmasq restart''
 +
 +==== DHCP ====
 +
 +Para que el enrutador también distribuya rutas ipv6 a los clientes que se conecten por dhcp se puede configurar el 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.txt
  • Última modificación: 2019/01/30 14:18
  • por enmaskarado