ساخت یک paas خانگی - قسمت سوم: نصب OpenVPN

خب با توجه به مشکلاتی که به خاطر تحریم ها پیش اومده و کار توسعه دهنده ها رو دشوار کرده تصمیم گرفتیم یک راه حل پایدار برای برطرف کردن مشکل پیاده سازی کنیم.در این قسمت VPS رو آماده می کنیم و در قسمت بعدی نحوه اتصال به اون رو از طریق pfSense توضیح میدیم.در مرحله اول ما به یک VPS نیاز داریم که در یک کشور خارجی باشه. این VPS به سخت افزار خاصی نیاز نداره بنابراین کمترین هزینه ممکن رو براش انجام بدید.خیلی از هاستیگ های ایرانی امکان خرید VPS های خارجی رو دارند که می تونید از اونها برای خرید استفاده کنید. ما از Hetzner استفاده می کنیم. سیستم عامل رو Ubuntu 20.04 بزارید که همه کامند ها رو بتونید مشابه ما اجرا کنید.ساخت VPSبعد از اینکه ساخت VPS تموم شد با ssh و با کمک یوزر و پسوری که دارید بهش وصل بشید.اولین مرحله تغییر پسورد هست با دستور زیر این کار رو انجام بدید:#change your password passwdمرحله بعد نصب داکر هست. برای نصب داکر می تونید از لینک زیر استفاده کنید:https://docs.docker.com/engine/install/ubuntu/کامند های مورد نیاز به این صورت هست:#step 1 apt-get update#step 2 apt-get install ca-certificates curl gnupg lsb-release#step 3 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg#step 4 echo &quotdeb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable&quot | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null#step 5 apt-get update#step 6 apt-get install docker-ce docker-ce-cli containerd.ioبعد از اینکه مراحل نصب تموم شد می تونید برای تست نصب داکر از این کامند استفاده می کنیم:docker --versionشما می توانید Docker Compose رو هم نصب کنید تا در بعضی مواقع ازش استفاده کنید:apt-get install docker-compose-pluginما برای مدیریت کانتینر ها از portainer استفاده می کنیم پیشنهاد می کنم شما هم ازش استفاده کنید ولی اگر ابزاری دیگری برای این کار دارید می تونید این مرحله رو انجام ندید.برای نصب portainer از این لینک استفاده کنید:https://docs.portainer.io/v/ce-2.11/start/install/server/docker/linuxکامند های مورد نیاز به این صورت هست:#Step 1 docker volume create portainer_data #Step 2 docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:2.11.1برای تست نصب کافیست از این کامند استفاده کنیدdocker psبرای مراجعه به داشبورد portainer اگر مثل ما از پورت های پیش فرض استفاده کرده باشید کافی هست به این آدرس برید:https://[your ip vps]:9443به https بودن آدرس توجه کنید و ریسک دسترسی نا امن رو بپذیرید و به صفحه اول portainer برسیدبه portainer خوش آمدید، در صفحه اول گزینه اول رو انتخاب کنید و بعد local رو انتخاب کنید تا به داکری که نصب کردید دسترسی کامل داشته باشید:خب همه این مراحل مقدمه ای بود برای نصب OpenVPNبرای نصب OpenVPN ما از klyemanna استفاده می کنیم. مزیتی که داره این هست که هیچ محدودیتی نداره ولی مشکل ش نداشتن ui هست.برای نصب می تونید از این لینک استفاده کنید:https://github.com/kylemanna/docker-openvpnما از این کامند ها استفاده کردیم:OVPN_DATA=&quotopenvpn_data&quotdocker volume create --name $OVPN_DATAdocker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.SERVERNAME.COMdocker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn ovpn_initpkidocker run -v openvpn_data:/etc/openvpn -d -p 1194:1194/udp -p 80:80 -p 443:443 -p 14339:14339 -p 996:996 -p 25:25 -p 465:465 -p 587:587 --cap-add=NET_ADMIN --name paas_openvpn kylemanna/openvpnاطلاعات در خواستی در این مرحله رو وارد کنید تا کلید ها تولید شودکلید ca که در این مرحله از شما درخواست میشه رو در مراحل بعدی نیاز دارید پس در حفظ و نگهداری آن کوشا باشید D:بعد از نصب مرحله بعدی ساخت یک کلاینت هست.برای ساخت کلاینت و دریافت فایل ovpn از این کامند ها استفاده کنید و اطلاعاتی که می خواهد رو وارد کنیدdocker run -v $OVPN_DATA:/etc/openvpn --rm -it kylemanna/openvpn easyrsa build-client-full PaaS nopassdocker run -v $OVPN_DATA:/etc/openvpn --rm kylemanna/openvpn ovpn_getclient PaaS > PaaS.ovpnخط آخر اطلاعات کلاینت رو روی فایل PaaS.ovpn می نویسه حالا کافی هست با دستور زیر محتویات اون رو بخونید:cat PaaS.ovpnتوی فایل یه سری اطلاعات هست که توی مرحله بعدی به اونها نیاز داریمشکل فایل ovpn این طوری هست:clientnobinddev tunremote-cert-tls serverremote VPN.SERVERNAME.COM 1194 udp<key>-----BEGIN PRIVATE KEY----- یه سری کاراکتر -----END PRIVATE KEY-----</key><cert>-----BEGIN CERTIFICATE----- یه سری داستان -----END CERTIFICATE-----</cert><ca>-----BEGIN CERTIFICATE----- یه سری کاراکتر -----END CERTIFICATE-----</ca>key-direction 1<tls-auth>## 2048 bit OpenVPN static key#-----BEGIN OpenVPN Static key V1----- یه سری کاراکتر -----END OpenVPN Static key V1-----</tls-auth>redirect-gateway def1این اطلاعات رو داشته باشید در قسمت بعدی نحوه وصل شده به OpenVPN از طریق pfSense رو توضیح میدم.ساخت یک paas خانگی - قسمت اول: مقدمهساخت یک paas خانگی - قسمت دوم: VMware ESXi--> ساخت یک paas خانگی - قسمت سوم: نصب OpenVPNساخت یک paas خانگی - قسمت چهارم: تنظیم pfSenseساخت یک paas خانگی - قسمت پنجم: تنظیمات OpenVPNساخت یک paas خانگی - قسمت ششم: نصب CapRover