GNU/Linux >> Tutoriales Linux >  >> FreeBSD

Freebsd:¿insertar una solución Nat en una red mientras no es la puerta de enlace?

He intentado esto de diferentes maneras. Actualmente intento con pf en freebsd 8.2

Estoy tratando de insertar una solución nat en una red existente que redirigirá el tráfico desde una dirección IP externa a una dirección IP interna en todos los puertos (nat estática), pero también quiero traducir la dirección de origen.

Red actual.

hosta
192.168.1.2/24 

gw
192.168.1.1/24

outsidehost
10.0.0.1/24 

natbox
em0 192.168.1.3/24 (used to manage the box)
em1 10.0.0.2/24 (outside address same lan as outsidehost)
em0_alias0 192.168.1.4/24 (inside address same lan as hosta)
route 192.168.1.0/24 192.168.1.1
route 0.0.0.0 0.0.0.0 10.0.0.1

Quiero que outsidehost pueda hacer telnet a 192.168.1.3 haciendo telnet (sp) a 10.0.0.2

Para que esto funcione, supongo que tendré que cambiar la fuente del paquete cuando sale de em0 o se perderá en el camino de regreso a em1.

Así que el flujo es así:

  • desde outsidehost telnet 10.0.0.2
  • cambiar la dirección de origen a 192.168.1.4
  • redirigir el tráfico de 10.0.0.2 a 192.168.1.2
  • el paquete se va con src 192.168.1.4 va a 192.168.1.2 y luego se envía de vuelta a 192.168.1.4 se traduce de nuevo a la fuente addy en este caso 10.0.0.1

Sigo pensando que esto se puede hacer con

binat y rdr pero no puedo descifrar la sintaxis.

¿Cómo puedo hacer esto?

Respuesta aceptada:

Terminé optando por iptables en Linux para lograr esto.

Para ello, el reenvío de IP debe estar activado:

echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf

Y establece las siguientes reglas:

iptables -F -t nat
# flush the NAT Table.
iptables -t nat -P INPUT DROP
# set the input chain on the NAT table to DROP by default. 
# This way any traffic not allowed by defining a source address gets dropped.
# If you don't provide a -s address below it will allow all hosts from anywhere
# to reach the inside address via the outside ip. 

iptables -t nat -A PREROUTING -s 10.0.0.1 -d 10.0.0.2 \
         -j DNAT --destination-address 192.168.1.3 
# define the source and destination of the traffic allowed through.
# Change the dest address to our inside host. 

iptable -t nat -A INPUT -s 192.168.0.0/24 -J ALLOW
# Drop all traffic on sourcing from inside subnet. 
# This won't apply to traffic that matches the rule above
# as the source address will change in the next rule. 

iptables -t nat -A POSTROUTING -d 192.168.1.3 \
         -j SNAT --source-address 192.168.1.4
# here is the insert magic. Change the source address of any traffic destined
# for our inside host to our vip or owned inside address.
# This way the traffic is routed back to us at the FW. 

FreeBSD
  1. ¿La cancelación de la operación mientras se copia un archivo .mkv lo divide en 2 partes?

  2. ¿Cómo escanear las unidades flash en busca de virus de Windows mientras está en Linux? (no Clamav)?

  3. ¿La conexión inalámbrica no funciona en el sistema?

  4. ¿Arrastrar una ventana es lento (las ventanas no siguen al mouse mientras se mueve suavemente)?

  5. ¿Cómo determinar la dirección de la puerta de enlace eth0 cuando no es la puerta de enlace predeterminada?

Ubuntu:no se encontraron los encabezados para el kernel en ejecución actual. - Solución

¿Insertar un archivo en otro archivo después de la primera aparición de un patrón?

Centos:¿Wireguard no enruta el tráfico del cliente a otros servidores en la red?

Zentyal como puerta de enlace:la configuración perfecta

El bucle while en los scripts de Shell

Cómo:Administración de red de FreeBSD