VPN connection between iTools Cloud service and Amazon web service (Site-to-Site VPN)

Tergel Munkhbat
Aug 18 · 5 min read

Энэхүү нийтлэл нь Айтүүлс ХК болон FIBO GLOBAL-ийн хамтран гаргаж буй Монголын хамгийн анхны үүлэн үйлчилгээ болох ICS(iTools Cloud Service)-ийг хэрхэн AWS(Amazon Web Service) рүү Site-To-Site VPN холболт хийж тест хийсэн багахан туршилтыг харуулах болно.

Figure 1 Site-To-Site VPN

Site-To-Site VPN гэдэг нь газар зүйн байрлалын хувьд өөр байрлаж буй барилга байгууламжийг(data-centers, offices or branches) хооронд нь олон нийтийн сүлжээн дээгүүр (жишээ нь: Internet) өндөр нууцлалтай холбох боломжийг олгодог технологи юм.

Figure 2 Test environment

Эндээс харвал бид одоо байгаа On-Premises дээрээ заавал шинэ server захиалж, суулгаж бүтэн 1 сар алдах хэрэггүй болсон байна. Учир нь AWS дээр EC2 үүсгээд Site-to-Site VPN тохируулаад л өөрсдийн Data-center дээр ажиллаж байгаа мэт шинэ серверийг 30 минутын дотор хийх бүрэн боломжтой болжээ. Магадгүй бизнес эрхлэгчид үүл рүү нүүгээд байгаа нэг шалтгаан нь энэ бизээ. (жич: мэдээж бид VPN холболт дээр маш найдвартай шийдэл боловсруулах хэрэгтэй!!!)

Алхам 1: AWS дээрх тохиргоо

AWS console-оор нэвтэрч ороод VPC -> Launch VPC wizard -> VPC with Public and Private Sub-nets and Hardware VPN Access → Select гэх байдлаар тохируулна.

Үүсгэсэн VPC рүү гээ Public сүлжээнээс хандахын тулд 3 дахь Option сонгосон байгаа.

Figure 3 Launch VPC wizard

Public sub-net нь интернетээс хандах боломжтой Instance байх ба private sub-net боломжгүй зөвхөн VPN access-д зориулсан байгаа.

Figure 4 Configure the VPC on AWS

Customer Gateway IP гэдэг нь iTools дээрх тестийн VPN gateway-ийн хаяг байх болно. Доор буй IP 10.1.1.0/24 private sub-net нь ICS дээрх VPN Gateway-ийн ард байх сүлжээ ба эцэст нь Create VPC гэдгийг дараад л AWS дээрх тохиргоо бэлэн болж байгаа. (Үнэхээр амархан 3 алхам)

Figure 5 Configure VPN

Үүсгэсэн VPC болон Sub-net шалгахад амжилттай үүссэн байна.

Figure 6 VPC list
Figure 7 Sub-net list

Дараачийн алхам бол ICS дээр хэрхэн тохируулах тохиргооны мэдээллийг татаж авах юм. VPC -> Site-To-Site VPN Connections -> Download Configuration

Figure 8 Download Configuration

Энэхүү нийтлэл Site-To-Site VPN турших зорилготой ба үйлчилгээ биш тул бид өөрсдийн ICS талд pfSense тестээр ашигласан байгаа. Тийм учраас pfSense зориулж тохиргоог татах хэрэгтэй.

Figure 9 pfSense configuration download

Алхам 2: ICS дээрх тохиргоо

Figure 10 Login page

Эхлээд pfSense VPN Gateway хуурмаг машин үүсгэж, тохиргоог хийж AWS -руу VPN холболт хийцгээе.

Figure 11 Create a pfsense firewall

ICS дээр private sub-net үүсгэж үүсгэсэн pfSense рүү холбож өгсөн.

Figure 12 Create a sub-net
Figure 13 Attach network interfaces to pfsense

pfSense дээрх сүлжээний тохиргоо:

Figure 14 pfSense network configuration

pfSense дээрх AWS руу холбогдох VPN тохиргоо

Figure 15 VPN configuration of the pfsense

pfSense болон AWS хоорондох tunnel холболт шалгахад tunnel session үүссэн байна.

Figure 16 IPsec status on pfsense
Figure 17 IPsec status on AWS

Алхам 3: Үр дүн шалгах

ICS дээр IPsec tunnel-ээр дамжиж AWS дээр ажиллаж буй EC2 рүү холбогдон тест хийж үзье! Эхлээд ICS болон AWS дээр VM үүсгэе.

Figure 18 Create an instance on the ICS
Figure 19 Create a test EC2 on AWS

EC2 дээрх сүлжээний мэдээллийг хархад:

[root@ip-10–247–0–139 ec2-user]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc pfifo_fast state UP group default qlen 1000
link/ether 0e:dc:64:08:fd:20 brd ff:ff:ff:ff:ff:ff
inet 10.247.0.139/24 brd 10.247.0.255 scope global dynamic eth0
valid_lft 2380sec preferred_lft 2380sec
inet6 fe80::cdc:64ff:fe08:fd20/64 scope link
valid_lft forever preferred_lft forever

[root@ip-10–247–0–139 ec2-user]# ip route
default via 10.247.0.1 dev eth0
10.247.0.0/24 dev eth0 proto kernel scope link src 10.247.0.139
169.254.169.254 dev eth0
[root@ip-10–247–0–139 ec2-user]#

ICS Instance-ийн сүлжээний мэдээллийг харвал:

Энд 10.247.0.0 сүлжээ рүү явахын тулд 10.1.1.109 рүү яв гэдэг route бичиж өгсөн.

Figure 20 ICS Instance network information

Үр дүн

EC2 -ээс ICS дээрх instance руу IPsec tunnel дээгүүр ICMP packet дамжуулхад амжилттай хүрж байгаа ба Улаанбаатар < → Northern Virginia хооронд ойролцоогоор 226msec delay -тэй байна.

[root@ip-10–247–0–139 ec2-user]# ping 10.1.1.112
PING 10.1.1.112 (10.1.1.112) 56(84) bytes of data.
64 bytes from 10.1.1.112: icmp_seq=1 ttl=63 time=227 ms
64 bytes from 10.1.1.112: icmp_seq=2 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=3 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=4 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=5 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=6 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=7 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=8 ttl=63 time=226 ms
64 bytes from 10.1.1.112: icmp_seq=9 ttl=63 time=227 ms
64 bytes from 10.1.1.112: icmp_seq=10 ttl=63 time=226 ms
^C
— — 10.1.1.112 ping statistics — -
10 packets transmitted, 10 received, 0% packet loss, time 9012ms
rtt min/avg/max/mdev = 226.455/226.816/227.598/0.448 ms

[root@ip-10–247–0–139 ec2-user]# tracepath 10.1.1.112
1?: [LOCALHOST] pmtu 9001
1: ip-10–247–0–1.ec2.internal 0.223ms pmtu 1500
1: 169.254.3.1 1.298ms pmtu 1422
1: no reply
2: ip-10–1–1–112.ec2.internal 227.247ms reached
Resume: pmtu 1422 hops 2 back 2
[root@ip-10–247–0–139 ec2-user]#

fibostories

A cloud computing consulting company

Tergel Munkhbat

Written by

Cloud computing enthusiast.

fibostories

A cloud computing consulting company

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade