1

Возможный дубликат:
Запустите скрипт в OS X 10.6 по сетевому соединению. (например, /etc/network/if-up.d/)

Я настроил ssh-туннели, чтобы я мог получить доступ к различным компьютерам на работе через наш шлюз. Проблема в том, что мне не нравится всегда настраивать их каждый раз, когда я включаю свой компьютер или подключаюсь / отключаюсь к Интернету, поэтому я надеюсь, что есть способ, которым я могу автоматически запустить сценарий оболочки для настройки туннели всякий раз, когда я подключаюсь к интернету. У меня есть что-то похожее на моей рабочей станции в офисе, где работает Ubuntu, и она использует /etc/network/if-up.d и if-down.d. Есть ли эквивалент на Mac?

2 ответа2

3

Не встроенный; такого рода вещи обычно обрабатываются launchd на OS X, но события up/down сети не находятся в его списке триггеров. К счастью, PyMacAdmin включает в себя программу Crankd, которая предоставляет эту возможность. Вот пример использования crankd для выполнения чего-то похожего (хотя он использует его для запуска модуля Python, а не сценария оболочки, поэтому детали немного отличаются). Я не пробовал это, но похоже, что вам просто нужно создать файл plk crankd примерно так:

<?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>SystemConfiguration</key>
    <dict>
        <key>State:/Network/Global/IPv4</key>
        <dict>
            <key>command</key>
            <string>/usr/local/libexec/networkchangescript</string>
        </dict>
    </dict>
</dict>
</plist>

... затем напишите /usr /local /libexec /networkchangescript, чтобы определить, работает ли сеть (AIUI будет запущен для любых изменений, будь то вверх, вниз или вбок), и при необходимости настройте туннели. Наконец, создайте список запусков для запуска crankd (подробности см. В примере, который я привел).

2

Я предполагаю, что контекстно-зависимые инструменты, такие как MarcoPolo, могут сделать свое дело, конечно, если вы используете какой-то сценарий оболочки для настройки туннелей:

Гибкое нечеткое сопоставление на основе правил:

  • [..]
  • Назначенные IP-адреса
  • Активные сетевые ссылки
  • Видимые сети WiFi

Действия, инициируемые изменением контекста (входящий или выходящий) с необязательной задержкой:

  • [..]
  • Монтирование сетевых ресурсов (smb://, afp:// и т.д.)
  • Изменение расположения сети OS X
  • Выйти из приложения
  • Запуск сценария оболочки (или любого другого типа сценария через Platypus)
  • Установить или отключить VPN

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .