āĻ•āĻ˛āĻž āĻĒāĻžāĻ‡ R64 āĻ°āĻžāĻ‰āĻŸāĻžāĻ° - āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ, āĻ†āĻ°āĻ•ā§‡āĻāĻ¨

āĻŦā§āĻ¯āĻžāĻ¨āĻžāĻ¨āĻž āĻĒāĻžāĻ‡ 64 āĻšāĻ˛ āĻ°āĻžāĻ¸ā§āĻĒāĻŦā§‡āĻ°āĻŋ āĻĒāĻžāĻ‡-āĻāĻ° āĻŽāĻ¤ā§‹ āĻāĻ•āĻŸāĻŋ āĻāĻ•āĻ•-āĻŦā§‹āĻ°ā§āĻĄ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŦā§‡āĻļ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĒā§‹āĻ°ā§āĻŸ āĻ¸āĻš, āĻ¯āĻž āĻāĻŸāĻŋāĻ•ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ-āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ āĻŦāĻŋāĻ¤āĻ°āĻŖā§‡āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻ‰āĻŸāĻžāĻ°ā§‡ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻ•āĻ°āĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻ°ā§‡āĨ¤

āĻ•āĻ˛āĻž āĻĒāĻžāĻ‡ R64 āĻ°āĻžāĻ‰āĻŸāĻžāĻ° - āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ, āĻ†āĻ°āĻ•ā§‡āĻāĻ¨

āĻšā§āĻ¯āĻžāĻ, āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ Openwrt āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻ° GUI āĻāĻŦāĻ‚ CLI; Mikrotik āĻ†āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŦāĻžāĻ° āĻāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ GUI/CLI āĻ†āĻ›ā§‡, āĻāĻŦāĻ‚ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž... āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ¨āĻŽāĻ¨ā§€āĻ¯āĻŧ āĻ¸ā§‡āĻŸāĻŋāĻ‚āĻ¸ āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻšāĻžāĻ‡, āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ•āĻžāĻ āĻžāĻŽā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĨāĻžāĻ•āĻž āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ, āĻ¯āĻž āĻ†āĻĒāĻ¨āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡āĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻĻāĻŋāĻ¨ā§‡āĻ° āĻ¸āĻžāĻĨā§‡āĨ¤

BPI, R64, āĻāĻ•āĻ•-āĻŦā§‹āĻ°ā§āĻĄ āĻ¨āĻžāĻŽā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻ‡ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻŦā§‹āĻāĻžāĻ¤ā§‡ āĻšāĻžāĻ‡ - āĻ•āĻ˛āĻž āĻĒāĻžāĻ‡ R64 āĻāĻ•āĻ•-āĻŦā§‹āĻ°ā§āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ‡āĻŽā§‡āĻœ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨. eMMC āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨

āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¯ā§‡ āĻĒā§āĻ°āĻĨāĻŽ āĻĻāĻ•ā§āĻˇāĻ¤āĻž āĻ…āĻ°ā§āĻœāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ SBC āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻŦāĻ‚ āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ R64-āĻāĻ° āĻ¸āĻžāĻĨā§‡, āĻāĻ° āĻ…āĻ°ā§āĻĨ āĻšāĻ˛ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻ¯āĻŧ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧ, āĻ•āĻžāĻ°āĻŖ R64-āĻ āĻŽāĻ¨āĻŋāĻŸāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨āĻ“ āĻĒā§‹āĻ°ā§āĻŸ āĻ¨ā§‡āĻ‡ (āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ)āĨ¤ āĻ¯āĻ–āĻ¨ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ - āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡, āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ, āĻŦā§āĻ˛ā§āĻŸā§āĻĨ, āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻāĻ•āĻŸāĻŋ UART āĻ†āĻ›ā§‡, āĻ¯āĻžāĻ° āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ•ā§€ āĻ­ā§āĻ˛ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§‡ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ“ āĻšāĻžāĻ˛āĻžāĻ¨āĨ¤

USB-UART āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ R64 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…ā§āĻ¯āĻžāĻ˛āĻ—āĻ°āĻŋāĻĻāĻŽ:

  • āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ USB-UART āĻ•ā§‡āĻŦāĻ˛ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°ā§‡āĻĄāĻŋāĻ“ āĻ¯āĻ¨ā§āĻ¤ā§āĻ°āĻžāĻ‚āĻļā§‡āĻ° āĻĻā§‹āĻ•āĻžāĻ¨ā§‡ āĻ›ā§āĻŸā§‡ āĻ¯āĻžāĻ‡ (PL2303, āĻ¸āĻŋāĻ°āĻŋāĻ¯āĻŧāĻžāĻ˛-āĻŸā§-āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ)
  • āĻ¨āĻŋāĻšā§‡āĻ° āĻ›āĻŦāĻŋāĻ° āĻŽāĻ¤ā§‹ āĻšāĻžāĻ°āĻŸāĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¤āĻŋāĻ¨āĻŸāĻŋ āĻ¤āĻžāĻ° āĻĻāĻŋāĻ¯āĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ āĻĒā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻŸāĻŋ UART-āĻ•ā§‡ R64-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨
  • āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ° āĻ•āĻ¨āĻ¸ā§‹āĻ˛ā§‡ āĻšāĻžāĻ˛āĻžāĻ¨ sudo minicom

āĻāĻ° āĻĒāĻ°ā§‡, āĻŦā§‡āĻļāĻŋāĻ°āĻ­āĻžāĻ— āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻ•āĻ•-āĻŦā§‹āĻ°ā§āĻĄ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻŋāĻ¤ āĻšāĻŦā§‡ = āĻ¸āĻžāĻĢāĻ˛ā§āĻ¯āĨ¤
āĻ†āĻ°āĻ“ āĻŦāĻŋāĻļāĻĻ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻ¯āĻŧ āĻāĻ–āĻžāĻ¨ā§‡.

āĻ•āĻ˛āĻž āĻĒāĻžāĻ‡ R64 āĻ°āĻžāĻ‰āĻŸāĻžāĻ° - āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ, āĻ†āĻ°āĻ•ā§‡āĻāĻ¨

āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€, āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ¸āĻšāĻœ āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ SD āĻ•āĻžāĻ°ā§āĻĄ āĻĨā§‡āĻ•ā§‡ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž: āĻĻā§āĻŦāĻžāĻ°āĻž āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ āĻ˛āĻŋāĻ‚āĻ• āĻšāĻŋāĻ¤ā§āĻ° āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻĒā§‚āĻ°āĻŖ āĻ•āĻ°ā§āĻ¨:

unzip -p 2019-08-23-ubuntu-16.04-lite-preview-bpi-r64-sd-emmc.img.zip | pv | sudo dd of=/dev/mmcblk0 bs=10M status=noxfer

āĻ†āĻŽāĻ°āĻž āĻ•āĻžāĻ°ā§āĻĄāĻŸāĻŋ R64 SD āĻ¸ā§āĻ˛āĻŸā§‡ āĻĸā§‹āĻ•āĻžāĻ‡, āĻāĻŸāĻŋ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ¨āĻ¸ā§‹āĻ˛ āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻĒā§āĻ°āĻĨāĻŽ uboot, āĻ¤āĻžāĻ°āĻĒāĻ° āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ Linux āĻ˛ā§‹āĻĄāĻŋāĻ‚ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻŋāĨ¤

āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻŦā§āĻŸ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻāĻ•āĻŸāĻŋ 64Gb āĻ•āĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ›ā§‡ āĻ¯āĻž āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ R8-āĻ āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤, āĻ¯āĻžāĻ•ā§‡ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ eMMCāĨ¤ āĻ‰āĻ‡āĻ•āĻŋāĻ¤ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļāĻžāĻŦāĻ˛ā§€ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĄāĻŋāĻ­āĻžāĻ‡āĻ¸ā§‡ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ āĻ•āĻ°āĻŋ
/dev/mmcblk0 āĻĨā§‡āĻ•ā§‡ BPI, āĻ°āĻŋāĻŦā§āĻŸ āĻ•āĻ°ā§āĻ¨, SD āĻ•āĻžāĻ°ā§āĻĄ āĻ¸āĻ°āĻžāĻ¨, āĻ†āĻŦāĻžāĻ° BPI āĻšāĻžāĻ˛ā§ āĻ•āĻ°ā§āĻ¨... āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻžāĨ¤ āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻĒāĻŋāĻ›āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ Boot select āĻŦāĻŋāĻ°āĻ•ā§āĻ¤ āĻ•āĻ°āĻŦā§‡āĻ¨ āĻ¨āĻž

āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛ āĻ•āĻŽāĻĒāĻ•ā§āĻˇā§‡ āĻŦāĻŋāĻĒāĻŋāĻ†āĻ‡āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ­ā§āĻ¯āĻ¨ā§āĻ¤āĻ°ā§€āĻŖ āĻĢā§āĻ˛ā§āĻ¯āĻžāĻļ āĻĄā§āĻ°āĻžāĻ‡āĻ­ āĻĨā§‡āĻ•ā§‡ āĻŦā§āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻĒāĻ¤āĻžāĻ•āĻž āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x00]
root@bpi-r64:~# ./mmc bootpart enable 1 1 /dev/mmcblk1
root@bpi-r64:~# ./mmc extcsd read /dev/mmcblk1 | grep 'PARTITION_CONFIG'
Boot configuration bytes [PARTITION_CONFIG: 0x48]

āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻļā§‡āĻˇ āĻŦā§āĻŸ āĻĒāĻžāĻ°ā§āĻŸāĻŋāĻļāĻ¨ā§‡ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄāĻžāĻ° āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡

root@bpi-r64:~# echo 0 > /sys/block/mmcblk0boot0/force_ro 
root@bpi-r64:~# dd if=preloader_evb7622_64_foremmc.bin of=/dev/mmcblk0boot0

āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻ•āĻžāĻ°āĻ• R64 (āĻšā§€āĻ¨) āĻāĻ‡ āĻŦāĻžāĻ‡āĻ¨āĻžāĻ°āĻŋ āĻĒā§‹āĻ¸ā§āĻŸ āĻ•āĻ°ā§‡āĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡. āĻāĻŸāĻŋ āĻ•ā§€ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ…āĻœāĻžāĻ¨āĻž (āĻ•ā§‹āĻ¨ āĻ‰āĻ¤ā§āĻ¸ āĻ•ā§‹āĻĄ āĻ¨ā§‡āĻ‡), āĻ¤āĻŦā§‡ āĻāĻŸāĻŋ āĻ›āĻžāĻĄāĻŧāĻž āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡ āĻ¨āĻžāĨ¤

āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻ° āĻĒāĻ°ā§‡, āĻšāĻŋāĻ¤ā§āĻ°āĻ—ā§āĻ˛āĻŋ eMMC āĻĨā§‡āĻ•ā§‡ āĻ˛ā§‹āĻĄ āĻšāĻ¤ā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻāĻŸāĻŋ āĻŦā§‡āĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§āĻ•ā§āĻ°ā§āĻ¯āĻžāĻš āĻĨā§‡āĻ•ā§‡ āĻ›āĻŦāĻŋ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ¨, āĻ¤āĻžāĻšāĻ˛ā§‡ āĻ‰āĻ­āĻ¯āĻŧ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡āĻ‡ (SD/eMMC) āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻ•āĻ¯āĻŧā§‡āĻ•āĻŸāĻŋ āĻĢāĻžāĻ‡āĻ˛ (SD āĻ•āĻžāĻ°ā§āĻĄ, ATF, u-āĻŦā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻŋāĻ˛ā§‹āĻĄāĻžāĻ°) āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻšāĻŦā§‡āĨ¤ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧ āĻāĻ–āĻ¨āĻ“ āĻŦāĻŋāĻ•āĻžāĻļ āĻ•āĻ°āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻāĻŦāĻ‚ āĻ āĻŋāĻ• āĻ†āĻ›ā§‡āĨ¤

āĻāĻ–āĻ¨ āĻ†āĻŽāĻŋ eMMC āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻŋ, āĻ¸āĻ¤ā§āĻ¯āĻŋ āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡, āĻ†āĻŽāĻŋ āĻāĻŸāĻŋ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻ¨āĻž, āĻāĻ•āĻŸāĻŋ SD āĻ•āĻžāĻ°ā§āĻĄ āĻ¯āĻĨā§‡āĻˇā§āĻŸ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻāĻŸāĻŋāĻ•ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻŦā§āĻ¯āĻ¯āĻŧ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¤āĻžāĻ‡ āĻāĻŸāĻŋ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§ā§‡ āĻĨāĻžāĻ•ā§āĻ•āĨ¤

āĻāĻ•āĻŸāĻŋ āĻ…āĻĒāĻžāĻ°ā§‡āĻŸāĻŋāĻ‚ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻšāĻ¨ āĻ•āĻ°āĻž āĻšāĻšā§āĻ›ā§‡āĨ¤ āĻ†āĻ°ā§āĻŽā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨

āĻĒā§āĻ°āĻĨāĻŽ āĻ…ā§āĻ¯āĻžāĻĒā§āĻ˛āĻŋāĻ•ā§‡āĻļāĻ¨ āĻŸāĻžāĻ¸ā§āĻ• āĻšāĻ˛ āĻāĻ•āĻŸāĻŋ VPN āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž, āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ•āĻ­āĻžāĻŦā§‡āĻ‡ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄāĨ¤ āĻāĻŸāĻŋ āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ†āĻŦāĻŋāĻˇā§āĻ•ā§ƒāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻ¯ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻāĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ āĻāĻŦāĻ‚ āĻ•ā§‹āĻ¨ āĻļāĻŋāĻ°ā§‹āĻ¨āĻžāĻŽ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ āĻ†āĻŽāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻāĻŦāĻ‚ x86 āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ†āĻŽāĻžāĻ° āĻ…āĻ­ā§āĻ¯āĻžāĻ¸ āĻšāĻŋāĻ¸āĻžāĻŦā§‡, āĻĄāĻŋāĻ•ā§‡āĻāĻŽāĻāĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛āĻŸāĻŋ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, arm64 āĻ āĻāĻŽāĻ¨āĻ•āĻŋ āĻ›ā§‹āĻŸ āĻ‡āĻ‰āĻŸāĻŋāĻ˛āĻŋāĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻ—āĻ¤āĻŋ āĻ†āĻŽāĻžāĻ•ā§‡ āĻ…āĻĒā§āĻ°ā§€āĻ¤āĻŋāĻ•āĻ°āĻ­āĻžāĻŦā§‡ āĻŦāĻŋāĻ¸ā§āĻŽāĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›ā§‡āĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ…āĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ›āĻŋāĻ˛, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻŸāĻŋ āĻĻā§‡āĻ–āĻž āĻ¯āĻžāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāĻ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻāĻ•āĻŸāĻŋ āĻ‰āĻˇā§āĻŖ x86 āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡ āĻ¸āĻ°ā§āĻŦā§‹āĻ¤ā§āĻ¤āĻŽāĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ…āĻ¨ā§āĻ˛āĻŋāĻĒāĻŋ, āĻ°āĻŋāĻŦā§āĻŸ āĻāĻŦāĻ‚ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡ R64 āĻ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ°āĻŋāĻ¤ āĻšāĻ¯āĻŧāĨ¤

āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻœāĻŋāĻ¨āĻŋāĻ¸ āĻšāĻ˛ āĻ‡āĻ‰āĻœāĻžāĻ°āĻ¸ā§āĻĒā§‡āĻ¸ āĻ…āĻ‚āĻļāĨ¤ āĻ†āĻŽāĻžāĻ° āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, arm64 āĻ†āĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ packages.debian.org-āĻ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖā§‡āĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ āĻ¨ā§‡āĻ‡āĨ¤

āĻ…āĻ¨ā§āĻ¯ āĻ¸āĻžāĻ‡āĻ•ā§‡āĻ˛ āĻ¤ā§ˆāĻ°āĻŋ āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻ‡ āĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°āĻž āĻ†āĻ°āĻŽā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ BPI R64-āĻāĨ¤
āĻ…āĻĨāĻŦāĻž āĻŦāĻ°āĻ‚, āĻāĻŸāĻŋ: āĻ‡āĻ‰āĻœāĻžāĻ°āĻ¸ā§āĻĒā§‡āĻ¸ āĻ…āĻ‚āĻļāĻŸāĻŋ āĻ†āĻ°āĻŽā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨, āĻāĻŦāĻ‚ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻ¸āĻ‚āĻ—ā§āĻ°āĻšāĻ¸ā§āĻĨāĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ…āĻ•āĻĒāĻŸ-āĻ•. āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ›āĻŦāĻŋāĻŸāĻŋ āĻĄāĻžāĻ‰āĻ¨āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻž āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻ–āĻžāĻ¨ā§‡.

R64-āĻāĻ° āĻ¸āĻĢā§āĻŸāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ…āĻ‚āĻļā§‡āĻ° āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒ āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻŋāĻ¤ āĻšāĻ¯āĻŧ āĻĢā§‹āĻ°āĻžāĻŽ. āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻ—ā§‡āĻ˛ā§‡, āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤āĻ•āĻžāĻ°āĻ• āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ“āĻĒā§‡āĻ¨āĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ°āĻžāĻ‰āĻŸāĻžāĻ°āĻŸāĻŋāĻ•ā§‡ āĻœāĻ¨āĻĒā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡, āĻ¤āĻŦā§‡ āĻœāĻžāĻ°ā§āĻŽāĻžāĻ¨āĻŋāĻ° āĻŦāĻŋāĻ•āĻžāĻļāĻ•āĻžāĻ°ā§€ āĻĢā§āĻ°ā§āĻ¯āĻžāĻ™ā§āĻ•ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ˛āĻžāĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ§āĻ¨ā§āĻ¯āĻŦāĻžāĻĻ, āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻĻā§āĻ°ā§āĻ¤ āĻĄā§‡āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻļā§‡āĻˇ āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻļā§āĻšāĻ°ā§āĻ¯āĻœāĻ¨āĻ•āĻ­āĻžāĻŦā§‡, āĻĢā§āĻ°āĻžāĻ™ā§āĻ• āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋ āĻĢā§‹āĻ°āĻžāĻŽ āĻĨā§āĻ°ā§‡āĻĄā§‡ āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĨ¤

āĻ•āĻ°ā§āĻŽāĻ•ā§āĻˇā§‡āĻ¤ā§āĻ° āĻ¸āĻ‚āĻ—āĻ āĻ¨: āĻ¤āĻžāĻ°ā§‡āĻ°

āĻ†āĻ˛āĻžāĻĻāĻžāĻ­āĻžāĻŦā§‡, āĻ†āĻŽāĻŋ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ•āĻŋāĻ­āĻžāĻŦā§‡, āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻŽā§‡āĻ¨ā§āĻŸ/āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ, āĻāĻ•āĻŸāĻŋ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡ āĻāĻ•āĻŸāĻŋ SBC (āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ BPI āĻ¨āĻ¯āĻŧ) āĻ°āĻžāĻ–ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻĒā§āĻ°ā§‹ āĻ°ā§āĻŽ/āĻ…āĻĢāĻŋāĻ¸ āĻœā§āĻĄāĻŧā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻāĻŸāĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ•ā§‡āĻŦāĻ˛ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻ¨āĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻ¸āĻ˛ āĻŦāĻŋāĻˇāĻ¯āĻŧāĻŸāĻŋ āĻš'āĻ˛, āĻāĻ•āĻĻāĻŋāĻ•ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡, āĻ¤āĻŦā§‡ āĻ…āĻ¨ā§āĻ¯āĻĻāĻŋāĻ•ā§‡, āĻ¸ā§‡āĻ‡ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°ā§‡āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ•āĻŋāĻ›ā§ āĻ­ā§‡āĻ™ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡āĨ¤

āĻĒā§āĻ°āĻĨāĻŽā§‡, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž āĻ‡āĻ‰āĻāĻ¸āĻŦāĻŋ-āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ "āĻšā§āĻ‡āĻ¸ā§‡āĻ˛" āĻ•ā§‡āĻ¨āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ, āĻāĻŸāĻŋ āĻŦāĻŋāĻĒāĻŋāĻ†āĻ‡-āĻāĻ° āĻāĻ•āĻŽāĻžāĻ¤ā§āĻ° āĻĒā§‹āĻ°ā§āĻŸā§‡ āĻĒā§āĻ˛āĻžāĻ— āĻ•āĻ°āĻŦ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻ—ā§āĻ˛āĻŋ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻŦā§ˇ āĻāĻŸāĻŋ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¸ā§āĻ¤āĻž TP-LINK TL-WN725N USB 2.0 āĻ•āĻŋāĻ¨ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ–ā§āĻŦ āĻļā§€āĻ˜ā§āĻ°āĻ‡ āĻāĻŸāĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻāĻŸāĻŋ āĻŦāĻ¨ā§āĻ§ āĻšāĻŦā§‡ āĻ¨āĻž: āĻšā§āĻ‡āĻ¸ā§‡āĻ˛ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ†āĻĒāĻ¨āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨, āĻ¯āĻž āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ›āĻŋāĻ˛ āĻ¨āĻžāĨ¤ (āĻĒāĻ°ā§‡ āĻ†āĻŽāĻŋ āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧ RTL8XXXU āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ° āĻāĻ•āĻ¤ā§āĻ°āĻŋāĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ…āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ)āĨ¤ āĻāĻŦāĻ‚ āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ•ā§‡āĻŦāĻ˛āĻŸāĻŋ āĻ•āĻŋāĻ›ā§āĻ•ā§āĻˇāĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ˜āĻ°ā§‡āĻ° āĻšā§‡āĻšāĻžāĻ°āĻž āĻ¨āĻˇā§āĻŸ āĻ•āĻ°ā§‡ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻŋ āĻŸā§‡āĻ¨ā§āĻĄāĻž MW3 (āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻœāĻžāĻ˛ āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ) āĻāĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ¤āĻžāĻ°ā§‡āĻ° āĻĒāĻ°āĻŋāĻ¤ā§āĻ°āĻžāĻŖ āĻĒā§‡āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋ: āĻ†āĻŽāĻŋ āĻ•ā§‡āĻŦāĻ˛ āĻāĻ•āĻŸāĻŋ āĻ•āĻŋāĻ‰āĻŦ āĻŸā§‡āĻŦāĻŋāĻ˛ā§‡āĻ° āĻ¨ā§€āĻšā§‡ āĻ°ā§‡āĻ–ā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻŽāĻŋāĻŸāĻžāĻ°-āĻ˛āĻŽā§āĻŦāĻž āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ¤āĻžāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ BPI āĻ•ā§‡ āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€ LAN āĻĒā§‹āĻ°ā§āĻŸā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ¸āĻĢāĻ˛āĻ¤āĻžāĨ¤

āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ, āĻ†āĻ°āĻ•ā§‡āĻāĻ¨, āĻŦāĻžāĻ°ā§āĻĄ

āĻ†āĻŽāĻŋ āĻ¯ā§‡ āĻœāĻŋāĻ¨āĻŋāĻ¸āĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ Banana PI āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ āĻ¤āĻž āĻšāĻ˛ RKN āĻĻā§āĻŦāĻžāĻ°āĻž āĻŦā§āĻ˛āĻ• āĻ•āĻ°āĻž āĻ¸āĻžāĻ‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻ¨āĻžāĻŽā§‚āĻ˛ā§āĻ¯ā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻĨāĻžāĻ•āĻž, āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻāĻŦāĻ‚ āĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻ• āĻ•āĻ˛āĻ—ā§āĻ˛āĻŋ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻšāĻžāĻŦā§āĻ°ā§‡ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ—ā§āĻ˛āĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ‡ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡: āĻ¸āĻŽāĻ¯āĻŧ, два, āĻ¤āĻŋāĻ¨.

āĻ†āĻŽāĻŋ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ āĻŋāĻ• āĻāĻ‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻ˛āĻŋāĻ‚āĻ•.

VPS āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ 18.04 āĻšāĻžāĻ˛āĻžāĻšā§āĻ›ā§‡ āĻŦāĻ˛ā§‡ āĻ§āĻ°ā§‡ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧāĨ¤ āĻ†āĻŽāĻŋ āĻ‡āĻ‰āĻ°ā§‹āĻĒā§‡āĻ° āĻĻā§āĻŸāĻŋ āĻšā§‹āĻ¸ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ: āĻ†āĻŽāĻžāĻœāĻ¨ āĻāĻŦāĻ‚ āĻĄāĻŋāĻœāĻŋāĻŸāĻžāĻ˛ āĻŽāĻšāĻžāĻ¸āĻžāĻ—āĻ°āĨ¤

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻ†āĻŽāĻ°āĻž R64 āĻ āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ†āĻ°ā§āĻŽā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻāĻŸāĻŋ āĻ¨āĻžāĻŽā§‡āĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ ssh āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸āĻ¯ā§‹āĻ—ā§āĻ¯ hm-bananapi-1 āĻāĻŦāĻ‚ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ†āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻ§āĻžāĻ°āĻžāĻŦāĻžāĻšāĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯, āĻ…āĻŸā§‹āĻŽā§‡āĻļāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ R64 āĻ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻŋ:

# СавиŅĐ¸ĐŧĐžŅŅ‚и Đ´ĐģŅ Debian-based диŅŅ‚Ņ€Đ¸ĐąŅƒŅ‚ивОв
$ sudo apt install --no-install-recommends python3-pip python3-setuptools python3-wheel git
$ which pip3
/usr/bin/pip3

# ansible Ņ pybook, ŅĐēŅ€Đ¸ĐŋŅ‚ОваĐŊиĐĩ ĐŊĐ° Python
$ pip3 install https://github.com/muravjov/ansible/archive/ansible-2.10.0.dev0-pybook2019.tar.gz

$ export PATH=~/.local/bin:$PATH
$ which ansible-playbook
/home/sa/.local/bin/ansible-playbook

$ git clone https://github.com/muravjov/ansible-bpi-r64.git
$ cd ansible-bpi-r64

$ git submodule update --init

# ŅƒĐąĐĩĐļĐ´Đ°ĐĩĐŧŅŅ в Đ´ĐžŅŅ‚ŅƒĐŋĐŊĐžŅŅ‚и hm-bananapi-1
$ ssh hm-bananapi-1 which python3
/usr/bin/python3

# ŅĐžĐąŅŅ‚вĐĩĐŊĐŊĐž ŅƒŅŅ‚Đ°ĐŊОвĐēĐ°
$ ansible-playbook ./router.py -l hm-bananapi-1

āĻāĻ° āĻĒāĻ°ā§‡, āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° VPN āĻāĻ•āĻ‡āĻ­āĻžāĻŦā§‡ VPS-āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡:

ansible-playbook ./router.py -l current-vpn

āĻāĻ–āĻžāĻ¨ā§‡ āĻ¯ā§āĻ•ā§āĻ¤āĻŋāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻŦāĻ°ā§āĻ¤āĻŽāĻžāĻ¨-āĻ­āĻŋāĻĒāĻŋāĻāĻ¨, āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•ā§ƒāĻ¤ āĻ­āĻŋāĻĒāĻŋāĻāĻ¸ āĻ¨āĻžāĻŽāĻŸāĻŋ āĻāĻ•āĻŸāĻŋ āĻ­ā§‡āĻ°āĻŋāĻ¯āĻŧā§‡āĻŦāĻ˛ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ (āĻāĻ‡ āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ¯āĻžāĻ°āĻŋāĻ¸-āĻ­āĻŋāĻĒāĻŋāĻāĻ¨-āĻāĻ‰āĻ¸-āĻŸāĻŋ2-āĻŽāĻžāĻ‡āĻ•ā§āĻ°ā§‹-1):

$ grep current_vpn group_vars/all 
current_vpn: paris-vpn-aws-t2-micro-1
#current_vpn: frankfurt-vpn-d0-starter-1

āĻ“āĻš āĻšā§āĻ¯āĻžāĻ, āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ…āĻĒāĻžāĻ°ā§‡āĻļāĻ¨ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ—ā§‹āĻĒāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž (āĻŦāĻŋāĻļā§‡āĻˇ āĻ•āĻ°ā§‡ āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ āĻ•ā§€) āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻŦā§‡ ./secrets, āĻĄāĻŋāĻ°ā§‡āĻ•ā§āĻŸāĻ°āĻŋāĻ° āĻŽāĻ¤ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻšāĻŦā§‡ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚.

āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ…āĻŸā§‹āĻŽā§‡āĻļāĻ¨

āĻ†āĻĒāĻ¨āĻŋ āĻ˛āĻ•ā§āĻˇā§āĻ¯ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ āĻ¯ā§‡ YAML āĻĢāĻ°ā§āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻĨāĻžāĻ•āĻžāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡, āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ¨āĻ•ā§‹āĻĄ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯, āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻ‰āĻĒāĻžāĻ¯āĻŧā§‡ āĻĒāĻžāĻ–āĻŋ āĻĄā§‡āĻŽāĻ¨ āĻ¸āĻ•ā§āĻˇāĻŽ āĻ•āĻ°āĻŦā§‡āĻ¨:

- name: start bird
  systemd:
    name: bird
    state: started
    enabled: yes

āĻāĻŦāĻ‚ āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻŦā§‡āĻ¨:

with mapping:
    append("name", "start bird")
    with mapping("systemd"):
        append("name",  "bird")
        append("state", "started")
        append("enabled", "yes")

āĻĒāĻžāĻ‡āĻĨāĻ¨ā§‡ āĻ‰āĻ¤ā§āĻ¤āĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ˛ā§‡āĻ–āĻž āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ•ā§‹āĻĄāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ āĻāĻŦāĻ‚ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ-āĻ‰āĻĻā§āĻĻā§‡āĻļā§āĻ¯ āĻ­āĻžāĻˇāĻžāĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻ¸āĻŽā§āĻ­āĻžāĻŦāĻ¨āĻž āĻ–ā§āĻ˛ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, R64 āĻāĻŦāĻ‚ VPS āĻ āĻŦāĻžāĻ°ā§āĻĄ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž:

install_bird("router/bird.conf.j2")
install_bird("vpn/bird.conf.j2")

āĻĢāĻžāĻ‚āĻļāĻ¨ āĻ•ā§‹āĻĄ āĻĻā§‡āĻ–ā§āĻ¨ install_bird().

āĻāĻ‡ āĻŦā§ˆāĻļāĻŋāĻˇā§āĻŸā§āĻ¯ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧ pybook āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻāĻ–āĻžāĻ¨ā§‡. āĻĒāĻžāĻ‡āĻŦā§āĻ•ā§‡ āĻāĻ–āĻ¨āĻ“ āĻ•ā§‹āĻ¨āĻ“ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻ¨ā§‡āĻ‡, āĻ¤āĻŦā§‡ āĻ†āĻŽāĻŋ āĻĒāĻ°ā§‡ āĻāĻ‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻŸāĻŋ āĻ āĻŋāĻ• āĻ•āĻ°āĻŦāĨ¤

āĻ¸ā§‡ āĻ•āĻŋ āĻŽāĻ¨ā§‡ āĻ•āĻ°ā§‡ āĻ‰āĻœāĻžāĻ¨ā§‡ āĻāĻ‡ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡

āĻŽāĻ¨āĻŋāĻŸāĻ°āĻŋāĻ‚āĨ¤ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸

āĻŽā§‹āĻŸ: āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ˛āĻŋāĻ™ā§āĻ•āĻĄāĻ‡āĻ¨ āĻāĻŦāĻ‚ āĻĒāĻ°ā§āĻ¨āĻšāĻžāĻŦāĻ“, āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻ āĻŋāĻ• āĻ†āĻ›ā§‡āĨ¤ āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻšāĻžāĻ‡āĻ¨āĻŋāĻœ āĻšāĻžāĻ°ā§āĻĄāĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ° āĻ¸āĻš āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ­ā§‡āĻ™ā§āĻ—ā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤

āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ āĻ†āĻĒāĻĄā§‡āĻŸāĻ—ā§āĻ˛āĻŋāĻ“ āĻ†āĻ•āĻ°ā§āĻˇāĻŖā§€āĻ¯āĻŧ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡: āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻŋ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ 5.4 => 5.6 āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ, āĻ āĻŋāĻ• āĻ†āĻ›ā§‡, āĻ“āĻ¯āĻŧā§āĻ¯āĻžāĻ°āĻ—āĻžāĻ°ā§āĻĄ āĻŦāĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻŦāĻžāĻ‡āĻ°ā§‡ āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻĒā§āĻ¯āĻžāĻš āĻ•āĻ°āĻžāĻ° āĻĻāĻ°āĻ•āĻžāĻ° āĻ¨ā§‡āĻ‡... āĻ¯āĻ¤ āĻ¤āĻžāĻĄāĻŧāĻžāĻ¤āĻžāĻĄāĻŧāĻŋ āĻŦāĻ˛āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ: āĻ†āĻŽāĻŋ āĻļā§āĻ°āĻŽāĻ¸āĻžāĻ§ā§āĻ¯āĻ­āĻžāĻŦā§‡ 5.4 āĻĨā§‡āĻ•ā§‡ āĻĒā§āĻ¯āĻžāĻšāĻ—ā§āĻ˛āĻŋ āĻ¸ā§āĻĨāĻžāĻ¨āĻžāĻ¨ā§āĻ¤āĻ° āĻ•āĻ°ā§‡āĻ›āĻŋ 5.6 āĻ, āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ­āĻŋāĻĒāĻŋāĻāĻ¸ā§‡āĻ° āĻŸāĻžāĻ¨ā§‡āĻ˛āĻŸāĻŋ āĻĒāĻŋāĻ‚ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻĒāĻžāĻ–āĻŋ "āĻŦāĻŋāĻœāĻŋāĻĒāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋ" āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž ... "āĻ†āĻŽāĻŋ āĻ­āĻ¯āĻŧā§‡ āĻĢāĻŋāĻ°ā§‡ āĻāĻ¸ā§‡āĻ›āĻŋ" (āĻ—) 5.4 āĻ¤ā§‡; 5.6-āĻ āĻ¸āĻ°āĻžāĻ¨ā§‹ TODO-āĻ¤ā§‡ āĻ¸ā§āĻĨāĻ—āĻŋāĻ¤ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤

āĻ…āĻ¤āĻāĻŦ, āĻ°āĻžāĻ‰āĻŸāĻžāĻ° āĻāĻŦāĻ‚ āĻ­āĻŋāĻĒāĻŋāĻāĻ¸ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻžāĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻ†āĻŽāĻŋ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ¯ā§‹āĻ— āĻ•āĻ°ā§‡āĻ›āĻŋ (x86 āĻ‰āĻŦā§āĻ¨ā§āĻŸā§ 18.04 āĻ), āĻ¯āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨āĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§ƒāĻĨāĻ• āĻšā§‹āĻ¸ā§āĻŸā§‡ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ āĻ•āĻ°āĻž āĻ†āĻ›ā§‡:

  • prometheus, alertmanager, blackbox_exporter - āĻ¸āĻŦāĻ‡ āĻĄāĻ•āĻžāĻ°ā§‡
  • āĻŽā§‡āĻŸāĻžāĻ˛āĻŽā§‡āĻŸāĻœā§‡/āĻ…ā§āĻ¯āĻžāĻ˛āĻžāĻ°ā§āĻŸāĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ°-āĻŦāĻŸ āĻŦāĻŸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ - āĻĄāĻ•āĻžāĻ°ā§‡āĻ“
  • āĻŦāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ tor, āĻ¯āĻžāĻ¤ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻĨāĻžāĻ•āĻž āĻ…āĻŦāĻ¸ā§āĻĨāĻžāĻ¯āĻŧ āĻŦāĻŸ āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ• āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻāĻ–āĻ¨āĻ“ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¨āĻž āĻāĻŦāĻ‚ āĻŦāĻŸ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡ āĻ¨āĻž
  • āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻ— āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž: NodeVPNtroubles (VPS-āĻ āĻ•ā§‹āĻ¨ āĻĒāĻŋāĻ‚ āĻ¨ā§‡āĻ‡), BirdVPNtroubles (āĻ•ā§‹āĻ¨āĻ“ āĻŦāĻžāĻ°ā§āĻĄ āĻ¸ā§‡āĻļāĻ¨ āĻ¨ā§‡āĻ‡), AntifilterDownloadTroubles (āĻ…āĻŦāĻ°ā§āĻĻā§āĻ§ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻ˛ā§‹āĻĄ āĻ•āĻ°āĻžāĻ° āĻ¸āĻŽāĻ¯āĻŧ āĻ¤ā§āĻ°ā§āĻŸāĻŋ), āĻ¸āĻžāĻ‡āĻŸ āĻŸā§āĻ°āĻžāĻŦāĻ˛āĻ¸ (āĻĻā§āĻ°ā§āĻ­āĻžāĻ—ā§āĻ¯āĻœāĻ¨āĻ• āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻ…āĻ¨ā§āĻĒāĻ˛āĻŦā§āĻ§)
  • āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, HostGrowingDiskReadLatency (āĻ¸āĻ¸ā§āĻ¤āĻž āĻāĻ¸āĻĄāĻŋ āĻ•āĻžāĻ°ā§āĻĄ āĻ…āĻĒāĻ āĻ¨āĻ¯ā§‹āĻ—ā§āĻ¯ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ)

āĻŽāĻ¨āĻŋāĻŸāĻ°āĻŋāĻ‚ āĻ‡āĻ¨āĻ¸ā§āĻŸāĻ˛ā§‡āĻļāĻ¨ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

ansible-playbook ./monitoring.py -l monitoring-preprod

āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻŸā§‹ āĻĄāĻŋāĻ¸āĻ•āĻ­āĻžāĻ°āĻŋ /etc/prometheus/auto_http āĻĢā§‹āĻ˛ā§āĻĄāĻžāĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖā§‡ āĻšā§‹āĻ¸ā§āĻŸ āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻžāĻ° āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡ āĻšā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻĒāĻ°ā§āĻ¯āĻŦā§‡āĻ•ā§āĻˇāĻŖ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ āĻ¨āĻž):

bash << 'EOF'
HOSTNAME=hm-bananapi-1
IP_ADDRESS=`ssh -G $HOSTNAME | awk '/^hostname / { print $2 }'`

ssh monitoring-preprod sudo sponge /etc/prometheus/auto_http/$HOSTNAME.json << EOF2
[
  {
    "targets": ["$IP_ADDRESS:9100"],
    "labels": {
      "env": "prod",
      "hostname": "$HOSTNAME"
    }
  }
]
EOF2
EOF

TODO: 2 āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€, 2 BPI, anycast āĻĢā§‡āĻ‡āĻ˛āĻ“āĻ­āĻžāĻ°

āĻ¸āĻŦāĻ•āĻŋāĻ›ā§āĻ° āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, āĻ†āĻŽāĻŋ āĻĻā§āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¯āĻžāĻ¤ā§‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ•āĻžāĻœ āĻšāĻžāĻ˛āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¯āĻĻāĻŋ āĻāĻ•āĻœāĻ¨ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ° āĻ¨ā§‡āĻŸāĻ“āĻ¯āĻŧāĻžāĻ°ā§āĻ•ā§‡ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž āĻĨāĻžāĻ•ā§‡, āĻŦāĻž āĻ¤āĻžāĻ°āĻž āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻ­ā§āĻ˛ā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ āĻāĻŦāĻ‚ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ āĻŽāĻžāĻ¨āĻŦāĻŋāĻ• āĻ•āĻžāĻ°āĻŖāĻ—ā§āĻ˛āĻŋāĨ¤

āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻ“āĻ¯āĻŧāĻžāĻ¨ āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ‰āĻ¨ā§āĻ¨āĻ¤ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ° āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻāĻ–āĻžāĻ¨ā§‡ Openwrt āĻāĻ° āĻ…āĻ§ā§€āĻ¨ā§‡ Mwan3 āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻāĻ‡ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨āĻŸāĻŋāĻ° āĻ¸āĻŽā§ƒāĻĻā§āĻ§ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡, āĻ¤āĻŦā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋ-āĻ“āĻ¯āĻŧāĻžāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡ āĻāĻŸāĻŋ āĻ¸ā§‡āĻŸ āĻ†āĻĒ āĻ•āĻ°āĻž āĻāĻŦāĻ‚ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻ¨āĻž āĻ•āĻ°āĻž āĻŦā§‡āĻļ āĻāĻžāĻŽā§‡āĻ˛āĻžāĻĒā§‚āĻ°ā§āĻŖāĨ¤ āĻļā§āĻ§ā§ āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ: āĻ¯āĻĻāĻŋ āĻ†āĻĒāĻ¨āĻŋ āĻĻā§āĻŸāĻŋ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻž āĻĨā§‡āĻ•ā§‡ āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ‡āĻŸā§‡ āĻāĻ•āĻŦāĻžāĻ°ā§‡ āĻ†āĻ¸ā§‡āĻ¨, āĻ¤āĻŦā§‡ āĻ¤āĻžāĻ°āĻž āĻāĻŸāĻŋ āĻĒāĻ›āĻ¨ā§āĻĻ āĻ¨āĻžāĻ“ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ¤āĻžāĻ°āĻž āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻŦā§‡ => "āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻžāĨ¤"

āĻāĻ‡ āĻ…āĻ­āĻŋāĻœā§āĻžāĻ¤āĻž āĻŦāĻŋāĻŦā§‡āĻšāĻ¨āĻž āĻ•āĻ°ā§‡, āĻ†āĻŽāĻŋ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻŽāĻžāĻ˛ā§āĻŸāĻŋāĻšā§‹āĻŽāĻŋāĻ‚ āĻāĻ–āĻ¨āĻ“ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ¨āĻ¯āĻŧ, āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĨ¤ āĻ¯āĻĻāĻŋāĻ“, āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡ āĻ˛āĻŋāĻ¨āĻžāĻ•ā§āĻ¸ā§‡āĻ° āĻ¸āĻ°ā§āĻŦāĻļā§‡āĻˇ āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻāĻ•āĻŸāĻŋ āĻ•āĻŽāĻžāĻ¨ā§āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤ āĻ¯ā§‡āĻŽāĻ¨:

ip route add default 
    nexthop via 192.168.1.1 weight 10 
    nexthop via 192.168.2.1 weight 5

āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚, āĻŦā§āĻ¯āĻ°ā§āĻĨāĻ¤āĻžāĻ° āĻāĻ•āĻ• āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻāĻĄāĻŧāĻžāĻ¤ā§‡, āĻ†āĻŽāĻ°āĻž 2āĻŸāĻŋ BPI āĻ¨āĻŋāĻ‡, āĻĒā§āĻ°āĻ¤āĻŋāĻŸāĻŋāĻ•ā§‡ āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻĻā§‡āĻ° āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻĒāĻžāĻ–āĻŋ/OSPF āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻāĻ•ā§‡ āĻ…āĻĒāĻ°ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ—āĻ¤āĻŋāĻļā§€āĻ˛ āĻ°āĻžāĻ‰āĻŸāĻŋāĻ‚ āĻ•āĻ°āĻŋāĨ¤

āĻāĻ°āĻĒāĻ°ā§‡, āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§ āĻĨāĻžāĻ•āĻ˛ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•ā§‡ āĻāĻ•āĻ‡ āĻ†āĻ‡āĻĒāĻŋ āĻ āĻŋāĻ•āĻžāĻ¨āĻžāĻ° āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāĻ¨ āĻĻāĻŋāĻ‡ (āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻ¨ā§‡āĻŸ, āĻĄāĻŋāĻāĻ¨āĻāĻ¸)āĨ¤ āĻ…āĻ°ā§āĻĨāĻžā§Ž, āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻœā§‡āĻ°āĻžāĻ‡ āĻĄāĻŋāĻĢāĻ˛ā§āĻŸ āĻ°ā§āĻŸ āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻŦ āĻ¨āĻž, āĻ¤āĻŦā§‡ āĻĒāĻžāĻ–āĻŋāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ—ā§āĻĒā§āĻ¤āĻšāĻ° āĻāĻ–āĻžāĻ¨ā§‡ .

āĻāĻ‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻāĻ–āĻ¨āĻ“ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻŋāĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ›āĻ˛āĻ¨āĻžāĻŽāĻ¯āĻŧ āĻ•āĻ°ā§‹āĻ¨āĻ­āĻžāĻ‡āĻ°āĻžāĻ¸ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻ•ā§ŒāĻļāĻ˛ āĻ–ā§‡āĻ˛ā§‡āĻ›ā§‡ (āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ Aliexpress āĻĨā§‡āĻ•ā§‡ āĻ†āĻ¸ā§‡āĻ¨āĻŋ; āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ āĻ¸ā§āĻŸā§‹āĻ°, Layta, āĻāĻ• āĻ¸āĻĒā§āĻ¤āĻžāĻšā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ¤āĻŋāĻļā§āĻ°ā§āĻ¤āĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻ• āĻŽāĻžāĻ¸ā§‡āĻ°āĻ“ āĻŦā§‡āĻļāĻŋ āĻ¸āĻŽāĻ¯āĻŧ āĻĒāĻžāĻ° āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡; āĻĻā§āĻŦāĻŋāĻ¤ā§€āĻ¯āĻŧ āĻĒā§āĻ°āĻĻāĻžāĻ¨āĻ•āĻžāĻ°ā§€āĻ° āĻ•āĻžāĻ›ā§‡ āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ‡ āĻ•ā§‹āĻ¯āĻŧāĻžāĻ°ā§‡āĻ¨ā§āĻŸāĻžāĻ‡āĻ¨ā§‡āĻ° āĻ†āĻ—ā§‡ āĻ•ā§‡āĻŦāĻ˛āĻŸāĻŋ āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻ¤ā§‡, āĻ•ā§‡āĻŦāĻ˛ āĻ¤āĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĻā§‡āĻ¯āĻŧāĻžāĻ˛ā§‡ āĻĄā§āĻ°āĻŋāĻ˛ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻāĻ•āĻŸāĻŋ āĻ—āĻ°ā§āĻ¤ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻ°āĻŋāĻšāĻžāĻ˛āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛)āĨ¤

āĻ•āĻŋāĻ­āĻžāĻŦā§‡ R64 āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻŦā§‡āĻ¨

āĻŦā§‹āĻ°ā§āĻĄ āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻĻā§‹āĻ•āĻžāĻ¨ā§‡ SinoVoip.
āĻ…āĻŦāĻŋāĻ˛āĻŽā§āĻŦā§‡ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻ•āĻ°āĻžāĻ“ āĻ­āĻžāĻ˛:

  • āĻ–āĻžāĻĻā§āĻ¯ + āĻ‡āĻ‡āĻ‰ āĻŦāĻž āĻ‡āĻ‰āĻāĻ¸ āĻĒā§āĻ˛āĻžāĻ— āĻ¸ā§āĻŸā§āĻ¯āĻžāĻ¨ā§āĻĄāĻžāĻ°ā§āĻĄ āĻ…āĻŦāĻšāĻŋāĻ¤ āĻ•āĻ°ā§āĻ¨
  • āĻ¤āĻžāĻĒ āĻ¸āĻŋāĻ™ā§āĻ•: āĻ°ā§‡āĻĄāĻŋāĻ¯āĻŧā§‡āĻŸāĻžāĻ°/āĻĒāĻžāĻ–āĻž; āĻ•āĻžāĻ°āĻŖ CPU āĻāĻŦāĻ‚ āĻ¸ā§āĻ‡āĻš āĻšāĻŋāĻĒ āĻ‰āĻ­āĻ¯āĻŧāĻ‡ āĻ—āĻ°āĻŽ āĻšāĻšā§āĻ›ā§‡
  • āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ…ā§āĻ¯āĻžāĻ¨ā§āĻŸā§‡āĻ¨āĻž, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ

āĻāĻ•āĻŸāĻŋ āĻ¸ā§‚āĻ•ā§āĻˇā§āĻŽāĻ¤āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ¸ā§āĻŸā§‹āĻ°ā§‡ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻĻāĻžāĻŽ āĻ…āĻĒāĻ°ā§āĻ¯āĻžāĻĒā§āĻ¤āĻ­āĻžāĻŦā§‡ āĻŦā§‡āĻļāĻŋ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻŽā§āĻ¯āĻžāĻ¨ā§‡āĻœāĻžāĻ° āĻœā§āĻĄāĻŋ āĻšā§āĻ¯āĻŧāĻžāĻ‚ āĻ†āĻŽāĻžāĻ•ā§‡ āĻŦā§‹āĻāĻžāĻ˛ā§‡āĻ¨ āĻ¯ā§‡ āĻ•ā§‹āĻ¨āĻ“ āĻ¤ā§āĻ°ā§āĻŸāĻŋ āĻ¨ā§‡āĻ‡, āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻŋ $5 āĻāĻ° āĻœāĻ¨ā§āĻ¯ ePacket āĻŦā§‡āĻ›ā§‡ āĻ¨āĻŋāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–ā§‡āĻ›āĻŋ āĻ¯ā§‡ āĻ°āĻžāĻļāĻŋāĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° EMS āĻ†āĻ›ā§‡ >$33āĨ¤ āĻ…āĻĒā§āĻ°ā§€āĻ¤āĻŋāĻ•āĻ°, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸āĻŽāĻžāĻ˛ā§‹āĻšāĻ¨āĻžāĻŽā§‚āĻ˛āĻ• āĻ¨āĻž. āĻ¤āĻžāĻ›āĻžāĻĄāĻŧāĻž, āĻ†āĻĒāĻ¨āĻŋ āĻ¯āĻĻāĻŋ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ¯ āĻ•ā§‹āĻ¨ āĻĻā§‡āĻļ āĻŦā§‡āĻ›ā§‡ āĻ¨ā§‡āĻ¨ (āĻ†āĻŽāĻŋ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻŽāĻšāĻžāĻĻā§‡āĻļā§‡āĻ° āĻŽāĻ§ā§āĻ¯ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ—āĻŋāĻ¯āĻŧā§‡āĻ›āĻŋ), āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻ–āĻ°āĻš āĻšāĻŦā§‡ ~$5āĨ¤ Russophobes?... āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻŋ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒā§‡āĻ˛āĻžāĻŽ āĻ¯ā§‡ āĻĢā§āĻ°āĻžāĻ¨ā§āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋ āĻŽā§‚āĻ˛ā§āĻ¯āĻ“ ~30$, āĻāĻŦāĻ‚ āĻ†āĻŽāĻŋ āĻļāĻžāĻ¨ā§āĻ¤ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛āĻžāĻŽāĨ¤

āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻœā§āĻĄāĻŋ āĻāĻ•āĻŸāĻŋ āĻ…āĻ°ā§āĻĄāĻžāĻ° āĻĻā§‡āĻ“āĻ¯āĻŧāĻžāĻ° āĻĒā§āĻ°āĻ¸ā§āĻ¤āĻžāĻŦ āĻĻāĻŋāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡āĻ¨āĻ¨āĻŋ (āĻ‡āĻ™ā§āĻ—āĻŋāĻ¤: āĻ•āĻžāĻ°ā§āĻĄā§‡ āĻ•āĻŽ āĻ°āĻžāĻ–ā§āĻ¨ āĻ¯āĻžāĻ¤ā§‡ āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ…āĻ°ā§āĻĨ āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ¨āĻž āĻšāĻ¯āĻŧ); āĻ¤āĻžāĻ•ā§‡ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡ āĻĄā§‡āĻ˛āĻŋāĻ­āĻžāĻ°āĻŋāĻ° āĻĻāĻžāĻŽ āĻ¸ā§āĻŦāĻžāĻ­āĻžāĻŦāĻŋāĻ• āĻ•āĻ°ā§‡ āĻĢā§‡āĻ˛āĻŦā§‡āĨ¤ āĻ¸āĻĢāĻ˛āĻ¤āĻžāĨ¤

āĻ¸āĻŽāĻ¸ā§āĻ¯āĻž

āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻāĻ–āĻ¨āĻ“ āĻ¨āĻŋāĻ–ā§āĻāĻ¤āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻ›ā§‡ āĻ¨āĻžāĨ¤

āĻ‰ā§ŽāĻĒāĻžāĻĻāĻ¨āĻļā§€āĻ˛āĻ¤āĻž

Ansible=āĻĒāĻžāĻ‡āĻĨāĻ¨ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ 20-30 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡, āĻāĻŽāĻ¨āĻ•āĻŋ āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻŽāĻžāĻ¨ā§āĻĄāĻ—ā§āĻ˛āĻŋ āĻšāĻžāĻ˛āĻžāĻ¨ā§‹ āĻšāĻ¯āĻŧ; āĻāĻ•āĻŸāĻŋ x86 āĻ˛ā§āĻ¯āĻžāĻĒāĻŸāĻĒā§‡āĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻŦā§‡āĻļāĻŋ āĻŽāĻžāĻ¤ā§āĻ°āĻžāĻ° āĻ…āĻ°ā§āĻĄāĻžāĻ°āĨ¤ āĻ¤āĻĻā§āĻĒāĻ°āĻŋ, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ¤āĻžāĻ°āĻž āĻ–ā§āĻŦ āĻĻā§āĻ°ā§āĻ¤ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻšāĻ¯āĻŧ, ~3 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄ, āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ°āĻž āĻĻā§āĻ°ā§āĻ¤ āĻ§ā§€āĻ° āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ CPU āĻ—āĻ°āĻŽ āĻ•āĻ°āĻžāĻ° (āĻĨā§āĻ°āĻŸāĻ˛āĻŋāĻ‚) āĻ•āĻžāĻ°āĻŖā§‡ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ Go āĻ•ā§‹āĻĄ āĻ•āĻžāĻœ āĻ•āĻ°āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽāĻ¯āĻŧ āĻ¨ā§‡āĻ¯āĻŧ:

# СаĐŋŅ€ĐžŅ ĐŧĐĩŅ‚Ņ€Đ¸Đē Đ´ĐģŅ ĐŋŅ€ĐžĐŧĐĩŅ‚ĐĩŅ иС node_exporter ĐŊĐ° Go
$ time curl -s http://172.30.1.1:9100/metrics > /dev/null

real    0m6,118s
user    0m0,005s
sys     0m0,009s

# ОдĐŊĐ°ĐēĐž Ņ‚ĐĩĐŧĐŋĐĩŅ€Đ°Ņ‚ŅƒŅ€Đ° 51 ĐŗŅ€Đ°Đ´ŅƒŅ, ĐŊĐĩ Ņ‚Đ°Đē и ĐŧĐŊĐžĐŗĐž
sa@bananapir64:~$ cat /sys/devices/virtual/thermal/thermal_zone0/temp
51700

āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡

āĻ“āĻ¯āĻŧāĻžāĻ‡āĻĢāĻžāĻ‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ†āĻ°ā§āĻŽā§āĻŦāĻŋāĻ¯āĻŧāĻžāĻ¨ā§‡ āĻāĻŸāĻŋ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻāĻ• āĻĻāĻŋāĻ¨ āĻĒāĻ°ā§‡ āĻŦāĻ¨ā§āĻ§ āĻšāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ¯āĻŧ, āĻ˛āĻŋāĻ–ā§‡āĻ›ā§‡āĻ¨:

sa@bananapir64:~$ dmesg | grep -E 'mt7622_wmac.*timeout'
[470303.802539] mt7622_wmac 18000000.wmac: Message 38 (seq 3) timeout
[470314.042508] mt7622_wmac 18000000.wmac: Message 50 (seq 4) timeout
...

āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻāĻ•āĻŸāĻŋ āĻĒā§āĻ¨āĻƒāĻ¸ā§‚āĻšāĻ¨āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻ°āĻž āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯ā§‡āĻ¤ā§‡ āĻšāĻŦā§‡ āĻŦāĻžāĻ›āĻžāĻ‡ āĻ•āĻ°āĻž.

āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ

āĻ‡āĻĨāĻžāĻ°āĻ¨ā§‡āĻŸ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ R64 āĻĨā§‡āĻ•ā§‡ ~XNUMX āĻ˜āĻ¨ā§āĻŸāĻžāĻ° āĻĒāĻ° āĻĒā§āĻ¯āĻžāĻ•ā§‡āĻŸ (DHCP) āĻ†āĻ¸āĻž āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§‡ āĻĻā§‡āĻ¯āĻŧāĨ¤
āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ•āĻ°āĻž āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ āĻ•āĻ°ā§‡:

ifdown br0; sleep 30; ifup br0

āĻĄā§āĻ°āĻžāĻ‡āĻ­āĻžāĻ°āĻŸāĻŋ āĻ¨āĻ¤ā§āĻ¨, āĻāĻŸāĻŋ āĻāĻ–āĻ¨āĻ“ āĻ•āĻžāĻ°ā§āĻ¨ā§‡āĻ˛ā§‡ āĻ—ā§ƒāĻšā§€āĻ¤ āĻšāĻ¯āĻŧāĻ¨āĻŋ, āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻāĻŸāĻŋ āĻšāĻžāĻ‡āĻ¨āĻŋāĻœ āĻ˛ā§āĻ¯āĻžāĻ¨ā§āĻĄā§‡āĻ¨ āĻšāĻžāĻ“ āĻāĻŸāĻž āĻļā§‡āĻˇ āĻ•āĻ°ā§‡.

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨