3 votos

Enrutamiento del tráfico de ida y vuelta a través de un servidor Mac mini con 2 interfaces de red

La red de mi oficina tiene este aspecto:

networking scheme

La red de mi oficina tiene este aspecto:

  • la red de la oficina (wifi y cableada) tiene la subred 192.168.88.0 .
  • Tengo algunas máquinas servidoras en la subred 192.168.2.0 (NODO_1,.... NODO_10).
  • Tengo una máquina (es un Mac mini) con 2 interfaces de subred que actúa como:
    • la puerta de enlace para todas las máquinas de la subred 192.168.2.0 .
    • expone un servicio VPN (el predeterminado de la aplicación del servidor de Mac)
    • y proporciona servicios adicionales, como un DNS)

La configuración del Mac mini es mi gran problema. Así es como se ve:

Interfaz Ethernet en0

  • dirección: 192.168.88.10
  • máscara de red: 255.255.255.0
  • puerta de enlace: 192.168.88.1

Interfaz Ethernet en2

  • dirección: 192.168.2.1
  • máscara de red: 255.255.255.0
  • puerta de enlace: 192.168.88.10

Necesito el enrutamiento de las máquinas en 192.168.88.0 a los de 192.168.2.0 .

Para ello he activado el "Compartir Internet" característica de Mac OS: en realidad no sé lo que sucede bajo el capó, pero las máquinas NODO_1 ... NODO_10 ir a internet.

Luego, cuando me conecto a la red de la oficina, para que me salga una IP como: 192.168.88.33 Agrego una regla de enrutamiento como:

 sudo route -n add 192.168.2.0/24 -gateway 192.168.88.10

¡¡¡¡¡De momento, todo funciona bien: !!!!!

El gran problema es cuando me conecto a través de la VPN.

Conexión VPN

Me conecto con éxito a la VPN expuesta en: 192.168.88.10 Luego añado la regla de enrutamiento.

 sudo route -n add 192.168.2.0/24 -gateway 192.168.88.10

No puedo llegar a las máquinas de la subred 192.168.2.0 .

Olfateando los paquetes veo que los paquetes siguen los saltos:

  1. -> 192.168.88.10
  2. -> 192.168.2.1
  3. -> 192.168.2.110
  4. <- 192.168.2.1
  5. <- 192.168.88.1

El paquete va a la pasarela 192.168.88.1 en lugar del 192.168.88.10 . Mirando en las tablas de enrutamiento del Mac mini veo:

192.168.88.202     192.168.88.10      UH              2       93    ppp1
192.168.88.202     40:6c:8f:3:d5:e7   UHLS2           0        0     en0

40:6c:8f:3:d5:e7 es la dirección mac de 192.168.88.1 .

Me gustaría cambiar el enrutamiento sin usar el compartir internet para permitir el acceso a Internet de 192.168.2.0 y cubrir tanto el escenario VPN como el local, pero no sé los pasos que tengo que hacer y cómo escribir las reglas a mano.

Muchas gracias.

4voto

klanomath Puntos 19587

Debería ser posible crear un puente con en0 y en2 y habilitar net.inet.ip.forwarding para deshacerse de todos los problemas de enrutamiento. El puente actúa más o menos como otro interruptor entre en0 y en2.


  • Desactivar el uso compartido de Internet

  • elimine la puerta de enlace en la configuración en2 del Mac mini y cambie la dirección IP por una disponible en 192.168.88.0/24 (por ejemplo, 192.168.88.11)

  • eliminar todas las rutas estáticas adicionales

  • Compruebe si hay interfaces de puente con ifconfig

  • En el servidor cree un archivo puente :

    sudo mkdir -p /usr/local/bin/ #only if the folder is missing
    sudo nano /usr/local/bin/bridge

    con el contenido

    #!/bin/bash
    
    sysctl -w net.inet.ip.forwarding=1
    ifconfig bridge create
    ifconfig bridge0 addm en0 addm en2 up #use the first available bridge number here and the proper interface device names
  • entrar en sudo chmod +x nano /usr/local/bin/bridge

  • Crear un demonio de lanzamiento usr.bridge.plist :

    sudo nano /Library/LaunchDaemons/usr.bridge.plist

    con el contenido

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>usr.bridge</string>
        <key>ProgramArguments</key>
        <array>
            <string>/bin/sh</string>
            <string>-c</string>
            <string>/usr/local/bin/bridge</string>
        </array>
        <key>RunAtLoad</key>
        <true/>
        <key>StandardErrorPath</key>
        <string>/tmp/usr.bridge.err</string>
        <key>StandardOutPath</key>
        <string>/tmp/usr.bridge.out</string>
    </dict>
    </plist>
  • Cargar el plist

    sudo launchctl load /Library/LaunchDaemons/usr.bridge.plist
  • Cambie las direcciones IP de nodo_1 y nodo_10 a las disponibles en 192.168.88.0/24 (por ejemplo, 192.168.88.101 y 192.168.88.110). Cambia sus puertas de enlace por defecto a 192.168.88.1 y el servidor DNS a 192.168.88.10.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X