Aquí hay una solución interesante para compartir internet con un puente de capa-2 pero sin utilizar NAT/DHCP (no requerido)/Panel de Preferencias de Compartir Internet:
Cree un script de shell ethernet-bridge.sh en /usr/local/sbin con el siguiente contenido:
#! /bin/sh
# ######################################
# codificado por Nat!
# 2013 Mulle kybernetiK
# GPL
comando=${1:-start}
shift
proxyarp=${1:-no}
shift
start()
{
sysctl -w net.inet.ip.forwarding=1
sysctl -w net.inet.ip.fw.enable=1
if [ "$proxyarp" != "no" ]
then
sysctl -w net.link.ether.inet.proxyall=1
fi
ifconfig bridge0 create
ifconfig bridge0 addm en0
ifconfig bridge0 addm en1
ifconfig bridge0 up
if [ $? -eq 0 ]
then
syslog -s "El Puente Ethernet está activo"
else
syslog -s "Fallo del Puente Ethernet"
fi
}
stop()
{
ifconfig bridge0 destroy
sysctl -w net.inet.ip.forwarding=0
sysctl -w net.inet.ip.fw.enable=0
sysctl -w net.link.ether.inet.proxyall=0
syslog -s "El Puente Ethernet está desactivado"
}
case "$comando" in
start*) start
;;
stop*) stop
;;
esac
y hágalo ejecutable:
chmod 755 /usr/local/sbin/ethernet-bridge.sh
Luego coloque el siguiente XML en /Library/LaunchDaemons como com.ethernet-bridge.plist
Etiqueta
com.ethernet-bridge.plist
ArgumentosDelPrograma
/usr/local/sbin/ethernet-bridge.sh
NombreDeUsuario
root
NombreDeGrupo
wheel
EjecutarAlCargar
EjecutarSoloUnaVez
Luego modifique el archivo y cárguelo:
sudo chmod 644 /Library/LaunchDaemons/com.ethernet-bridge.plist
sudo chown root:wheel /Library/LaunchDaemons/com.ethernet-bridge.plist
sudo launchctl load /Library/LaunchDaemons/com.ethernet-bridge.plist
El plist habilitará el modo puente durante el arranque.
Verifique con ifconfig -a
si el puente es visible.
Para detener el modo puente, simplemente entre:
sudo /usr/local/sbin/ethernet-bridge.sh stop
Para reiniciar el modo puente, simplemente entre:
sudo /usr/local/sbin/ethernet-bridge.sh start
Ahora configure los clientes con una IP/máscara de red/Puerta de enlace fijas (la dirección IP interna de la máquina puente)/DNS o configure adecuadamente un servidor DHCP en la máquina puente.
Adicionalmente, debe configurar una ruta estática en su enrutador a la red a la que proporciona Compartir Internet (en su ejemplo (en1)).
Hasta ahora, los mensajes de syslog no funcionan, intentaré mejorar el script pertinente.
Se describe un enfoque similar aquí, pero no logré que funcionara en Yosemite