在大多數情況下,將路由器連接到 VPN 並不困難,但如果您想保護整個網絡並同時保持最佳連接速度,那麼最好的解決方案是使用 VPN 隧道
路由器 的MikroTik 事實證明是可靠且非常靈活的解決方案,但不幸的是
但不幸的是,目前要在 Mikrotik 路由器上配置 WireGuard,您需要更改固件。
刷寫 Mikrotik,安裝和配置 OpenWrt
首先你需要確保 OpenWrt 支持你的模型。 查看模型是否與其營銷名稱和圖像匹配
去 openwrt.com
對於這個設備,我們需要 2 個文件:
您需要下載這兩個文件: 安裝 и 升級.
1.網絡設置、下載和設置PXE服務器
下載
解壓到一個單獨的文件夾。 在config.ini文件中添加參數 rfc951=1 部分 [DHCP]. 此參數對於所有 Mikrotik 型號都是相同的。
讓我們繼續進行網絡設置:您需要在計算機的一個網絡接口上註冊一個靜態 IP 地址。
IP地址:192.168.1.10
網絡掩碼:255.255.255.0
跑 微型 PXE 服務器 代表管理員並在字段中選擇 DHCP服務器 有地址的服務器 192.168.1.10
在某些版本的 Windows 上,此界面可能僅在以太網連接後出現。 我建議連接路由器並使用跳線立即切換路由器和 PC。
按“...”按鈕(右下角)並指定下載 Mikrotik 固件文件的文件夾。
選擇名稱以“initramfs-kernel.bin 或 elf”結尾的文件
2.從PXE服務器啟動路由器
我們用電線和路由器的第一個端口(wan、internet、poe in、...)連接 PC。 之後,我們拿一根牙籤,將其插入帶有“重置”字樣的孔中。
我們打開路由器的電源並等待20秒,然後鬆開牙籤。
在接下來的一分鐘內,Tiny PXE 服務器窗口中應該會出現以下消息:
如果出現該消息,那麼您的方向是正確的!
恢復網絡適配器上的設置並設置為動態接收地址(通過 DHCP)。
使用相同的跳線連接到 Mikrotik 路由器的 LAN 端口(在我們的例子中是 2…5)。 只需將其從第一個端口切換到第二個端口即可。 打開地址
登錄OpenWRT管理界面,進入“系統->備份/閃存固件”菜單部分
在“Flash new firmware image”小節中,單擊“Select file (Browse)”按鈕。
指定名稱以“-squashfs-sysupgrade.bin”結尾的文件的路徑。
之後,單擊“Flash Image”按鈕。
在下一個窗口中,單擊“繼續”按鈕。 固件將開始下載到路由器。
!!! 在任何情況下都不要在固件過程中斷開路由器的電源!
刷新並重啟路由器後,您將收到帶有 OpenWRT 固件的 Mikrotik。
可能出現的問題和解決方案
2019 年發布的許多 Mikrotik 設備都使用 GD25Q15 / Q16 類型的 FLASH-NOR 存儲芯片。 問題是刷機時,沒有保存設備型號的數據。
如果您看到錯誤“上傳的圖像文件不包含支持的格式。 請確保為您的平台選擇通用圖像格式。” 那麼很可能問題出在閃存中。
這個很容易查:在設備終端運行命令查看型號ID
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
之後,您可以通過 Web 界面或使用“sysupgrade”命令刷新設備
使用 WireGuard 創建 VPN 服務器
如果您已經有配置了 WireGuard 的服務器,則可以跳過此步驟。
我將使用該應用程序設置個人 VPN 服務器
在 OpenWRT 上配置 WireGuard 客戶端
通過 SSH 協議連接到路由器:
ssh [email protected]
安裝 WireGuard:
opkg update
opkg install wireguard
準備配置(將下面的代碼複製到一個文件中,用你自己的替換指定的值並在終端中運行)。
如果您使用的是 MyVPN,那麼在下面的配置中您只需要更改 服務工作組 - 服務器IP WG_KEY - 來自 wireguard 配置文件的私鑰和 工作組_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 連接的保護。
引用
來源: www.habr.com