HOME / XPERT ZONE / MikroTik / VPN : คู่มือการตั้งค่า MikroTik เชื่อมต่อ VPN แบบ Site-to-Site ด้วย IPSec VPN แบบเก่า Version 5.xx

VPN : คู่มือการตั้งค่า MikroTik เชื่อมต่อ VPN แบบ Site-to-Site ด้วย IPSec VPN แบบเก่า Version 5.xx

ปรับปรุงข้อมูลล่าสุด : 20210121-103339

UBiQUiTi MikroTik Cisco โดย ซิสทูยู ออนไลน์ | เราคือผู้เชี่ยวชาญระบบไร้สาย www.sys2u.online Line ID : @sys2u










VPN : คู่มือการตั้งค่า MikroTik เชื่อมต่อ VPN แบบ Site-to-Site ด้วย IPSec VPN แบบ Dynamic DNS

คำถาม


ต้องการเชื่อมต่อ VPN ระหว่างสาขา เข้ากับสำนักงานใหญ่ โดยให้ทั้ง 2 ฝั่ง สามารถหากันเจอ
- Client ทั้งฝั่ง HQ และ SITE สามารถแชร์ไฟล์มองเห็นกัน สามารถดึงข้อมูลระหว่างกันเองได้

คำตอบ


แนะนำเชื่อมต่อ vpn แบบ site to site ด้วย ipsec ครับ มีการเข้ารหัส ปลอดภัย ใช้งานได้จริง ส่วนเรื่องความเร็วก็จะขึ้นอยู่กับ
Upload, Download ของทั้ง 2 ฝั่งน่ะครับ ถ้าอยากให้ส่งไฟล์ไปหาหากันได้เร็วๆ แนะนำ Upload ของทั้ง 2 ฝั่งเยอะๆเลยครับ


สิ่งที่ควรมีอยู่แล้ว

- ทั้ง 2 ฝั่ง มี Internet อยู่แล้ว และเชื่อมต่อแบบบริดจ์โหมด โดย ip ที่ได้จะต้องเป็น ip จริงเท่านั้น
- ถ้า IP FIX มาให้ทั้ง 2 ฝั่ง ก็ใส่ IP ตรงๆได้เลย แต่ถ้าแบบ random ควรเซต DDNS ให้ Mikrotik ก่อน (ตัวอย่างใช้เป็น Dyndns.org)
- FW ทั้ง 2 ฝั่งควรเป็นเวอร์ชั่นเดียวกัน (ตัวอย่างใช้เป็น v. 6.44.1)
- IP local ของทั้ง 2 ฝั่ง ต้องเป็นคนละวงกัน ห้ามเป็นวงเดียวกัน ( ตัวอย่างใช้เป็น HP-192.168.10.0/24, Site-10.5.50.0/24)

ขั้นตอนหลักๆ ก็จะมีดังนี้
1. เซตฝั่ง HQ
2. เซตฝั่ง SITE

1. เซต Mikrotik ฝั่ง HQ

1.1 เมนู IP > IPSec
เมนู Policies กด " + " เพื่อสร้าง Policies ขึ้นมาใหม่




- แท็ป General
Src. Address ให้ใส่ IP Local ฝั่ง HQ ( ตัวอย่าง 192.168.10.0/24)
Dst. Address ให้ใส่ IP Local ฝั่ง Site( ตัวอย่าง 10.5.50.0/24)




- แท็ป Action
SA Src. Address ให้ใส่ IP WAN ฝั่ง HQ ( ตัวอย่าง 1.1.1.1)
SA Dst. Address ให้ใส่ IP WAN ฝั่ง SITE( ตัวอย่าง 2.2.2.2) กด OK




1.2. เมนู Proposals กด " + " เพื่อสร้าง IPsec Proposal ขึ้นมาใหม่
Name : กำหนดชื่อ (ตัวอย่าง ike1-site2)
ติ๊กเลือก sha1, aes-128 cbc กด OK




1.3 เมนู Profiles กด " + " เพื่อสร้าง IPsec Profile ขึ้นมาใหม่
Name : กำหนดชื่อ (ตัวอย่าง ike1-site2)
เลือก sha1
ติ๊กเลือก aes-128 , modb2048 กด OK




1.4 เมนู Peers
Name: ike1-site2
Address: 2.2.2.2 (ใส่ IP WAN ของฝั่ง Site)
Profile: ike1-site2




1.5 เมนู Identities กด " + " เพื่อสร้าง IPsec Identity ขึ้นมาใหม่
Peer: เลือก peer ที่เราสร้างไว้ก่อนหน้านี้ (ตัวอย่าง ike1-site2)
เลือก pre shared key
Secret : กำหนดรหัส ( สำคัญน่ะครับ ต้องใส่ให้ตรงกันทั้ง 2 ฝั่ง ตัวอย่าง 1234 )
ติ๊กเลือก aes-128 , modb2048 กด OK




1.6 เมนู IP > Firewall
เมนู NAT กด " + " เพื่อสร้าง NAT Rule ขึ้นมาใหม่




1.7 แท็ป General
Chain: srcnat
Src.Address: วง network ของฝั่ง HQ ( ตัวอย่าง 192.168.10.0/24 )
Dst.Address: วง network ของฝั่ง Site ( ตัวอย่าง 10.5.50.0/24 )




1.8 แท็ป Action
Action: accept เพื่อให้ทั้ง 2 ฝั่งสามารถ มองหากันเจอ




1.9 เลื่อน nat rule ที่สร้างไว้บนสุด




1.10 เมนู System > Scheduler
ทำการสร้างขึ้นมาใหม่ กำหนดตามรูปได้เลย
Start Time: เริ่มทำตั้งแต่ startup เครื่อง
Interval: จะทำซ้ำทุกๆ 30 นาที ( ชม. นาที, วินาที)




1.11 เมนู System > Scripts
กดสร้างขึ้นมาใหม่ กำหนดตามรูปได้เลย
** ที่แก้ไข ก็จะมีชื่อ ddns ของทั้ง 2 ฝั่งให้เป็นของผู้อ่านเอง


:global RemoteIp [:resolve sys2u-site.dyndns.org]
:global LocalIp [:resolve sys2u-hq.dyndns.org]

# get actual values of sa-dst-address and sa-src-address
:global actual [/ip ipsec policy get 1 sa-dst-address]
:global actuallocal [/ip ipsec policy get 1 sa-src-address]
:global peer [/ip ipsec peer get 0 address]

#change policy if remote or local ip changed
:if ($RemoteIp !=$actual) do={
:log info "CheckRemoteIp: Update required $RemoteIp"
/ip ipsec policy set 1 sa-dst-address=$RemoteIp sa-src-address=$LocalIp} else= {:log info "No need to update"}
/ip ipsec peer set 0 address=$RemoteIp

:log info "Remote update done, next local"
:if ($LocalIp !=$actuallocal) do={
:log info "CheckRemoteIp: Update required $LocalIp"
/ip ipsec policy set 1 sa-dst-address=$RemoteIp sa-src-address=$LocalIp} else= {:log info "No need to update"}
/ip ipsec peer set 0 address=$RemoteIp


:log info "IPSEC update done"





***ภายหลัง Script ทำงานก็จะทำการอัพเดรต IP wan ของทั้ง HQ และ Site
ในส่วนของ Policies และ Peer ให้อัตโนมัติ (ของเดิมที่ตัวอย่างจะระบุใส่เป็น 1.1.1.1 , 2.2.2.2 ให้ก่อนหน้านั้น)**


2. เซต Mikrotik ฝั่ง SITE


2.1 เมนู IP > IPSec
เมนู Policies กด " + " เพื่อสร้าง Policies ขึ้นมาใหม่




- แท็ป General
Src. Address ให้ใส่ IP Local ฝั่ง Site ( ตัวอย่าง 10.5.50.0/24)
Dst. Address ให้ใส่ IP Local ฝั่ง HQ ( ตัวอย่าง 192.168.10.0/24)




- แท็ป Action
SA Src. Address ให้ใส่ IP WAN ฝั่ง Site ( ตัวอย่าง 2.2.2.2 )
SA Dst. Address ให้ใส่ IP WAN ฝั่ง HQ ( ตัวอย่าง 1.1.1.1 ) กด OK




2.2. เมนู Proposals กด " + " เพื่อสร้าง IPsec Proposal ขึ้นมาใหม่
Name : กำหนดชื่อ (ตัวอย่าง ike1-site1)
ติ๊กเลือก sha1, aes-128 cbc กด OK




2.3 เมนู Profiles กด " + " เพื่อสร้าง IPsec Profile ขึ้นมาใหม่
Name : กำหนดชื่อ (ตัวอย่าง ike1-site1)
เลือก sha1
ติ๊กเลือก aes-128 , modb2048 กด OK




2.4 เมนู Peers กด " + " เพื่อสร้าง IPsec Peer ใหม่
Name: ike1-site1
Address: 1.1.1.1 (ใส่ IP WAN ของฝั่ง HQ)
Profile: เลือก ike1-site1




2.5 เมนู Identities กด " + " เพื่อสร้าง IPsec Identity ขึ้นมาใหม่
Peer: เลือก peer ที่เราสร้างไว้ก่อนหน้านี้ (ตัวอย่าง ike1-site1)
เลือก pre shared key
Secret : กำหนดรหัส ( สำคัญน่ะครับ ต้องใส่ให้ตรงกันทั้ง 2 ฝั่ง ตัวอย่าง 1234 )




2.6 เมนู IP > Firewall
เมนู NAT กด " + " เพื่อสร้าง NAT Rule ขึ้นมาใหม่




2.7 แท็ป General
Chain: srcnat
Src.Address: วง network ของฝั่ง Site ( ตัวอย่าง 10.5.50.0/24 )
Dst.Address: วง network ของฝั่ง HQ ( ตัวอย่าง 192.168.10.0/24 )




2.8 แท็ป Action
Action: accept เพื่อให้ทั้ง 2 ฝั่งสามารถ มองหากันเจอ




2.9 เลื่อน nat rule ที่สร้างไว้บนสุด





2.10 เมนู System > Scheduler
ทำการสร้างขึ้นมาใหม่ กำหนดตามรูปได้เลย
Start Time: เริ่มทำตั้งแต่ startup เครื่อง
Interval: จะทำซ้ำทุกๆ 30 นาที ( ชม. นาที, วินาที)




2.11 เมนู System > Scripts
กดสร้างขึ้นมาใหม่ กำหนดตามรูปได้เลย
** ที่แก้ไข ก็จะมีชื่อ ddns ของทั้ง 2 ฝั่งให้เป็นของผู้อ่านเอง

:global RemoteIp [:resolve sys2u-hq.dyndns.org]
:global LocalIp [:resolve sys2u-site.dyndns.org]

# get actual values of sa-dst-address and sa-src-address
:global actual [/ip ipsec policy get 1 sa-dst-address]
:global actuallocal [/ip ipsec policy get 1 sa-src-address]
:global peer [/ip ipsec peer get 0 address]

#change policy if remote or local ip changed
:if ($RemoteIp !=$actual) do={
:log info "CheckRemoteIp: Update required $RemoteIp"
/ip ipsec policy set 1 sa-dst-address=$RemoteIp sa-src-address=$LocalIp} else= {:log info "No need to update"}
/ip ipsec peer set 0 address=$RemoteIp

:log info "Remote update done, next local"
:if ($LocalIp !=$actuallocal) do={
:log info "CheckRemoteIp: Update required $LocalIp"
/ip ipsec policy set 1 sa-dst-address=$RemoteIp sa-src-address=$LocalIp} else= {:log info "No need to update"}
/ip ipsec peer set 0 address=$RemoteIp


:log info "IPSEC update done"





***ภายหลัง Script ทำงานก็จะทำการอัพเดรต IP wan ของทั้ง HQ และ Site
ในส่วนของ Policies และ Peer ให้อัตโนมัติ (ของเดิมที่ตัวอย่างจะระบุใส่เป็น 1.1.1.1 , 2.2.2.2 ให้ก่อนหน้านั้น)**


3. แสดงผลทดสอบการเชื่อมต่อของทั้ง 2 ฝั่ง


ทดสอบ Client HQ ไปหา Site




ทดสอบ Client Site ไปหา HQ






คลิปตัวอย่าง




จบบทความ

Back to XPERT ZONE

UBiQUiTi MikroTik Cisco โดย ซิสทูยู ออนไลน์ | เราคือผู้เชี่ยวชาญระบบไร้สาย www.sys2u.online Line ID : @sys2u

02-183-6101-2
Line ID : @sys2u
infosys2u.com

บริษัท เบซิสแวร์ ซิสเต็มส์ จำกัด
5/27 ซอยอนามัย ถนนศรีนครินทร์
เขต/แขวงสวนหลวง กรุงเทพมหานคร 10250

ทะเบียนการค้าเลขที่ 0105545078818
เลขประจำตัวผู้เสียภาษี 0105545078818

โทรศัพท์ 02-183-6101-2
โทรสาร/แฟกส์ 02-721-3042
สายด่วน 086-378-2262

อ่อนนุช 39 หรือ ศรีนครินทร์ 24

แผนที่ Google Map

ออนไลน์วันที่ 19 ตุลาคม พ.ศ. 2550
16 ปี 6 เดือน 5 วัน 15 ชั่วโมง 17 นาที

© 2024 | SYS2U ONLINE