...
- Подключить ключевой носитель к клиентскому узлу.
- Записать на ключевой носитель сертификат и закрытый ключ клиента:
гдеCommand p11tool --login --write --load-certificate="<путь_к_клиентскому_сертификату>" --id=<идентификатор_объекта> --label="<название_объекта>"
p11tool --login --write --load-privkey="<путь_к_клиентскому_закрытому_ключу>" --id=<идентификатор_объекта> --label="<название_объекта>"
- <идентификатор_объекта> – идентификатор, с которым сертификат и ключ будут храниться на токене;
- <название_объекта> – название, с которым сертификат и ключ будут храниться на токене.
Пример команд:Command p11tool --login --write --load-certificate="client.cert.pem" --id=45 --label="mykey"
p11tool --login --write --load-privkey="client.key.pem" --id=45 --label="mykey"
- Включить поддержку токенов в strongSwan.
Для этого в файле/etc/strongswan.d/charon/pkcs11.confв секцииmodulesуказать произвольное название модуля и путь до интерфейсной библиотеки используемого токена:
Например, для Рутокена файлБлок кода pkcs11 { # Whether to load the plugin. Can also be an integer to increase the # priority of this plugin. load = yes ... # List of available PKCS#11 modules. modules { <название_модуля> { path = <путь_к_интерфейсной_библиотеке_токена> } } }/etc/strongswan.d/charon/pkcs11.confможет выглядеть так:Блок кода pkcs11 { load = yes modules { rutoken { path = /usr/lib/librtpkcs11ecp.so } } } - Настроить strongSwan на использование закрытого ключа клиента, который находится на токене.
Для этого в файле/etc/ipsec.secretsуказать строку с описанием токена и закрытого ключа:
гдеБлок кода : PIN <токен_и_закрытый_ключ> <pin-код_токена>
- <токен_и_закрытый_ключ> – задаётся по формату: %smartcard[<номер_слота_с_токеном>[@<название_модуля>]]:<идентификатор_объекта>
- <название_модуля> – вышезаданное в настройках название модуля;
- <идентификатор_объекта> – идентификатор закрытого ключа, хранящегося на токене.
Пример описания для вышеприведённого Рутокена:Блок кода : PIN %smartcard0@rutoken:45 12345678
- Перезапустить strongSwan для применения настроек:
Command sudo systemctl restart strongswan-starter
Для просмотра состояния установленного VPN-соединения используется команда:
| Command |
|---|
sudo ipsec status |
Пример вывода команды:
| Блок кода |
|---|
Routed Connections:
client{1}: ROUTED, TUNNEL, reqid 1
client{1}: 10.192.6.110/32 === 10.1.1.0/24
Security Associations (1 up, 0 connecting):
client[1]: ESTABLISHED 5 minutes ago, 10.192.6.110[CN=10.192.6.110]...10.192.6.108[10.192.6.108]
client{2}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: cd036fde_i c829d2f1_o
client{2}: 10.1.1.1/32 === 10.1.1.0/24 |
Либо для вывода более подробной информации о соединении:
| Command |
|---|
sudo ipsec statusall |
| Раскрыть | ||
|---|---|---|
| ||
|