ืืจืื ืืืงืจืื, ืืืืืจ ื ืชื ื-VPN ืืื ื ืงืฉื, ืื ืื ืืชื ืจืืฆื ืืืื ืขื ืื ืืจืฉืช ืืื ืืื ืืช ืืฉืืืจ ืขื ืืืืจืืช ืืืืืจ ืืืคืืืืืืช, ืื ืืคืชืจืื ืืืื ืืืืชืจ ืืื ืืืฉืชืืฉ ืืื ืืจืช VPN
ื ืชืืื ืืืงืจืืืืง ืืืื ืืคืชืจืื ืืช ืืืื ืื ืืืืืฉืื ืืืื, ืื ืืืจืื ืืฆืขืจ
ืืื ืืขืช ืขืชื, ืืืจืื ืืฆืขืจ, ืืื ืืืืืืจ ืืช WireGuard ืื ืชื Mikrotik, ืืชื ืฆืจืื ืืฉื ืืช ืืช ืืงืืฉืื.
ืืืืื 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, ืืืฉืง ืื ืขืฉืื ืืืืคืืข ืจืง ืืืืจ ืืืืืจ Ethernet. ืื ื ืืืืืฅ ืืืืจ ื ืชื ืืืืืืืฃ ืืื ืืช ืื ืชื ืืืืืฉื ืืืืฆืขืืช ืืื ืชืืงืื.
ืืืฅ ืขื ืืืืฆื "..." (ืืืื ืืืืื) ืืฆืืื ืืช ืืชืืงืื ืฉืื ืืืจืืช ืืช ืงืืฆื ืืงืืฉืื ืขืืืจ Mikrotik.
ืืืจ ืงืืืฅ ืฉืฉืื ืืกืชืืื ื-"initramfs-kernel.bin ืื elf"
2. ืืชืืื ืื ืชื ืืฉืจืช PXE
ืื ื ืืืืจืื ืืช ืืืืฉื ืขื ืืื ืืืช ืืืฆืืื ืืจืืฉืื ื (wan, ืืื ืืจื ื, poe in, ...) ืฉื ืื ืชื. ืืืืจ ืืื, ืื ื ืืืงืืื ืงืืกื, ื ืืขืฆืื ืืืชื ืืชืื ืืืืจ ืขื ืืืืชืื "ืืืคืืก".
ืื ื ืืคืขืืืื ืืช ืืื ืื ืชื ืืืืืื 20 ืฉื ืืืช, ืืื ืืฉืืจืจืื ืืช ืืงืืกื.
ืืชืื ืืืงื ืืืื, ืืืืืขืืช ืืืืืช ืืืืจืืช ืืืืคืืข ืืืืื Tiny PXE Server:
ืื ืืืืืขื ืืืคืืขื, ืื ืืชื ืืืืืื ืื ืืื!
ืฉืืืจ ืืช ืืืืืจืืช ืืืชืื ืืจืฉืช ืืืืืจ ืืงืื ืืช ืืืชืืืช ืืืืคื ืืื ืื (ืืจื DHCP).
ืืชืืืจ ืืืฆืืืืช ื-LAN ืฉื ืื ืชื Mikrotik (2โฆ5 ืืืงืจื ืฉืื ื) ืืืืฆืขืืช ืืืชื ืืื ืชืืงืื. ืคืฉืื ืืืืฃ ืืืชื ืืืฆืืื 1 ืืืฆืืื 2. ืคืชื ืืชืืืช
ืืืื ืก ืืืืฉืง ืื ืืืืื ืฉื OpenWRT ืืขืืืจ ืืกืขืืฃ ืืชืคืจืื "ืืขืจืืช -> ืืืืื/ืงืืฉืืช ืคืืืฉ"
ืืกืขืืฃ ืืืฉื ื "ืชืืื ืช ืงืืฉืื ืืืฉื ืฉื ืคืืืฉ", ืืืฅ ืขื ืืืืฆื "ืืืจ ืงืืืฅ (ืขืืื)".
ืฆืืื ืืช ืื ืชืื ืืงืืืฅ ืฉืฉืื ืืกืชืืื ื-"-squashfs-sysupgrade.bin".
ืืืืจ ืืื, ืืืฅ ืขื ืืคืชืืจ "ืชืืื ืช ืคืืืฉ".
ืืืืื ืืื, ืืืฅ ืขื ืืคืชืืจ "ืืืฉื". ืืืจืืช ืืงืืฉืื ืชืชืืื ืื ืชื.
!!! ืืฉืื ืืงืจื ืืื ืื ืชืง ืืช ืืืฉืื ืฉื ืื ืชื ืืืืื ืชืืืื ืืงืืฉืื !!!
ืืืืจ ืืืืื ืืืชืืื ืืืืฉ ืฉื ืื ืชื, ืชืงืืื ืืช 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 ืืืฉื
ืืืืจืช ืืงืื WireGuard ื-OpenWRT
ืืชืืืจ ืื ืชื ืืืืฆืขืืช ืคืจืืืืงืื SSH:
ssh [email protected]
ืืชืงื ืืช WireGuard:
opkg update
opkg install wireguard
ืืื ืืช ืืชืฆืืจื (ืืขืชืง ืืช ืืงืื ืืืื ืืงืืืฅ, ืืืืฃ ืืช ืืขืจืืื ืฉืฆืืื ื ืืขืจืืื ืฉืื ืืืคืขื ืืืจืืื ื).
ืื ืืชื ืืฉืชืืฉ ื-MyVPN, ืื ืืชืฆืืจื ืืืื ืืชื ืจืง ืฆืจืื ืืฉื ืืช WG_SERV - IP ืฉื ืฉืจืช 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.
ืชืืืืจ
ืืงืืจ: www.habr.com