ã»ãšãã©ã®å Žåãã«ãŒã¿ãŒã VPN ã«æ¥ç¶ããã®ã¯é£ãããããŸãããããããã¯ãŒã¯å
šäœãä¿è·ããåæã«æé©ãªæ¥ç¶é床ãç¶æãããå Žåãæè¯ã®è§£æ±ºç㯠VPN ãã³ãã«ã䜿çšããããšã§ãã
ã«ãŒã¿ãŒ ãã¯ããã¯ ä¿¡é Œæ§ãé«ããéåžžã«æè»ãªãœãªã¥ãŒã·ã§ã³ã§ããããšã蚌æãããŸããããæ®å¿µãªãã
ãã ããçŸæç¹ã§ã¯ãæ®å¿µãªãããMikrotik ã«ãŒã¿ãŒã§ WireGuard ãèšå®ããã«ã¯ããã¡ãŒã ãŠã§ã¢ãå€æŽããå¿
èŠããããŸãã
Mikrotik ã®ãã©ãã·ã¥ãOpenWrt ã®ã€ã³ã¹ããŒã«ãšæ§æ
ãŸããOpenWrt ãã¢ãã«ããµããŒãããŠããããšã確èªããå¿
èŠããããŸãã ã¢ãã«ãããŒã±ãã£ã³ã°åãšã€ã¡ãŒãžã«äžèŽãããã©ããã確èªãã
openwrt.com ã«ã¢ã¯ã»ã¹ããŸã
ãã®ããã€ã¹ã«ã¯ 2 ã€ã®ãã¡ã€ã«ãå¿ èŠã§ãã
äž¡æ¹ã®ãã¡ã€ã«ãããŠã³ããŒãããå¿ èŠããããŸãã ã€ã³ã¹ããŒã«ãéå§ãã О ã¢ããã°ã¬ãŒã.
1. ãããã¯ãŒã¯ã®ã»ããã¢ãããPXE ãµãŒããŒã®ããŠã³ããŒããšã»ããã¢ãã
ããŠã³ããŒããã
å¥ã®ãã©ã«ããŒã«è§£åããŸãã config.ini ãã¡ã€ã«ã«ãã©ã¡ãŒã¿ãè¿œå ããŸã rfc951=1 ã»ã¯ã·ã§ã³ [dhcp]ã ãã®ãã©ã¡ãŒã¿ã¯ãã¹ãŠã® Mikrotik ã¢ãã«ã§åãã§ãã
ãããã¯ãŒã¯èšå®ã«é²ã¿ãŸããããã³ã³ãã¥ãŒã¿ã®ãããã¯ãŒã¯ ã€ã³ã¿ãŒãã§ã€ã¹ã® XNUMX ã€ã«éç 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ãµãŒããŒããã«ãŒã¿ãŒãèµ·åãã
PC ãæç·ãšã«ãŒã¿ãŒã®æåã®ããŒã (WANãã€ã³ã¿ãŒããããPOE å ¥åãªã©) ã«æ¥ç¶ããŸãã ãã®åŸãã€ãŸããããåããããªã»ããããšæžãããç©Žã«å·®ã蟌ã¿ãŸãã
ã«ãŒã¿ãŒã®é»æºããªã³ã«ããŠ20ç§åŸ
ã£ãŠãããã€ãŸããããæŸããŸãã
次㮠XNUMX å以å
ã«ãTiny PXE Server ãŠã£ã³ããŠã«æ¬¡ã®ã¡ãã»ãŒãžã衚瀺ãããŸãã
ã¡ãã»ãŒãžã衚瀺ãããããæ£ããæ¹åã«é²ãã§ããŸãã
ãããã¯ãŒã¯ ã¢ããã¿ãŒã®èšå®ã埩å ããã¢ãã¬ã¹ãåçã« (DHCP çµç±ã§) åä¿¡ããããã«èšå®ããŸãã
åããããã³ãŒãã䜿çšããŠãMikrotik ã«ãŒã¿ãŒã® LAN ããŒã (ãã®äŸã§ã¯ 2 ïœ 5) ã«æ¥ç¶ããŸãã 1çªç®ã®ããŒããã2çªç®ã®ããŒãã«åãæ¿ããã ãã§ãã ãªãŒãã³ã¢ãã¬ã¹
OpenWRT 管çã€ã³ã¿ãŒãã§ã€ã¹ã«ãã°ã€ã³ãã[ã·ã¹ãã -> ããã¯ã¢ãã/ãã©ãã·ã¥ ãã¡ãŒã ãŠã§ã¢] ã¡ãã¥ãŒ ã»ã¯ã·ã§ã³ã«ç§»åããŸãã
ãæ°ãããã¡ãŒã ãŠã§ã¢ã€ã¡ãŒãžããã©ãã·ã¥ããµãã»ã¯ã·ã§ã³ã§ãããã¡ã€ã«ãéžæïŒåç
§ïŒããã¿ã³ãã¯ãªãã¯ããŸãã
ååãã-squashfs-sysupgrade.binãã§çµãããã¡ã€ã«ãžã®ãã¹ãæå®ããŸãã
ãã®åŸããFlashç»åããã¿ã³ãã¯ãªãã¯ããŸãã
次ã®ãŠã£ã³ããŠã§ãç¶è¡ããã¿ã³ãã¯ãªãã¯ããŸãã ãã¡ãŒã ãŠã§ã¢ãã«ãŒã¿ãŒã«ããŠã³ããŒãããå§ããŸãã
!!! ãã¡ãŒã ãŠã§ã¢ã®ããã»ã¹äžã¯ããããªãå Žåã§ãã«ãŒã¿ãŒã®é»æºãåããªãã§ãã ããã
ã«ãŒã¿ãŒããã©ãã·ã¥ããŠåèµ·åãããšã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 ã䜿çšããŠããå Žåã¯ã以äžã®èšå®ãå€æŽããã ãã§æžã¿ãŸãã WG_SERV - ãµãŒããŒIP WG_KEY - ã¯ã€ã€ãŒã¬ãŒãèšå®ãã¡ã€ã«ããã®ç§å¯ããŒãš 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 æ¥ç¶ã«ãã£ãŠä¿è·ãããŸãã
ãªãã¡ã¬ã³ã¹
åºæïŒ habr.com