Tenía una tarea: publicar el servicio en el enrutador D-Link DFL con una dirección IP que no está vinculada a una interfaz wan. Pero en Internet no encontré instrucciones que resolvieran este problema, así que escribí el mío.
Datos de origen (todas las direcciones se toman como ejemplo)
Servidor web en la red interna con Ip:
192.168.0.2 (puerto
8080 ).
El conjunto de direcciones blancas externas asignadas por el proveedor:
5.255.255.0/28 , la puerta de enlace del proveedor:
5.255.255.1 , las restantes "nuestras" direcciones son
5.255.255.2-14 .
Deje las direcciones
5.255.255.2-10 que usamos bajo NAT y otras necesidades. El enlace del proveedor está conectado al puerto
wan1 . La dirección
5.255.255.2 está vinculada a la
interfaz wan1 .
Tarea: publique el servidor web interno en la dirección pública
5.255.255.11 , en el puerto
80 .
Solución brevemente
Para publicar el servicio en ip que no coincide con la dirección de la interfaz, necesitará:
- Indique al enrutador que la IP publicada debe buscarse dentro, utilizando tablas de enrutamiento .
- Publique ARP para que el enrutador les diga a los vecinos que la dirección publicada le pertenece.
- La regla de firewall ( SAT ), que dentro del enrutador cambiará la dirección de destino a la dirección del servidor de destino.
- Cortafuegos de reglas (Permitir), que permitirá una conexión desde la interfaz externa a la dirección publicada dentro del enrutador
Y ahora un poco más sobre cada artículo
PreparaciónI. Primero, crearemos "Objetos" para todas nuestras necesidades (ahora mostraré el proceso para la interfaz web, creo que aquellos que trabajan con la consola podrán transferir acciones a los comandos de la consola).
1. Agregue dos direcciones ipv4 a la libreta de direcciones:
servidor web =
192.168.0.2public-web-server =
5.255.255.11
2. Luego agregue los puertos a la lista de servicios:
int_http =
tcp: 8080

El puerto
tcp: 80 ya está en la lista de servicios, llamado
http , tiene un límite de
2000 sesiones, el límite se puede ajustar.
oh ohResultó que no es necesario agregar el puerto del servidor en la red interna, pero lo dejo, porque Puede ser necesario un ejemplo para un puerto público, pero se agregan igualmente
II Procedemos directamente a la solución.
Los puntos
1 y
2 se pueden combinar, porque al agregar una ruta estática, es posible proporcionar ARP de inmediato.
Honestamente, no vi esta oportunidad de inmediato y configuré la publicación manualmente, el enrutador también tiene esa funcionalidad.1. Entonces, si aún no ha creado un montón de tablas de enrutamiento y reglas para ellos, entonces todo se puede hacer en la tabla de enrutamiento principal, se llama
main .

La tabla
principal tomará por defecto la ruta a la red
5.255.255.0/28 en la interfaz
wan1 . Y la
métrica de esta ruta coincide con la métrica especificada en la configuración de la interfaz (
100 por defecto).

Para que la puerta de enlace no envíe paquetes de vuelta a la interfaz
wan1 , debe crear una ruta estática a la dirección del
servidor web público en la interfaz
central con una métrica menor que
100 (menor que la
métrica de la interfaz
wan1 ), entonces la puerta de enlace la buscará "dentro de sí misma".
2. En el mismo lugar, al crear una ruta, puede configurar Proxy ARP para que la puerta de enlace responda a las solicitudes de ARP. En la pestaña Proxy ARP, agregue la interfaz WAN.

cree una ruta, pero no haga clic en Aceptar, y vaya a la segunda pestaña de Proxy ARP:

ARP, agregue la interfaz
wan1 :

3. Finalmente, pasamos a la configuración de NAT y firewall (esto ya se describe con suficiente detalle en las
instrucciones en el sitio web dlink.ua ).

Creamos una regla SAT para que en un paquete de la interfaz
wan1 con la dirección de destino
public-web-server, el puerto de destino sea
http , para el cual configuramos la ruta a la interfaz
central , reemplace la dirección de destino con la dirección interna de nuestro
servidor de servidor web y el puerto en
8080 .

4. Y el siguiente paso es habilitar dicho paquete: cree una regla Permitir con parámetros similares (es conveniente copiar la regla SAT y reemplazar la acción con Permitir).

una notaEn este caso, las reglas deben estar en este orden: primero SAT, luego Permitir:
Recuerde que la regla SAT debe ser más alta que la regla de permiso. Esto se debe al hecho de que un paquete, que cae dentro de una regla de permitir o denegar, no va más allá de la tabla de "Reglas".
dlink.uaEn este caso, la regla de permiso también se crea para el puerto público y la dirección:
tenga en cuenta que los parámetros del protocolo, las interfaces y las redes en la regla de habilitación son los mismos que en la regla con la acción "SAT".
Me pareció que el paquete ya había sido procesado por la regla SAT una línea antes, y la dirección de destino y el puerto son nuevos, pero no, parece que el reemplazo ocurre en algún momento después de que se hayan resuelto todas las demás reglas.
En las
instrucciones de D-link, la funcionalidad de SAT está profundamente revelada; presenta muchas características interesantes. Mi objetivo era descubrir una pregunta no cubierta en esta instrucción y en otras instrucciones. Espero que la instrucción sea útil y comprensible.