Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt
Trong hầu hết các trường hợp, việc kết nối bộ định tuyến với VPN không khó, nhưng nếu bạn muốn bảo vệ toàn bộ mạng đồng thời duy trì tốc độ kết nối tối ưu thì giải pháp tốt nhất là sử dụng đường hầm VPN Dây bảo vệ.

Bộ định tuyến Mikrotik đã được chứng minh là giải pháp đáng tin cậy và rất linh hoạt, nhưng thật không may Hỗ trợ WireGurd trên RouterOS vẫn chưa và không biết nó sẽ xuất hiện khi nào và với hiệu suất như thế nào. Gần đây nó được biết đến về những gì các nhà phát triển đường hầm WireGuard VPN đã đề xuất bộ vá, sẽ làm cho phần mềm tạo đường hầm VPN của họ trở thành một phần của nhân Linux, chúng tôi hy vọng điều này sẽ góp phần vào việc áp dụng trong RouterOS.

Nhưng hiện tại, thật không may, để định cấu hình WireGuard trên bộ định tuyến Mikrotik, bạn cần thay đổi chương trình cơ sở.

Nhấp nháy Mikrotik, cài đặt và định cấu hình OpenWrt

Trước tiên, bạn cần đảm bảo rằng OpenWrt hỗ trợ mô hình của bạn. Xem nếu một mô hình phù hợp với tên và hình ảnh tiếp thị của nó bạn có thể truy cập mikrotik.com.

Truy cập openwrt.com đến phần tải xuống phần sụn.

Đối với thiết bị này, chúng tôi cần 2 tệp:

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

Bạn cần tải xuống cả hai tệp: đặt и Upgrade.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

1. Cài đặt mạng, download và cài đặt máy chủ PXE

Tải xuống Máy chủ PXE nhỏ cho Windows phiên bản mới nhất.

Giải nén ra một thư mục riêng. Trong tệp config.ini thêm tham số rfc951=1 tiết diện [dhcp]. Thông số này giống nhau đối với tất cả các mẫu Mikrotik.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Hãy chuyển sang phần cài đặt mạng: bạn cần đăng ký một địa chỉ ip tĩnh trên một trong các giao diện mạng của máy tính.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Địa chỉ IP: 192.168.1.10
Mặt nạ mạng: 255.255.255.0

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Chạy Máy chủ PXE nhỏ thay mặt Quản trị viên và chọn trong trường DHCP Server máy chủ có địa chỉ 192.168.1.10

Trên một số phiên bản Windows, giao diện này có thể chỉ xuất hiện sau khi kết nối Ethernet. Tôi khuyên bạn nên kết nối bộ định tuyến và ngay lập tức chuyển đổi bộ định tuyến và PC bằng dây vá.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Nhấn nút "..." (dưới cùng bên phải) và chỉ định thư mục mà bạn đã tải xuống các tệp chương trình cơ sở cho Mikrotik.

Chọn một tệp có tên kết thúc bằng "initramfs-kernel.bin hoặc elf"

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

2. Khởi động bộ định tuyến từ máy chủ PXE

Chúng tôi kết nối PC với một dây và cổng đầu tiên (wan, internet, poe in, ...) của bộ định tuyến. Sau đó, chúng tôi lấy một cây tăm, cắm nó vào lỗ có dòng chữ "Đặt lại".

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Chúng tôi bật nguồn của bộ định tuyến và đợi 20 giây, sau đó nhả tăm.
Trong phút tiếp theo, các thông báo sau sẽ xuất hiện trong cửa sổ Tiny PXE Server:

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Nếu thông báo xuất hiện, thì bạn đang đi đúng hướng!

Khôi phục cài đặt trên bộ điều hợp mạng và đặt để nhận địa chỉ động (thông qua DHCP).

Kết nối với các cổng LAN của bộ định tuyến Mikrotik (2…5 trong trường hợp của chúng tôi) bằng cùng một dây vá. Chỉ cần chuyển nó từ cổng thứ 1 sang cổng thứ 2. mở địa chỉ 192.168.1.1 trong trình duyệt.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Đăng nhập vào giao diện quản trị OpenWRT và vào phần menu "System -> Backup/Flash Firmware"

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Trong tiểu mục "Flash hình ảnh chương trình cơ sở mới", nhấp vào nút "Chọn tệp (Duyệt)".

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Chỉ định đường dẫn đến tệp có tên kết thúc bằng "-squashfs-sysupgrade.bin".

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Sau đó, nhấp vào nút "Hình ảnh Flash".

Trong cửa sổ tiếp theo, nhấp vào nút "Tiếp tục". Phần sụn sẽ bắt đầu tải xuống bộ định tuyến.

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

!!! TRONG MỌI TRƯỜNG HỢP KHÔNG ĐƯỢC NGẮT NGUỒN CỦA BỘ ĐỊNH TUYẾN TRONG QUÁ TRÌNH PHẦN MỀM!!!

Thiết lập WireGuard trên bộ định tuyến Mikrotik chạy OpenWrt

Sau khi flash và khởi động lại bộ định tuyến, bạn sẽ nhận được Mikrotik với phần sụn OpenWRT.

Các vấn đề và giải pháp có thể xảy ra

Nhiều thiết bị Mikrotik ra mắt năm 2019 sử dụng chip nhớ FLASH-NOR loại GD25Q15 / Q16. Vấn đề là khi flash, dữ liệu về kiểu thiết bị không được lưu.

Nếu bạn thấy lỗi "Tệp hình ảnh đã tải lên không chứa định dạng được hỗ trợ. Đảm bảo rằng bạn chọn định dạng hình ảnh chung cho nền tảng của mình." thì rất có thể vấn đề là ở flash.

Thật dễ dàng để kiểm tra điều này: chạy lệnh để kiểm tra ID kiểu máy trong thiết bị đầu cuối

root@OpenWrt: cat /tmp/sysinfo/board_name

Và nếu bạn nhận được câu trả lời "không xác định", thì bạn cần chỉ định kiểu thiết bị theo cách thủ công ở dạng "rb-951-2nd"

Để lấy kiểu thiết bị, hãy chạy lệnh

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

Sau khi nhận được kiểu thiết bị, hãy cài đặt thủ công:

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

Sau đó, bạn có thể flash thiết bị thông qua giao diện web hoặc sử dụng lệnh "sysupgrade"

Tạo máy chủ VPN với WireGuard

Nếu bạn đã có máy chủ được định cấu hình WireGuard, bạn có thể bỏ qua bước này.
Tôi sẽ sử dụng ứng dụng để thiết lập máy chủ VPN cá nhân MyVPN.RUN về con mèo tôi đã xuất bản một đánh giá.

Định cấu hình Máy khách WireGuard trên OpenWRT

Kết nối với bộ định tuyến thông qua giao thức SSH:

ssh [email protected]

Cài đặt WireGuard:

opkg update
opkg install wireguard

Chuẩn bị cấu hình (sao chép mã bên dưới vào một tệp, thay thế các giá trị được chỉ định bằng giá trị của riêng bạn và chạy trong thiết bị đầu cuối).

Nếu bạn đang sử dụng MyVPN thì ở phần cấu hình bên dưới bạn chỉ cần thay đổi WG_SERV - IP máy chủ WG_KEY - khóa riêng từ tệp cấu hình wireguard và WG_PUB - khóa công khai.

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

Điều này hoàn thành thiết lập WireGuard! Giờ đây, tất cả lưu lượng truy cập trên tất cả các thiết bị được kết nối đều được bảo vệ bằng kết nối VPN.

tài liệu tham khảo

Nguồn #1
Hướng dẫn sửa đổi trên MyVPN (có thêm hướng dẫn setup L2TP, PPTP trên firmware Mikrotik chuẩn)
Máy khách OpenWrt WireGuard

Nguồn: www.habr.com

Thêm một lời nhận xét