У меня есть сервер StrongSwan VPN, настроенный на хосте Debian, и я хотел бы запускать собственный сценарий, когда к нему подключается клиент. Единственное, что я придумал, - это периодически проверять содержимое файла журнала, но это кажется неуклюжим.
Есть ли способ указать сценарий для выполнения при подключении, желательно с каким-либо способом вывести исходный IP-адрес и информацию для входа в систему, используемую для этого подключения?
Вы могли бы использовать leftupdown
или rightupdown
параметр (ы) в раздел подключения. Они будут запускать скрипт, указанный в качестве параметра, каждый раз, когда соединение меняет состояние:
left|rightupdown = <path>
what updown script to run to adjust routing and/or firewalling when the status
of the connection changes (default ipsec _updown).
Есть некоторые переменные среды, которые дают вам хотя бы информацию для входа в состояние изменения соединения, например $PLUTO_PEER
дает вам одноранговый IP. Подробнее о доступных переменных среды см. man 8 pluto
(или man 8 ipsec_pluto
).