OpenVPN setup

edited March 5 in Networking
To check client's service status on the rig when you upload config and it's not working
systemctl status [email protected]
journalctl -u [email protected] -e --no-pager -n 100

Just to give you a valid example of my working config
/etc/openvpn/server.conf
port 1194
proto udp
dev tun
ca ca.crt
cert myservername.crt
key myservername.key
dh dh2048.pem
topology subnet
server 10.4.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-config-dir ccd
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
log         openvpn.log
verb 3


And the most important client.conf. It should go with certificates files.
client
dev tun
proto udp
remote mysupermegaserver.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca ca.crt
cert client.crt
key client.key
remote-cert-tls server
comp-lzo
verb 3


Please note that in config certificates should be named as in the example:
ca ca.crt
cert client.crt
key client.key
You can upload files with any names, but then will be renamed to ca.crt, client.crt, client.key. In this way you will have 1 config for all rigs.

---

Also you can embed your certificates into one file, to client.conf so you file will look like this
client
dev tun
proto udp
remote mysupermegaserver.com 1194
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
comp-lzo
verb 3

#No need for file names, comment or delete them
#ca ca.crt
#cert client.crt
#key client.key


<ca>
-----BEGIN CERTIFICATE-----
***Paste CA Cert Text Here***
 
-----END CERTIFICATE-----
</ca>

<cert>
-----BEGIN CERTIFICATE-----
***Paste Your Cert Text Here***
 
-----END CERTIFICATE-----
</cert>

<key>
-----BEGIN PRIVATE KEY-----
***Paste Your Cert Private Key Here***
 
-----END PRIVATE KEY-----
</key>




Also if you want TLS Auth then you can embed that key in this way
key-direction 1

<tls-auth>
-----BEGIN OpenVPN Static key V1-----
...tls key...
-----END OpenVPN Static key V1-----
</tls-auth>




"auth-user-pass" is now supported also. So just put this option in client config and upload it with giving login and password in upload dialog.
Tagged:

Comments

  • -- reserved --
  • Hello, first of all thank you for your work.
    Could you explain detailed how to remote control a rig?
    I'm using one in a different network, so I need to remote access when I reboot.
  • Хочу поделиться как я устанавливал VPN на свои фермы и дать пару хороших советов в этом непростом деле.

    DimaFern в своем видео говорит мол вы делайте всё по мануалу, я вот по этому мануалу делал, всё получилось: https://help.ubuntu.com/lts/serverguide/openvpn.html
    Начал я делать всё по мануалу, генерировал сертификаты, сертификаты центра сертификации, ключи от сертификатов, сертификаты от ключей, сертификаты сервера, сертификаты клиента, сертификаты tls, сертификаты диффи-хелмана, копировал это всё туда-сюда. По дороге я начал примерно понимать как эта кухня устроена. Но VPN не поднимался. Примерно через 10 часов я уже понял что к чему, в седьмой раз просмотрел видео, и осознал очень важную вещь:

    Ферма - это НЕ СЕРВЕР! Ферма - это КЛИЕНТ!!!

    Сорри что кричу, но в тот момент я именно прокричал эту мысль. Поднимать сервер на ферме оказывается не нужно, он там итак уже работает. Начал я инсталить VPN сервер на windows. Названия процессов типа easy setup и easy rsa уже перестали вызывать ухмылку "да какое ж это изи, если тут куча бат-файлов, которыми надо создать ручками кучу сертификатов и ключей, перед эти прочитав килобайты мелкого текста на английском". Ну ниче, через пару часов я поднял GUI который непонятно почему так назвали, и подключил одну ферму к моему компу. Ура. Ферма находится в соседней комнате, в одной сети. Но, естественно, те фермы, которые за роутером в другом конце города, коннектиться просто так не захотели. Стал я думать как пробросить порты или еще как-то потанцевать с бубном, но тут меня осенила вторая очень умная мысль:

    Надо поднять vpn сервер НА РОУТЕРЕ!!!

    Роутер у меня Asus. Имея 15-часовой опыт ковыряния vpn под двумя операционками, я настроил vpn сервер на роутере за 5 минут. Роутер сгенерировал один конфиг-файл, в котором оказались все необходимые сертификаты, ключи, dh, tls и прочая хрень, которуя я до этого генерил руками и вставлял в разные места руками. Этот один-единственный файл я залил на ферму через веб-интерфейс хайва и - о чудо - всё заработало! Причем этот же самый конфиг я залил в остальные фермы, как внутренние так и внешние, а также себе на комп, и все участники сети приконнектились вообще без проблем. Я не знал то ли мне смеяться то ли наоборот. Надеюсь эта инфа кому-то поможет.
  • Кстати, надо бы исправить следующий баг. Роутер назначает клиентам VPN адреса типа 10.8.0.2, и он их меняет довольно таки часто. Однако в хайве они не меняются. Комманды hello и systemctl restart [email protected] не помогают - всё равно в веб-интерфейсе виден только первоначальный ip. Чтобы узнать реальный ip, приходится заходить на роутер и пытаться угадать кто есть кто.
Sign In or Register to comment.