Прозрачное решение для обхода локальных исходящих межсетевых экранов для сценариев Python
Вот проблема: у меня есть несколько пакетов Python, которые имеют unittest, для работы которого требуется доступ к различным онлайн-сервисам, таким как подключение к базе данных postgresql или серверу LDAP/AD.
Во многих случаях они не будут выполняться успешно, потому что локальная сеть защищена брандмауэром, пропуская только основной исходящий трафик через порты, такие как 22, 80, 443, 8080 и 8443.
Я знаю, что первое, что приходит вам в голову: создать VPN. Это не то решение, которое я ищу, и это связано с двумя важными вопросами: повлияет ли другое программное обеспечение, работающее на той же машине, возможно, на его взлом.
Другим решением, которое я имел в виду, была переадресация порта SSH, которую я успешно использовал, но также это очень сложно настроить, и, что еще хуже, оно требует от меня повторной настройки адресов, к которым пытается подключиться скрипт python, и я не хочу иди этим путем.
Я ищу решение, которое могло бы работать так:
- определить наличие брандмауэра, препятствующего вашему доступу
- настроить обходную стратегию (прокси?)
- запустить скрипт
- восстановить настройки.
Есть ли способ настроить это прозрачным способом, который бы не потребовал от меня внесения изменений в исполняемый скрипт / приложение?
1 ответ
Можно ли запустить сам скрипт через эти шаги? Под этим я подразумеваю фазу настройки вашего модульного тестирования зонда для брандмауэра, и, если он обнаружен, как-то динамически настройте прокси-сервер, используйте его для запуска модульных тестов, а затем, когда закончите демонтаж прокси. Кажется, что это обеспечит прозрачность, к которой вы стремитесь.