Есть Python скрипты (под каждого клиента), который запускается по крону. Скрипт подключается к удаленным серверам. Один из клиентов не дает прямого подключения к сервера, а предлагает реализовать vpn соединение до сервера?
Можно ли реализовать средствами Python это vpn соединение только для одной копии скрипта? И если можно, как это реализовать? Или VPN клиент нужно реализовать средствами ОС? Но тогда у меня не будут работать остальные копии скрипта.
ОС: Ubuntu Server
VPN соединение устанавливается внешними по отношению к вашей программе средствами. Максимум что вам нужно сделать из вашей программы - вызвать утилиту подключения к VPN и по завершении отключиться через эту же утилиту.
После этого удаленный сервер становится доступным, к примеру, по адресу 10.10.0.5, по которому он ранее до установки соединения не был доступен.
После этого и обращаетесь к этому самому 10.10.0.5 из этого экземпляра вашей программы.
В остальных копиях - обращаетесь к другим серверам, по другим адресам.
Спасибо за ответ. Именно так я предполагал. Но тут возникает вопрос. VPN подключение активировано, сервер клиента доступен. Но параллельно работают другие копии скрипта, которые подключаются через интернет к их серверам. И тут возникает вопрос, при активированном VPN соединении, будет доступен интернет? Извиняюсь за заранее нубский вопрос))
Doc44, В этом и проблема. VPN подключение просто создает соединение с сервером, интернета там нет. Получается у меня при активировании этого соединения, пропадет интернет и другие копии скрипта работать не будут.
gadzhi15,
с большой вероятность это зависит от настроек вашего VPN-подключения.
при определенных настройках вы можете ходить одновременно как в интернет (напрямую, не через VPN-соединение) так и в VPN.
см. таблицу маршрутизации и настройки VPN-клиента по части изменению маршрутизации в момент подключения.