1 votos

Quiero lanzar dnsmasq sólo cuando Thunderbolt Ethernet está activo

Dnsmasq se instala usando homebrew. Actualmente dnsmasq está llenando de spam mi system.log con mensajes como este:

Sep 26 18:22:46 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq[14526]): Service exited with abnormal code: 2
Sep 26 18:22:46 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Sep 26 18:22:56 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq[14527]): Service exited with abnormal code: 2
Sep 26 18:22:56 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Sep 26 18:23:06 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq[14528]): Service exited with abnormal code: 2
Sep 26 18:23:06 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.
Sep 26 18:23:16 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq[14529]): Service exited with abnormal code: 2
Sep 26 18:23:16 Laptop com.apple.xpc.launchd[1] (homebrew.mxcl.dnsmasq): Service only ran for 0 seconds. Pushing respawn out by 10 seconds.

porque le dije a dnsmasq que usara sólo el adaptador Ethernet Thunderbolt y cuando este adaptador no está activo, dnsmasq no lo encuentra, por lo que no puede iniciar el servicio.

Quiero ejecutar el servicio dnsmasq SOLO cuando el adaptador Ethernet Thunderbolt esté activo. No puedo ejecutarlo en todas las interfaces.

Mi plist actual tiene este aspecto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
  <dict>
    <key>Label</key>
    <string>homebrew.mxcl.dnsmasq</string>
    <key>ProgramArguments</key>
    <array>
      <string>/usr/local/opt/dnsmasq/sbin/dnsmasq</string>
      <string>--keep-in-foreground</string>
      <string>-C</string>
      <string>/usr/local/etc/dnsmasq.conf</string>
    </array>
    <key>Requires</key>
    <array>
      <string>Network</string>
    </array>
    <key>RunAtLoad</key>
    <true/>
    <key>KeepAlive</key>
    <true/>
  </dict>
</plist>

No encuentro ninguna documentación sobre cómo iniciar dnsmasq SOLO cuando un determinado adaptador de red está activo. ¿Alguna idea?

1voto

JT. Puntos 394

No es posible....

Desde https://developer.apple.com/library/content/documentation/MacOSX/Conceptual/BPSystemStartup/Chapters/Introduction.html

Disponibilidad de la red Si tu demonio depende de que la red esté disponible, esto no puede ser manejado con dependencias porque las interfaces de red pueden ir y venir en cualquier momento en OS X. Para resolver este problema, debes utilizar la funcionalidad de accesibilidad de la red o la funcionalidad de almacenamiento dinámico en el marco de trabajo de la Configuración del Sistema. Esto está documentado en las Directrices de Programación de Configuración del Sistema y en la Referencia del Marco de Configuración del Sistema. Para obtener más información sobre la accesibilidad de la red, consulte Determinar la accesibilidad y conectarse en las Directrices de programación de la configuración del sistema.

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