V tomto návodu nastavím Open VPN server pod Dockerem s CloudSigma. S cloudovými lokalitami CloudSigma rozmístěnými po celém světě, můžete v kterékoli z nich vytvořit server a přistupovat k obsahu odtud.
Vytvoření stroje
Nejprve vytvořím stroj s následujícími prostředky:
20 GHz CPU
16 GB RAM
20 GB SSD
Připojuji disk s obrazem Ubuntu 18.04, který je k dispozici v knihovně CloudSigma.
Ubuntu 18.04 : Předinstalovaný 64bitový systém s ovladači VirtIO, superuživatelem, Python 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init a nejnovějšími aktualizacemi do 30. 9. 2018.
Aktualizace všech existujících repozitářů a balíčků v systému.
|
1 2 |
sudo apt update sudo apt upgrade |
Nyní, když je náš systém aktuální, přejdu k instalaci Dockeru. Další informace o Dockeru naleznete zde.
Instalace Dockeru
Docker mohu nainstalovat spuštěním následujících příkazů:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable" sudo apt-get update sudo apt-get install docker-ce |
OpenVPN
Nyní, když je Docker úspěšně nainstalován, mohu začít se zprovozněním OpenVPN Access Serveru. Následuje příkaz pro vytvoření nového Docker kontejneru OpenVPN Access Serveru se specifikovanou konfigurací.
|
1 2 3 4 5 6 7 8 |
docker create \ --name=openvpn-as \ -v <path to data>:/config \ -e PGID=<gid> -e PUID=<uid> \ -e TZ=<timezone> \ -e INTERFACE=<interface> \ --net=host --privileged \ linuxserver/openvpn-as |
Následující příkazy jsou uvedeny na stránce obrazu Dockeru.
Kde by měl openvpn-as ukládat konfigurační soubory:
|
1 |
-v /config |
Pro GroupID:
|
1 |
-e PGID |
Používá se pro UserID:
|
1 |
-e PUID |
Pro nastavení časového pásma:
|
1 |
-e TZ |
Nastavení rozhraní pro openvpn-as, výchozí je eth0:
|
1 |
-e INTERFACE |
DŮLEŽITÉ, pro většinu uživatelů, musí fungovat v režimu hostitele (host mode):
|
1 |
--net=host |
DŮLEŽITÉ, nebude fungovat, pokud nebude v privilegovaném režimu (privileged mode):
|
1 |
--privileged |
Chcete-li získat ID skupiny a ID uživatele, spusťte následující příkaz:
|
1 |
id |
Časové pásmo uvádím jako CET.
Pro rozhraní spusťte následující příkaz:
|
1 |
ip r |
Rozhraní by obecně bylo ens3 nebo eth0. V mém systému je to ens3.
Po přidání všech těchto věcí spustím následující příkaz:
|
1 2 3 4 5 6 7 8 |
sudo docker create --name=openvpn-as \ --restart=always \ -v /home/docker/openvpn-as/config:/config \ -e INTERFACE=ens3 \ -e PGID=1004 -e PUID=1000 \ -e TZ=Europe/Warsaw \ --net=host --privileged \ linuxserver/openvpn-as |
Protože obraz v našem systému ještě nemáme, bude stažen ze serveru. Výstup bude vypadat takto:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Nelze to najít obraz 'linuxserver/openvpn-as:latest' lokálně latest: Stahování z linuxserver/openvpn-as 56d9dc91333b: Stažení dokončeno 1356b0cfc067: Stažení dokončeno 155f3c53d4a5: Stažení dokončeno 05088c205b6d: Stažení dokončeno 112068b0fa4e: Stažení dokončeno 2ff5dd4a0d9b: Stažení dokončeno 7dd87385ca73: Stažení dokončeno d966d969c7cd: Stažení dokončeno 4439dbcda217: Stažení dokončeno 5f960f89c64e: Stažení dokončeno Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Stav: Stažen novější obraz pro linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Spuštění kontejneru tímto příkazem:
|
1 |
sudo docker start openvpn-as |
Přihlásit se
Nyní, když jsem jej spustil, přejdu do administrátorského panelu přístupového serveru.
Přecházím na URL: https://<<YourIpAddress>>:943/admin

Bude vyžadováno uživatelské jméno a heslo, které je ve výchozím nastavení:
Uživatelské jméno: admin
Heslo: password

Nyní, když jsem se přihlásil, se zobrazí dotaz, zda souhlasím s EULA (licenční smlouva s koncovým uživatelem). Kliknutím na Agree (Souhlasím) přejdu na administrátorský panel.

Z bezpečnostních důvodů se doporučuje změnit heslo účtu admin. Měním ho pomocí následujícího příkazu:
|
1 |
docker exec -it openvpn-as passwd admin |
Konfigurace DNS
Nyní, když náš server běží, budeme v něm chtít nakonfigurovat DNS. Pro více informací o doménových serverech (DNS) klikněte zde.
Jedním z nejrychlejších DNS serverů je ten od Google’u. Chystám se ho nakonfigurovat ve svém OpenVPN Access Serveru, aby moji klienti mohli snadno procházet webové stránky.
Přejdu do nastavení VPN a v nastavení DNS povolím „Have clients use specific DNS servers“.

Dále zadám do sloupců DNS serverů následující adresy:
Primární DNS server: 8.8.8.8
Sekundární DNS server: 8.8.8.4

Uložte nastavení a klikněte na „Update Running Server“. Tím se běžící server aktualizuje.
Nyní, když jsem úspěšně nakonfiguroval server, mohu přejít k připojení k VPN prostřednictvím svého systému.
Přístup ke klientskému uživatelskému rozhraní na: https://<<YourIpAddress>>:943.
Zadejte uživatelské jméno administrátora, heslo administrátora nebo vytvořte nového uživatele v sekci User Management (Správa uživatelů) v administrátorském panelu.
Jakmile se přihlásím, nabídne mi to různé možnosti pro různé operační systémy. Vyberu Windows a stáhnu klientský software.

Nyní, když je nainstalován, jej mohu spustit z nabídky Start, nebo se spustí automaticky. Ze systémové lišty se mohu připojit k VPN pomocí účtu, který jsem si nastavil dříve.

A jsem připojen k VPN. Et Voila! Takto vytvoříte VPN server pod Dockerem.
Komentáře
Zatím žádné komentáře. Buďte první.