در قسمت های قبلی نصب OpenVPN رو انجام دادیم و ماشین Ubuntu رو بهش وصل کردیم اما ترافیک فقط به صورت یک طرفه برقرار شد در این قسمت می خواییم نحوه پیاده سازی ترافیک دریافتی رو انجام بدیم تا سرویس های آینده از طریق سرور ما قابل دریافت باشه.
راه کاری که ما ازش استفاده کردیم نوشتن Route روی کانتینر OpenVPN هست که انجام این کار ما از این مستند استفاده کردیم:
https://github.com/kylemanna/docker-openvpn/wiki/Port-forwarding#persistent-setup
مراحلی که ما انجام دادیم به این صورت هست:
مشابه عکس به قسمت Containers در Portainer که قبلا روی VPS نصب کردیم میریم:
کانتینر مربوط به OpenVPN رو پیدا می کنیم و روی آیکن مربطو به exec consol کلیک می کنیم و در صفحه بعد با زدن دکمه Connect به کنسول کانتینر متصل می شویم. توجه داشته باشید که همون که قبلا هم گفتم اگر Portainer نداشته باشید از طریق کامند های مربوط به داکر می تونید همین کار رو انجام بدید.
ما برای نوشتن Route ها از iptables استفاده می کنیم. پورت های اصلی که باید حتما باز باشند http و https هست که به ترتیب 80 و 443 هست. علاوه بر اینها ما یک پورت دلخواه برای MS Sql Server باز می کنیم. ما از پورت 14339 استفاده کردیم شما می تونید از هر پورتی استفاده کنید. همچنین پورت های مربوط به SMTP رو هم برای راه اندازی میل سرور باز کردیم.
کامند هایی که ما زدیم به این صورت هستند:
iptables --list #http iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.255.6:80 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 80 -j ACCEPT #https iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.255.6:443 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 443 -j ACCEPT #sql server 2019 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 14339 -j DNAT --to 192.168.255.6:14339 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 14339 -j ACCEPT #smtp 25 465 587 iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 25 -j DNAT --to 192.168.255.6:25 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 25 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 465 -j DNAT --to 192.168.255.6:465 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 465 -j ACCEPT iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 587 -j DNAT --to 192.168.255.6:587 iptables -A FORWARD -p tcp -d 192.168.255.6 --dport 587 -j ACCEPT
توجه داشته باشید که آی پی 192.168.255.6 که ما از اون استفاده کردیم ممکن است برای شما متفاوت باشد. برای مشاهده این آی پی کافی هست که وضعیت Interface ها در pfsense را مشاهده کنید:
تا این مرحله Route های مربوطه نوشته شد ولی هنوز دسترسی وجود ندارد چون فایروال برای این کار تنظیم نشده.
برای تنظیم فایروال مشابه عکس زیر به قسمت Port Forward می رویم و پورت های قسمت قبل رو اضافه می کنیم:
به عنوان نمونه تنظیمات پورت 14339 مثل شکل زیر می شود:
بعد از انجام NAT خود pfsense رول های مربوط به اون رو اضافه می کنه:
مرحله آخر انجام تست هست.
برای تست برقراری ارتباط، روی ماشین Ubuntu یک سرویس Nginx نصب می کنیم.
ما از این کامند استفاده کردیم:
docker run --name mynginx1 -p 80:80 -d nginx
اگر همه چیز درست انجام شده باشد زمانی که در مرورگر آدرس IP مربوط به VPS رو بزنید باید این صفحه رو ببینید:
اگر عملیات تست درست انجام شده بود سرویس Nginx رو حذف کنید.
در قسمت بعدی نحوه نصب CapRover رو توضیح میدم.
ساخت یک paas خانگی - قسمت اول: مقدمه
ساخت یک paas خانگی - قسمت دوم: VMware ESXi
ساخت یک paas خانگی - قسمت سوم: نصب OpenVPN
ساخت یک paas خانگی - قسمت چهارم: تنظیم pfSense
--> ساخت یک paas خانگی - قسمت پنجم: تنظیمات OpenVPN
ساخت یک paas خانگی - قسمت ششم: نصب CapRover