W tym poradniku skonfiguruję serwer Open VPN w Dockerze z CloudSigma. Dzięki lokalizacjom chmurowym CloudSigma rozproszonym na całym świecie, możesz utworzyć serwer w dowolnej z nich i uzyskiwać stamtąd dostęp do treści.
Tworzenie maszyny
Najpierw tworzę maszynę z następującymi zasobami:
20 GHz CPU
16 GB RAM
20 GB SSD
Montuję dysk z obrazem Ubuntu 18.04 dostępnym w bibliotece CloudSigma.
Ubuntu 18.04 : Preinstalowany system 64-bitowy ze sterownikami VirtIO, superużytkownikiem, Pythonem 2.7.15, Pip 18.0, OpenSSL 1.1.0i, Cloud-init i najnowszymi aktualizacjami do 2018-09-30.
Aktualizacja wszystkich istniejących repozytoriów i pakietów na maszynie.
|
1 2 |
sudo apt update sudo apt upgrade |
Teraz, gdy nasz system jest aktualny, przejdę do instalacji Dockera. Więcej informacji na temat Dockera można znaleźć tutaj.
Instalowanie Dockera
Mogę zainstalować Dockera, wykonując następujące polecenia:
|
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
Teraz, gdy Docker został pomyślnie zainstalowany, mogę przejść do uruchomienia OpenVPN Access Server. Poniżej znajduje się polecenie utworzenia nowego kontenera Docker dla OpenVPN Access Server ze wskazaną konfiguracją.
|
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 |
Poniższe polecenia są wymienione na stronie obrazu Dockera.
Gdzie openvpn-as powinien przechowywać pliki konfiguracyjne:
|
1 |
-v /config |
Dla GroupID:
|
1 |
-e PGID |
Używane dla UserID:
|
1 |
-e PUID |
Dla ustawienia strefy czasowej:
|
1 |
-e TZ |
Ustawienie interfejsu dla openvpn-as, domyślnie to eth0:
|
1 |
-e INTERFACE |
WAŻNE, dla większości użytkowników, musi działać w trybie hosta:
|
1 |
--net=host |
WAŻNE, nie będzie działać bez trybu uprzywilejowanego:
|
1 |
--privileged |
Aby uzyskać identyfikator grupy i użytkownika, wykonaj następujące polecenie:
|
1 |
id |
Jako strefę czasową podaję CET.
Aby sprawdzić interfejs, wykonaj następujące polecenie:
|
1 |
ip r |
Interfejsem zazwyczaj będzie ens3 lub eth0. W moim systemie jest to ens3.
Po dodaniu tych wszystkich elementów wykonuję następujące polecenie:
|
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 |
Ponieważ nie mamy jeszcze tego obrazu w naszym systemie, zostanie on pobrany z serwera. Wynik będzie następujący:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
Nie można znaleźć find obrazu 'linuxserver/openvpn-as:latest' lokalnie latest: Pobieranie z linuxserver/openvpn-as 56d9dc91333b: Pobieranie zakończone 1356b0cfc067: Pobieranie zakończone 155f3c53d4a5: Pobieranie zakończone 05088c205b6d: Pobieranie zakończone 112068b0fa4e: Pobieranie zakończone 2ff5dd4a0d9b: Pobieranie zakończone 7dd87385ca73: Pobieranie zakończone d966d969c7cd: Pobieranie zakończone 4439dbcda217: Pobieranie zakończone 5f960f89c64e: Pobieranie zakończone Digest: sha256:d65f743bcec24b6b6ad0b19f9d7876cd70d5237690a940301b2366d6d5767a80 Stan: Pobrano nowszy obraz dla linuxserver/openvpn-as:latest f0a1eb5440b5a423f8f21081d8654aaba2c0bd9995d2dea88a979c97ea977e16 |
Uruchamianie kontenera za pomocą tego polecenia:
|
1 |
sudo docker start openvpn-as |
Zaloguj się
Po uruchomieniu przejdę do panelu administracyjnego serwera dostępowego.
Przejście pod adres URL: https://<<YourIpAddress>>:943/admin

Zostaniesz poproszony o nazwę użytkownika i hasło, które domyślnie to:
Nazwa użytkownika: admin
Hasło: password

Po zalogowaniu pojawia się pytanie, czy akceptuję umowę EULA (End User License Agreement). Klikam „Agree” i przechodzę do panelu administracyjnego.

Ze względów bezpieczeństwa zaleca się zmianę hasła konta administratora. Zmieniam je za pomocą następującego polecenia:
|
1 |
docker exec -it openvpn-as passwd admin |
Konfiguracja DNS
Teraz, gdy nasz serwer działa, chcielibyśmy skonfigurować w nim DNS. Aby uzyskać więcej informacji na temat serwerów nazw domen (DNS), kliknij tutaj.
Jednym z najszybszych serwerów DNS jest serwer Google’a. Skonfiguruję go w moim OpenVPN Access Server, aby moi klienci mogli łatwo przeglądać strony internetowe.
Przechodzę do ustawień VPN i w sekcji ustawień DNS włączę opcję „Have clients use specific DNS servers.”

Następnie wpiszę następujące adresy w kolumnach DNS Server:
Podstawowy serwer DNS: 8.8.8.8
Zapasowy serwer DNS: 8.8.8.4

Zapisz ustawienia i kliknij „Update Running Server.” Spowoduje to aktualizację działającego serwera.
Po pomyślnej konfiguracji serwera mogę przejść do łączenia się z VPN z poziomu mojego systemu.
Dostęp do interfejsu klienta pod adresem: https://<<YourIpAddress>>:943.
Wprowadź nazwę użytkownika administratora, hasło administratora lub utwórz nowego użytkownika w sekcji User Management panelu administracyjnego.
Po zalogowaniu pojawią się różne opcje dla różnych systemów operacyjnych. Wybieram Windows i pobieram oprogramowanie klienckie.

Po zainstalowaniu mogę go uruchomić z menu Start lub uruchomi się automatycznie. Z zasobnika systemowego mogę połączyć się z VPN, korzystając z wcześniej skonfigurowanego konta.

I jestem połączony z VPN. Et Voila! W ten sposób tworzy się serwer VPN w Dockerze.
Komentarze
Brak komentarzy. Bądź pierwszy.