αααα»αααααΈααΆαα
αααΎα ααΆαααααΆααααααααααα
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 α ααα»α αααααΆαααααα’αΆα ααα α‘αΎααααααΆααααΈααΆααααααΆααα’ααΈααΊααα·αααα»αααααα αααα»αααΌαααααΆαα±ααααααΆααααααααα α αΎαααααΌαααααααα αα·ααα»αααααΌαααααααΆαα αααααααΎααααααααα
α
α»α
αααΌαα»α "..." (ααΆαααααΆαααΆαααααα) α αΎααααααΆαααααααα’αααααΆαααΆαααα―αααΆααααααα·ααΈαααααααααααΆαα Mikrotik α
ααααΎαααΎαα―αααΆααααααααααααα ααααα "initramfs-kernel.bin α¬ elf"
2. α αΆααααααΎααααααααααΈαααΆαααΈααα PXE
ααΎαααααΆαααα»αααααΌαααααΆαα½ααααα αα·αα αααααΈαα½α (wan, internet, poe in, ...) αααααααααα αααααΆααααΈαααααΎαααααΎα αΆααααααααα·αααΆα αΌααα αααα»ααααααααααΆααα·ααΆα αΆααΉα "αααααα‘αΎααα·α" α
ααΎαααΎαααΆαααααααααααααα α αΎααααα
αΆα 20 αα·ααΆααΈ αααααΆαααααααα
ααααΎα
αΆαααααααα
αααα»αβαα½αβααΆααΈβαααααΆαα ααΆαβααΌα
βααΆαβαααααβαα½αβααβααα
βα‘αΎαβαααα»αβαααα’α½α
βαααΆαααΈαβαααααΎ PXE ααΌα
α
ααΎβααΆαβααα
βα‘αΎα αααβα’αααβααΎαβααααΌαβα αΎα!
ααααΆαααΆαααααααα ααΎα’αΆααΆααααααααααΆα α αΎααααααααΎααααΈααα½αααΆαα’αΆααααααΆαααΆααααα (ααΆαααα DHCP) α
ααααΆαααα
α
ααα LAN ααααααααα Mikrotik (2β¦5 αααα»αααααΈααααααΎα) αααααααΎααααααααααΌα
ααααΆα ααααΆααααααααΌαααΆααΈα
αααααΈ 1 αα
α
αααααΈ 2 α ααΎαα’αΆααααααΆα
α
αΌααα
ααΆααα
ααα»α
αααααΆααααααααΆα OpenWRT α αΎαα
αΌααα
ααΆααααααααααΊαα»α "αααααααα -> ααααα»ααα»α / αααααα·ααΈαααααα Flash" α
αα
αααα»αααααααα "Flash new firmware image" α
α»α
ααΎαααΌαα»α "Select file (Browse)"α
αααααΆααααααΌααα
ααΆααα―αααΆαααααααααααααααΆαααα
ααααα "-squashfs-sysupgrade.bin" α
αααααΆααααΈαααα
α»α
αααΌαα»α "Flash Image" α
αα αααα»ααααα’α½α αααααΆααα α»α αααΌαα»α "αααα" α αααααα·ααΈααααααααΉαα αΆααααααΎαααΆααααα αααααααα
!!! αα
αααα»αααααΈααΆαα½α αα»αααααΆα
αααΆαααααααααααααααα»αα’αα‘α»ααααααααΎαααΆααααααα·ααΈαααααα!!!
αααααΆααααΈαααα
αααααααΊ αα·αα
αΆααααααΎααααααααα‘αΎααα·α α’αααααΉαααα½αααΆα 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 Client αα ααΎ 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