การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt
ในกรณีส่วนใหญ่ การเชื่อมต่อเราเตอร์กับ VPN นั้นไม่ใช่เรื่องยาก แต่ถ้าคุณต้องการปกป้องเครือข่ายทั้งหมดและในขณะเดียวกันก็รักษาความเร็วการเชื่อมต่อที่เหมาะสม ทางออกที่ดีที่สุดคือการใช้อุโมงค์ VPN WireGuard.

เราเตอร์ Mikrotik ได้รับการพิสูจน์แล้วว่าเป็นโซลูชันที่น่าเชื่อถือและมีความยืดหยุ่นสูง แต่น่าเสียดาย รองรับ WireGurd บน RouterOS ยังไม่มีและไม่ทราบว่าจะปรากฏเมื่อใดและในการแสดงใด ล่าสุด сталоизвестно เกี่ยวกับสิ่งที่ผู้พัฒนาอุโมงค์ WireGuard VPN แนะนำ ชุดแพทช์ซึ่งจะทำให้ซอฟต์แวร์ VPN Tunneling เป็นส่วนหนึ่งของเคอร์เนล Linux เราหวังว่าสิ่งนี้จะนำไปสู่การยอมรับใน RouterOS

แต่สำหรับตอนนี้ น่าเสียดายที่ในการกำหนดค่า WireGuard บนเราเตอร์ Mikrotik คุณต้องเปลี่ยนเฟิร์มแวร์

แฟลช Mikrotik ติดตั้งและกำหนดค่า OpenWrt

ก่อนอื่นคุณต้องแน่ใจว่า OpenWrt รองรับโมเดลของคุณ ดูว่าโมเดลตรงกับชื่อและรูปภาพทางการตลาดหรือไม่ คุณสามารถเยี่ยมชม mikrotik.com.

ไปที่ openwrt.com ไปที่ส่วนดาวน์โหลดเฟิร์มแวร์.

สำหรับอุปกรณ์นี้ เราต้องการไฟล์ 2 ไฟล์:

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-initramfs-kernel.bin|elf

downloads.openwrt.org/releases/18.06.2/targets/ar71xx/mikrotik/openwrt-18.06.2-ar71xx-mikrotik-rb-nor-flash-16M-squashfs-sysupgrade.bin

คุณต้องดาวน์โหลดไฟล์ทั้งสอง: การติดตั้ง и อัพเกรด.

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

1. การตั้งค่าเครือข่าย ดาวน์โหลด และตั้งค่าเซิร์ฟเวอร์ PXE

ดาวน์โหลด เซิร์ฟเวอร์ PXE ขนาดเล็ก สำหรับ Windows เวอร์ชันล่าสุด

เปิดเครื่องรูดไปยังโฟลเดอร์แยกต่างหาก ในไฟล์ config.ini ให้เพิ่มพารามิเตอร์ rfc951=1 ส่วน [dhcp]. พารามิเตอร์นี้เหมือนกันสำหรับ Mikrotik ทุกรุ่น

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

ไปที่การตั้งค่าเครือข่าย: คุณต้องลงทะเบียนที่อยู่ IP แบบคงที่บนหนึ่งในอินเทอร์เฟซเครือข่ายของคอมพิวเตอร์ของคุณ

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

ที่อยู่ IP: 192.168.1.10
เน็ตมาสก์: 255.255.255.0

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

วิ่ง เซิร์ฟเวอร์ PXE ขนาดเล็ก ในนามของผู้ดูแลระบบและเลือกในช่อง เซิร์ฟเวอร์ DHCP เซิร์ฟเวอร์พร้อมที่อยู่ 192.168.1.10

ใน Windows บางเวอร์ชัน อินเทอร์เฟซนี้อาจปรากฏขึ้นหลังจากการเชื่อมต่ออีเทอร์เน็ตเท่านั้น ฉันแนะนำให้เชื่อมต่อเราเตอร์และสลับเราเตอร์และพีซีทันทีโดยใช้สายแพตช์

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

กดปุ่ม "..." (ด้านล่างขวา) และระบุโฟลเดอร์ที่คุณดาวน์โหลดไฟล์เฟิร์มแวร์สำหรับ Mikrotik

เลือกไฟล์ที่มีชื่อลงท้ายด้วย "initramfs-kernel.bin or elf"

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

2. บูตเราเตอร์จากเซิร์ฟเวอร์ PXE

เราเชื่อมต่อพีซีด้วยสายและพอร์ตแรก (wan, internet, poe in, ... ) ของเราเตอร์ หลังจากนั้นเราก็ใช้ไม้จิ้มฟันติดเข้าไปในรูที่มีคำว่า "รีเซ็ต"

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

เราเปิดสวิตช์เราเตอร์แล้วรอ 20 วินาทีจากนั้นปล่อยไม้จิ้มฟัน
ภายในนาทีถัดไป ข้อความต่อไปนี้ควรจะปรากฏในหน้าต่าง Tiny PXE Server:

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

หากข้อความปรากฏขึ้น แสดงว่าคุณมาถูกทางแล้ว!

คืนค่าการตั้งค่าบนอะแดปเตอร์เครือข่ายและตั้งค่าให้รับที่อยู่แบบไดนามิก (ผ่าน DHCP)

เชื่อมต่อกับพอร์ต LAN ของเราเตอร์ Mikrotik (2…5 ในกรณีของเรา) โดยใช้สายแพทช์เดียวกัน เพียงแค่เปลี่ยนจากพอร์ตที่ 1 เป็นพอร์ตที่ 2 เปิดที่อยู่ 192.168.1.1 ในเบราว์เซอร์

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

เข้าสู่ระบบอินเทอร์เฟซการดูแลระบบ OpenWRT และไปที่ส่วนเมนู "ระบบ -> สำรองข้อมูล/แฟลชเฟิร์มแวร์"

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

ในส่วนย่อย "แฟลชอิมเมจเฟิร์มแวร์ใหม่" คลิกที่ปุ่ม "เลือกไฟล์ (เรียกดู)"

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

ระบุพาธไปยังไฟล์ที่มีชื่อลงท้ายด้วย "-squashfs-sysupgrade.bin"

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

หลังจากนั้นคลิกปุ่ม "ภาพแฟลช"

ในหน้าต่างถัดไป คลิกปุ่ม "ดำเนินการต่อ" เฟิร์มแวร์จะเริ่มดาวน์โหลดไปยังเราเตอร์

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

!!! ไม่ว่าในกรณีใดอย่าตัดการเชื่อมต่อพลังงานของเราเตอร์ในระหว่างกระบวนการเฟิร์มแวร์ !!!

การตั้งค่า WireGuard บนเราเตอร์ Mikrotik ที่ใช้ OpenWrt

หลังจากแฟลชและรีบูตเราเตอร์ คุณจะได้รับ Mikrotik พร้อมเฟิร์มแวร์ OpenWRT

ปัญหาที่เป็นไปได้และแนวทางแก้ไข

อุปกรณ์ Mikrotik จำนวนมากที่เปิดตัวในปี 2019 ใช้ชิปหน่วยความจำ FLASH-NOR ประเภท GD25Q15 / Q16 ปัญหาคือเมื่อแฟลชข้อมูลเกี่ยวกับรุ่นอุปกรณ์จะไม่ถูกบันทึก

หากคุณเห็นข้อผิดพลาด "ไฟล์รูปภาพที่อัปโหลดไม่มีรูปแบบที่รองรับ ตรวจสอบให้แน่ใจว่าคุณได้เลือกรูปแบบภาพทั่วไปสำหรับแพลตฟอร์มของคุณ" เป็นไปได้มากว่าปัญหาอยู่ในแฟลช

ง่ายต่อการตรวจสอบสิ่งนี้: รันคำสั่งเพื่อตรวจสอบรหัสรุ่นในเทอร์มินัลอุปกรณ์

root@OpenWrt: cat /tmp/sysinfo/board_name

และถ้าคุณได้รับคำตอบว่า "ไม่ทราบ" คุณต้องระบุรุ่นอุปกรณ์ด้วยตนเองในรูปแบบ "rb-951-2nd"

หากต้องการดูรุ่นอุปกรณ์ ให้รันคำสั่ง

root@OpenWrt: cat /tmp/sysinfo/model
MikroTik RouterBOARD RB951-2nd

หลังจากได้รับรุ่นอุปกรณ์แล้ว ให้ติดตั้งด้วยตนเอง:

echo 'rb-951-2nd' > /tmp/sysinfo/board_name

หลังจากนั้น คุณสามารถแฟลชอุปกรณ์ผ่านเว็บอินเตอร์เฟสหรือใช้คำสั่ง "sysupgrade"

สร้างเซิร์ฟเวอร์ VPN ด้วย WireGuard

หากคุณมีเซิร์ฟเวอร์ที่กำหนดค่า WireGuard ไว้แล้ว คุณสามารถข้ามขั้นตอนนี้ได้
ฉันจะใช้แอปพลิเคชันเพื่อตั้งค่าเซิร์ฟเวอร์ VPN ส่วนตัว MyVPN.RUN เกี่ยวกับน้องแมวแล้ว เผยแพร่บทวิจารณ์.

การกำหนดค่าไคลเอนต์ WireGuard บน OpenWRT

เชื่อมต่อกับเราเตอร์ผ่านโปรโตคอล SSH:

ssh [email protected]

ติดตั้ง WireGuard:

opkg update
opkg install wireguard

เตรียมการกำหนดค่า (คัดลอกโค้ดด้านล่างไปยังไฟล์ แทนที่ค่าที่ระบุด้วยค่าของคุณเองและเรียกใช้ในเทอร์มินัล)

หากคุณใช้ MyVPN ในการกำหนดค่าด้านล่าง คุณจะต้องเปลี่ยนเท่านั้น WG_SERV - ไอพีเซิร์ฟเวอร์ WG_KEY - รหัสส่วนตัวจากไฟล์กำหนดค่า wireguard และ WG_PUB - กุญแจสาธารณะ

WG_IF="wg0"
WG_SERV="100.0.0.0" # ip адрес сервера
WG_PORT="51820" # порт wireguard
WG_ADDR="10.8.0.2/32" # диапазон адресов wireguard

WG_KEY="xxxxx" # приватный ключ
WG_PUB="xxxxx" # публичный ключ 

# Configure firewall
uci rename firewall.@zone[0]="lan"
uci rename firewall.@zone[1]="wan"
uci rename firewall.@forwarding[0]="lan_wan"
uci del_list firewall.wan.network="${WG_IF}"
uci add_list firewall.wan.network="${WG_IF}"
uci commit firewall
/etc/init.d/firewall restart

# Configure network
uci -q delete network.${WG_IF}
uci set network.${WG_IF}="interface"
uci set network.${WG_IF}.proto="wireguard"
uci set network.${WG_IF}.private_key="${WG_KEY}"

uci add_list network.${WG_IF}.addresses="${WG_ADDR}"

# Add VPN peers
uci -q delete network.wgserver
uci set network.wgserver="wireguard_${WG_IF}"
uci set network.wgserver.public_key="${WG_PUB}"
uci set network.wgserver.preshared_key=""
uci set network.wgserver.endpoint_host="${WG_SERV}"
uci set network.wgserver.endpoint_port="${WG_PORT}"
uci set network.wgserver.route_allowed_ips="1"
uci set network.wgserver.persistent_keepalive="25"
uci add_list network.wgserver.allowed_ips="0.0.0.0/1"
uci add_list network.wgserver.allowed_ips="128.0.0.0/1"
uci add_list network.wgserver.allowed_ips="::/0"
uci commit network
/etc/init.d/network restart

เสร็จสิ้นการตั้งค่า WireGuard! ขณะนี้การรับส่งข้อมูลทั้งหมดบนอุปกรณ์ที่เชื่อมต่อทั้งหมดได้รับการปกป้องโดยการเชื่อมต่อ VPN

การอ้างอิง

ที่มา # 1
แก้ไขคำแนะนำเกี่ยวกับ MyVPN (มีคำแนะนำเพิ่มเติมสำหรับการตั้งค่า L2TP, PPTP บนเฟิร์มแวร์มาตรฐานของ Mikrotik)
ไคลเอนต์ OpenWrt WireGuard

ที่มา: will.com

เพิ่มความคิดเห็น