Прозрачное решение для обхода локальных исходящих межсетевых экранов для сценариев Python

Вот проблема: у меня есть несколько пакетов Python, которые имеют unittest, для работы которого требуется доступ к различным онлайн-сервисам, таким как подключение к базе данных postgresql или серверу LDAP/AD.

Во многих случаях они не будут выполняться успешно, потому что локальная сеть защищена брандмауэром, пропуская только основной исходящий трафик через порты, такие как 22, 80, 443, 8080 и 8443.

Я знаю, что первое, что приходит вам в голову: создать VPN. Это не то решение, которое я ищу, и это связано с двумя важными вопросами: повлияет ли другое программное обеспечение, работающее на той же машине, возможно, на его взлом.

Другим решением, которое я имел в виду, была переадресация порта SSH, которую я успешно использовал, но также это очень сложно настроить, и, что еще хуже, оно требует от меня повторной настройки адресов, к которым пытается подключиться скрипт python, и я не хочу иди этим путем.

Я ищу решение, которое могло бы работать так:

  • определить наличие брандмауэра, препятствующего вашему доступу
  • настроить обходную стратегию (прокси?)
  • запустить скрипт
  • восстановить настройки.

Есть ли способ настроить это прозрачным способом, который бы не потребовал от меня внесения изменений в исполняемый скрипт / приложение?

1 ответ

Можно ли запустить сам скрипт через эти шаги? Под этим я подразумеваю фазу настройки вашего модульного тестирования зонда для брандмауэра, и, если он обнаружен, как-то динамически настройте прокси-сервер, используйте его для запуска модульных тестов, а затем, когда закончите демонтаж прокси. Кажется, что это обеспечит прозрачность, к которой вы стремитесь.

Другие вопросы по тегам