среда, 10 июля 2019 г.

OpenConnect задать ip клиенту


Совместная работа OpenConnect и OpenVPN в среде Windows
Импорт клиентского сертификата windows

Должно быть сделано это продолжение.
Для пользователя server:

$ cd /etc/ocserv/ssl/
$ sudo ocpasswd -c /etc/ocserv/ocpasswd server
Enter password:
Re-enter password:


Запустите следующую команду для создания закрытого ключа клиента server

$ sudo certtool --generate-privkey --outfile server-privkey.pem

$ sudo nano server.cfg

Скопировать ниже, uid = "server", пользователя созданного выше: 

# X.509 Certificate options
# The organization of the subject.
organization = "Example Org"

# The common name of the certificate owner.
cn = "server"

# A user id of the certificate owner.
uid = "server"

# In how many days, counting from today, this certificate will expire. Use -1 if there is no expiration date.
expiration_days = 3650

# Whether this certificate will be used for a TLS server
tls_www_client

# Whether this certificate will be used to sign data
signing_key

# Whether this certificate will be used to encrypt data (needed
# in TLS RSA ciphersuites). Note that it is preferred to use different
# keys for encryption and signing.
encryption_key

Сохранить.

Запустите следующую команду для создания сертификата клиента, который будет подписан закрытым ключом CA.

$ sudo certtool --generate-certificate --load-privkey server-privkey.pem --load-ca-certificate ca-cert.pem --load-ca-privkey ca-privkey.pem --template server.cfg --outfile server-cert.pem

Объедините закрытый ключ клиента и сертификат в файле PKCS # 12, который защищен PIN-кодом.

$ sudo certtool --to-p12 --load-privkey server-privkey.pem --load-certificate server-cert.pem --pkcs-cipher aes-256 --outfile server.p12 --outder
Generating a PKCS #12 structure...
Loading private key list...
Loaded 1 private keys.
Enter a name for the key: server
Enter password:
Confirm password:

$ sudo nano /etc/ocserv/ocserv.conf

Изменить:

config-per-user = /etc/ocserv/config-per-user/

Сохранить. 

$ sudo mkdir /etc/ocserv/config-per-user/

$ sudo nano /etc/ocserv/config-per-user/server

explicit-ipv4=10.10.10.2

Сохранить

$ sudo systemctl restart ocserv

Подключение клиента на Ubuntu

Проверка

$ sudo apt install openconnect

Положить сертификат /root/server.p12

$ sudo openconnect -b vpn.example.com -c /root/server.p12

$ sudo /bin/bash -c '/bin/echo -n password | /usr/sbin/openconnect vpn.example.com -c /root/server.p12'


$ sudo nano /etc/systemd/system/openconnect.service

Вставить:

[Unit]
  Description=OpenConnect VPN Client
  After=network-online.target
  Wants=network-online.target

[Service]
  Type=simple
  #ExecStart=/bin/bash -c '/bin/echo -n password | /usr/sbin/openconnect vpn.example.com -u username --passwd-on-stdin'
  ExecStart=/bin/bash -c '/bin/echo -n password | /usr/sbin/openconnect vpn.example.com -c /root/server.p12'
  ExecStop=/usr/bin/pkill openconnect
  Restart=always
  RestartSec=2

[Install]
  WantedBy=multi-user.target

Сохранить.

$ sudo systemctl enable openconnect.service

$ sudo systemctl start openconnect.service

Если что то менялось:
$ sudo systemctl daemon-reload
$ sudo systemctl start openconnect.service


Под windows сделать reconnect (если перезагрузка сервера) через 2 с.

start.bat

:again
"c:\Program Files (x86)\OpenConnect-GUI\openconnect.exe" vpn.com -c client.p12 --key-password=password --reconnect-timeout 2
goto again



e:\ubuntu\Openconnect>openvpn --show-adapters
Available TAP-WIN32 adapters [name, GUID]:
'Ethernet 2' {500EBB39-0CC1-4CBB-A1AA-7DECD679C5D5}
'Ethernet 3' {879AEEC2-87B6-4F0B-BFC6-78046DC6A513}
'Ethernet 4' {D64B1550-D033-4810-8F13-03B18992A20C}
'Ethernet 5' {CA18A6B2-4FAF-4247-9A12-17080869463C}
'Ethernet 6' {361E1C54-5E8F-4450-AD13-6FCAF8E9100A}
'Ethernet 7' {D0C959D0-694C-4984-96A9-A6A8869052A8}

"C:\Program Files\TAP-Windows\bin\addtap.bat"

Для совместной работы OpenVPN c OpenConnect через gui совет наделать много tap, (по числу соединений), для OpenVPN с конца, указывая в конфигах:

;dev-node MyTap
dev-node 'Ethernet 7'

Для OpenConnect tap от 'Ethernet 2' и далее.


Комментариев нет:

Отправить комментарий