What's new

Tutorial Docker Pritunl OpenVPN, Shadowsocks, Squid, and More...

gabotron

Enthusiast
Joined
Aug 19, 2020
Posts
82
Solutions
1
Reaction
31
Points
48
Mga mamser, ito ang aking project na pinangalanan kong Underpass - A Docker-based Personal Tunneling Server.

underpass_banner_2.png


Compilation ito ng mga Docker apps na related sa VPN, proxy, atbp. Na-bundle ko lang into an All-In-One deployment. Ito ang mga kasamang apps sa Underpass:

Core Services:
  • Pritunl VPN with IPv6 support (from goofball222)
  • Wireguard (from linuxserver)
  • Shadowsocks (from gists)
  • Dante SOCKS (from wernight)
  • Squid (from b4tman)
  • OpenSSH-Server (from yuriyvlasov)
  • Portainer-CE
  • Netdata
  • MongoDB
Optional Services *:
  • Heimdall (from linuxserver)
  • Nginx Proxy Manager (from jlesage)
  • Droppy (from silverwind)
  • mongo-express
  • rdesktop (from linuxserver)
  • SoftEther (from cenk1cenk2)

Requirements:
  • Ubuntu 18.04 or CentOS 7 only, x64, fresh install
  • 2GB RAM, 1 vCPU VPS
Unfortunately, di kakayanin ng Underpass ang 1GB RAM na server. Ang minimum system requirements ay 2GB RAM, 1vCPU VPS. Na-test ko na sa Hetzner Cloud, Digital Ocean, tsaka Google Cloud. Nag-out of memory ang Squid proxy sa 1GB VPS.

Since Docker-based itong Underpass, pwede ninyong i-deploy sa existing system na supported ng Docker. Just make sure na naintindihan ninyo ang networking and firewall aspects ng Docker.


Installation:

CentOS 7, as root:
bash <(curl -s https://raw.githubusercontent.com/gabotronix/underpass/master/install_centos7.sh)

Ubuntu 18.04, as root:
bash <(curl -s https://raw.githubusercontent.com/gabotronix/underpass/master/install_ubuntu.sh)

Estimated Install Time:
CentOS 7, 2GB = ~11 minutes
Ubuntu 18.04, 2GB = ~6 minutes


Configuration:
Since medyo marami ang Docker apps na kasama sa Underpass, kung pwede po mga mamser, basahin niyo nalang ang configuration steps sa repository ko:

https://github.com/gabotronix/underpass#initial-configuration


Features:
  • Web UI for OpenVPN server via Pritunl
  • Pritunl VPN supports IPv6, TCP, UDP (Wireguard not supported)
  • Web UI for Docker containers via Portainer
  • Web UI for server load via Netdata
  • Centralized and less complex configuration
  • Customizable port assignments via a text file
  • Clean, easy, and repeatable installation
  • No worries on app dependencies
  • Only fail2ban is running on the Docker host, the rest are Docker-based
  • Open ang lahat ng code para pwede niyong busisiin at pag-aralan
Maganda ito for personal use mga mamser kasi bukod sa mga web panels, madaling i-edit at nasa iisang folder location lang ang mga configuration files. Minimal effort sa pag-configure ng mga services.

-------------------------------------------------

Preview of Web UI's:

Pritunl OpenVPN server creation:
pritunl_servers_tcp_udp.png


Portainer - stop, restart, stop, delete containers, install other containers, check logs in realtime, check container disk, RAM, CPU usage, access container console, and more
portainer_container_list.png


Netdata - check server load, memory usage, network load, other server stats
netdata.png


-------------------------------------------------

* Optional Services Description
Kung malakas ang VPS specs niyo mga mamser, marami pa kayong pwede i-install.

Heimdall
Ang Heimdall ay isang application dashboard. Para hindi kayo mahirapang mag-memorize ng IP and port URL combination, ilagay niyo lang sa kanya ang mga access URLs ninyo para isang page nalang ang bisitahin niyo next time.

Nginx Proxy Manager
Ito ay isang Web panel para sa reverse proxy with built-in SSL via Let's Encrypt. Kung may sarili kayong domain name, pwede niyong i-set ang mga access URL's ninyo para mas malinis at para walang browser privacy warning.

Droppy
Ito ay isang file hosting application. Kung gusto niyong i-share ang mga ovpn o kung ano pang configuration files, pwede niyong i-upload sa Droppy at i-share ang link.

mongo-express
Ito ay isang web UI para sa MongoDB, ang database na ginagamit ng Pritunl VPN.

rdesktop
Pwede niyong i-access directly ang VPS ninyo via Remote Desktop. Kumbaga lalagyan niya ng desktop environment ang VPS. Di masyado useful, pero pwede kayong mag-browse.

Softether L2TP VPN
Kung di kayo kuntento sa OpenVPN, pwede niyong i-install ito. Di ako masyadong familiar sa configuration nito.

-------------------------------------------------

Testing
Na-test ko na itong Underpass deployment ko mga mamser, pero di ko kabisado lahat. Hopefully, ma-test niyo rin at ma-share ang mga configs and experiences ninyo.

Apps Tested:
  • HTTP Proxy Injector on Windows 10 (via SSH - HTTP proxy - Payload - CONNECT method)
  • HTTP Proxy Injector on Android (via Shadowsocks)
  • HTTP Proxy Injector on Android (via SSH - HTTP proxy - Payload - CONNECT method)
  • Shadowsocks client for Windows
  • Wireguard client for Windows
  • Wireguard client for Android
  • Squid HTTPS authenticated proxy via Proxifier for Windows
  • Dante SOCKS5 authenticated proxy via Proxifier for Windows
  • OpenVPN client with http-proxy, http-proxy-user-pass config
  • OpenVPN client with socks-proxy, username and password via text file
  • Pritunl client with http-proxy, http-proxy-user-pass config
  • Pritunl client with socks-proxy, username and password via text file

Not working:
  • OpenVPN config containing http-proxy-option CUSTOM-HEADER
 

Attachments

Technically, pwede sa Windows kasi may Docker Desktop naman. Kaya lang hindi designed ang installer ko for other systems besides CentOS 7 and Ubuntu 18.04. Medyo complicated sa Windows due to Hyper-V or WSL2, kaya di ko supported.
 
Overkill ito kung SSH lang ang i-install mo. Anyway, pwede pa rin naman. Install mo lang using the single command above, tapos access mo ang Portainer. Stop and Remove mo lahat ng containers dun except for ssh

After installation, check mo documentation ko on how to configure Open-SSH Server:
Code:
https://github.com/gabotronix/underpass-docs/blob/draft/openssh.md
 
I would if I can get my hands on a Raspberry Pi. Anyway, may hosting naman sa You do not have permission to view the full content of this post. Log in or register now.. Subukan ko sa weekend if I have time. Raspberry Pi 4 lang ang qualified kasi 4GB ang RAM niya.
 
Back
Top