Compartir Internet sin DHCP

11

Estoy tratando de configurar mi iMac con 10.6 para que sea un puente inalámbrico. Lo tengo funcionando, pero necesito deshabilitar DHCP y dejar que el servidor DHCP de mi red proporcione una IP para los dispositivos conectados. Parece que no puedo encontrar una manera de deshabilitar DHCP en Conexión compartida a Internet. ¿Alguien sabe si esto es posible? Supongo que hay una clave que se podría establecer /Library/Preferences/SystemConfiguration/com.apple.nat.plist, pero no puedo encontrarla. Revisé la página de manual de InternetSharing y no menciona nada útil, excepto cambiar la subred que usa el servidor DHCP.

Matthew Boynes
fuente
AFAIK, OS X Internet Sharing solo hace NAT, no un verdadero puente. Por lo tanto, los dispositivos que usan su iMac para la conectividad están en su propia red privada, y su iMac actúa como un enrutador. Debido a esto, los dispositivos conectados necesitan obtener una IP de su iMac. No podrían ponerse en contacto con su servidor DHCP existente. No estoy lo suficientemente familiarizado con las agallas de Compartir Internet para estar seguro, pero esa es mi mejor suposición casi informada.
ladrones

Respuestas:

2

Desde la bootpdpágina del manual:

Para cada una de las propiedades dhcp_enabled, bootp_enabled, old_netboot_enabled, netboot_enabled y relay_enabled, el servicio correspondiente puede habilitarse o deshabilitarse para todas las interfaces, o habilitarse solo para un conjunto específico de interfaces. Para habilitar o deshabilitar globalmente, use un valor booleano verdadero o falso respectivamente. Para habilitar solo para un conjunto específico de interfaces, use una cadena, para una sola interfaz o una matriz de cadenas, un elemento para cada interfaz.

 For example, to enable DHCP on interfaces en0 and en1, disable BOOTP on all
 interfaces, enable NetBoot on en1, and enable relay agent on interface en1,
 /etc/bootpd.plist could contain:
 <?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>bootp_enabled</key>
         <false/>
         <key>dhcp_enabled</key>
         <array>
                 <string>en0</string>
                 <string>en1</string>
         </array>
         <key>netboot_enabled</key>
         <string>en1</string>
         <key>relay_enabled</key>
         <array>
                 <string>en1</string>
         </array>
 </dict>
 </plist>

Para deshabilitar dhcp globalmente, use:

    <key>dhcp_enabled</key>
    <false/>

No olvide enviar un mensaje SIGHUP (kill -1)a bootpddespués de realizar cambios en el archivo de configuración.

dcow
fuente
1

InternetSharing está realizando 2 tareas:

  • Proporcionar dinámicamente una dirección IP a dispositivos conectados en la interfaz de red secundaria ( bootpd)
  • administrar la traducción de direcciones IP (NAT) para estas direcciones atribuidas dinámicamente ( natden Snow Leopard y natpmpden Lion)

InternetSharing no te permite configurar un MacOS X como un puente IP. Ver man InternetSharing(disponible en Snow Leopard pero no en Lion).

Esta sería una mala idea: especialmente debido a los riesgos involucrados con un simple puente transparente en negrita: internamente InternetSharingestá realizando un:

sysctl -w 'net.inet.ip.forwarding=1'

que permite que pase el tráfico IP. Para aliviar este problema, solo las direcciones IP atribuidas en la interfaz secundaria bootpdy traducidas a través de natdo natpmpdse traducen correctamente al exterior.

dan
fuente
Gracias por tu respuesta, Daniel. Dos preguntas: (1) ¿Cuál es su nivel de confianza de que InternetSharing no le permite a uno deshabilitar DHCP (y puede proporcionar alguna evidencia / recursos)? (2) ¿Puede explicar por qué cree que sería una mala idea? ¿Cuáles son los riesgos de los que hablas? Nuevamente, se agradecería evidencia y referencias. Gracias
Matthew Boynes
Intenté mejorar mis explicaciones gracias a sus preguntas.
dan
La página de manual dice específicamente: "Los detalles de com.apple.nat.plist ... no están completamente documentados aquí", por lo que es muy posible que haya una configuración que deshabilite DHCP. Desafortunadamente, todavía nos queda sin evidencia sólida sobre si esto se puede hacer o no. Gracias por agregar detalles de todos
modos
De hecho, fui más allá de solo leer el descargo de responsabilidad dentro de la página de manual;). Estoy bastante seguro de que no hay una puerta trasera para depurar sin bifurcar bootpd. Pero, al menos, puede probar la -dopción dentro de la lista.
dan
com.apple.natNo es lo que configura bootpd. /etc/bootpd.plistes.
dcow