เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡ Lunix/OpenWrt/Lede เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบžเบญเบ” 80โ€ฆ

เบชเบฐเบšเบฒเบเบ”เบตเบ—เบธเบเบ„เบปเบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบ›เบฐเบชเบปเบšเบเบฒเบ™เบ—เบณเบญเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเปƒเบ™เบฎเบฒเป€เบšเบฃ. เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบ‚เบฝเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบเปƒเบ™เบ—เบฒเบ‡เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™. เบšเปเปˆเป„เบ”เป‰เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเปเบ™เบงเปƒเบ”: เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เป€เบžเบทเปˆเบญเบˆเบฑเบ”เบเบฒเบ™เบญเบธเบ›เบฐเบเบญเบ™เปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบžเบฒเบเบ™เบญเบเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™:

  • เบ—เบตเปˆเบขเบนเปˆ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบ”เบต, เบซเบผเบทเบ–เป‰เบฒเบญเบธเบ›เบฐเบเบญเบ™เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบซเบผเบฑเบ‡ NAT เบ‚เบญเบ‡เปƒเบœเบœเบนเป‰เบซเบ™เบถเปˆเบ‡, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ IP เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปเบฅเบฐเบžเบญเบ” "เบชเบปเปˆเบ‡เบ•เปเปˆ".
  • เบญเบธเป‚เบกเบ‡ (PPTP/OpenVPN/L2TP+IPSec, เปเบฅเบฐเบญเบทเปˆเบ™เป†) เป„เบ›เบซเบฒเป‚เบ™เบ”เบเบฒเบ‡เบ—เบตเปˆเบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป„เบ”เป‰.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบˆเบปเป‰เบฒเบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™ "เบฅเบปเบ”เบ–เบตเบšเบ‚เบญเบ‡เบ‚เป‰เบญเบ" เป€เบกเบทเปˆเบญเบงเบดเบ—เบตเบเบฒเบ™เบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบšเป€เบˆเบปเป‰เบฒ, เบ•เบปเบงเบขเปˆเบฒเบ‡:

  1. เบญเบธเบ›เบฐเบเบญเบ™เปเบกเปˆเบ™เบ•เบฑเป‰เบ‡เบขเบนเปˆเบซเบฅเบฑเบ‡ NAT เปเบฅเบฐ, เบเบปเบเป€เบงเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš http เบ›เบปเบเบเบฐเบ•เบด (เบžเบญเบ” 80), เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ›เบดเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบดเบขเปˆเบฒเบ‡เบชเบปเบกเบšเบนเบ™เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบ‚เบญเบ‡เบฅเบฑเบ”เบ–เบฐเบšเบฒเบ™เบเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆ. เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบžเบญเบ”, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ—เบฑเบ™เบ—เบต, เบšเปเปˆเป„เบง, เปเบฅเบฐเบšเปเปˆเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.
  2. เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฐเบ–เบฝเบ™ เปเบฅเบฐ/เบซเบผเบท โ€œเปเบ„เบšโ€. เบ„เบงเบฒเบกเป„เบงเบ•เปˆเปเบฒ, เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ„เบปเบ‡เบ—เบตเปˆ. เบ„เบงเบฒเบกเป€เบˆเบฑเบšเบ›เบงเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบญเบธเบเบญเบฑเปˆเบ‡เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบญเบธเป‚เบกเบ‡.
  3. เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบกเบตเบฅเบฒเบ„เบฒเปเบžเบ‡, เบšเปˆเบญเบ™เบ—เบตเปˆเบ—เบธเบเป† megabyte เบ™เบฑเบšเบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ”เบฒเบงเบ—เบฝเบก. เบšเบงเบเบเบฑเบšเบ„เบงเบฒเบกเบฅเปˆเบฒเบŠเป‰เบฒเบเบฒเบงเปเบฅเบฐเปเบ–เบš "เปเบ„เบš".
  4. เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™ "juggle" เบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡ routers เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เปƒเบ™เบญเบตเบเบ”เป‰เบฒเบ™เบซเบ™เบถเปˆเบ‡, OpenWrt / Lede เป„เบ”เป‰เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป€เบžเบทเปˆเบญเบ‚เบฐเบซเบเบฒเบเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”, เปเบฅเบฐเปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ (เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ) เบ‚เบญเบ‡ router เปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เบžเป. เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ—เบธเบโ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบธเบโ€‹เบขเปˆเบฒเบ‡.

เบซเบกเบฒเบเป€เบซเบ”เบˆเปเบฒเบ™เบงเบ™เป€เบงเบฅเบฒ เปเบกเปˆเบ™เบซเบเบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบ—เปˆเบฒเบ™เบˆเบฒเบเบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡ flash drive เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบžเบญเบ” USB เบ‚เบญเบ‡ router เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡ router?

เบชเปˆเบงเบ™เบซเบผเบฒเบเบกเบฑเบ, เบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เปเบเป‰เป„เบ‚เบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เบ›เบฑเบ”เป„เบˆเปเบšเบšเบŸเบญเบกเบเปเปˆเบกเบตเบšเบปเบ”เบšเบฒเบ”เบชเปเบฒเบ„เบฑเบ™. เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เบกเบต TP-Link ML3020 เบขเบนเปˆเปƒเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เบžเบญเบ” USB เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบ‚เบญเบ‡เบกเบฑเบ™เบ–เบทเบเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเป‚เบกเป€เบ”เบฑเบก 2G / 3G, เบ—เบฑเบ‡เบซเบกเบปเบ”เบ™เบตเป‰เบ–เบทเบเบซเปเปˆเบขเบนเปˆเปƒเบ™เบ–เบปเบ‡เบขเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบšเบฒเบ‡เบŠเบฐเบ™เบดเบ”เปเบฅเบฐเบงเบฒเบ‡เป„เบงเป‰เบšเปˆเบญเบ™เบชเบนเบ‡, เบชเบนเบ‡ (เบขเบนเปˆเป€เบ—เบดเบ‡เบซเบ™เป‰เบฒเบ”เบดเบ™), เป„เบ, เบซเปˆเบฒเบ‡เป„เบ (เปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบก, 30 เบเบดเป‚เบฅเปเบกเบฑเบ”เบˆเบฒเบเบชเบฐเบ–เบฒเบ™เบตเบ–เบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบ—เบฅเบฐเบชเบฑเบšเบกเบทเบ–เบทเบ—เบตเปˆเปƒเบเป‰เบ—เบตเปˆเบชเบธเบ”). เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบฝเบš USB Hub เปเบฅเบฐเบ‚เบฐเบซเบเบฒเบเบˆเปเบฒเบ™เบงเบ™เบžเบญเบ”เป„เบ”เป‰, เปเบ•เปˆเบ›เบฐเบชเบปเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบซเบเบธเป‰เบ‡เบเบฒเบเปเบฅเบฐเบšเปเปˆเบซเบ™เป‰เบฒเป€เบŠเบทเปˆเบญเบ–เบท.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบžเบฐเบเบฒเบเบฒเบกเบญเบฐเบ—เบดเบšเบฒเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบซเบฑเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ›เบปเบเบเบฐเบ•เบดเบ‚เบญเบ‡เบ‚เป‰เบญเบ: "เบšเปˆเบญเบ™เปƒเบ”เบšเปˆเบญเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเป„เบ, เบซเปˆเบฒเบ‡เป„เบ, เบกเบต router เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™, เป‚เบ”เบ”เบ”เปˆเบฝเบงเปเบฅเบฐเบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบ—เบตเปˆเปƒเบŠเป‰ Linux. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบฎเบนเป‰เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ•เปเปˆเบกเบทเป‰เบงเปˆเบฒเบฅเบฒเบง "เบกเบตเบŠเบตเบงเบดเบ”เบขเบนเปˆ" เปเบฅเบฐ, เบ–เป‰เบฒเบˆเปเบฒเป€เบ›เบฑเบ™, เบ„เปเบฒเบชเบฑเปˆเบ‡เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบฅเบฒเบง, เบ•เบปเบงเบขเปˆเบฒเบ‡, "เบฎเบฑเบ, reboot!"

เปƒเบซเป‰เบเป‰เบฒเบงเป„เบ›เบชเบนเปˆเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”:

1) เปƒเบ™เบ”เป‰เบฒเบ™ router, เบœเปˆเบฒเบ™ cron, เบ—เบธเบเป† 5/10/1440 เบ™เบฒเบ—เบต, เบซเบผเบทเบ—เบธเบเบ„เบฑเป‰เบ‡เบ—เบตเปˆเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป http เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป‚เบ”เบเปƒเบŠเป‰ wget, เบšเบฑเบ™เบ—เบถเบเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบฅเบปเบ‡เปƒเบ™เป„เบŸเบฅเปŒ, เป€เบฎเบฑเบ”เปƒเบซเป‰เป„เบŸเบฅเปŒเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰. , เปเบฅเบฐโ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบกเบฑเบ™โ€‹.

เป€เบชเบฑเป‰เบ™ cron เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบšเบดเปˆเบ‡เบ„เบทเปเบ™เบงเบ™เบตเป‰:

เป„เบŸเบฅเปŒ /etc/crontabs/root:

  */5 * * * * wget "http://xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai/a.php?u=user&p=password" -O /tmp/wa.sh && chmod 777 /tmp/wa.sh && /tmp/wa.sh

, เบšเปˆเบญเบ™เบ—เบตเปˆ:
xn--80abgfbdwanb2akugdrd3a2e5gsbj.xn--p1ai เปเบกเปˆเบ™เป‚เบ”เป€เบกเบ™เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปƒเบซเป‰เบ‚เป‰เบญเบเบชเบฑเบ‡เป€เบเบ”เบ—เบฑเบ™เบ—เบต: เปเบกเปˆเบ™เปเบฅเป‰เบง, เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเบ—เบตเปˆเบขเบนเปˆ IP เบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเป€เบ„เบตเบเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰เบˆเบปเบ™เบเปˆเบงเบฒเบฅเบฑเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ, เปƒเบ™เปเบฎเบ‡เบเบฐเบ•เบธเป‰เบ™เบญเบฑเบ™เบŠเบญเบšเบ—เปเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ•เปเปˆเบชเบนเป‰, เบ‚เป‰เบญเบเบˆเบฐเป€เบงเบปเป‰เบฒเบงเปˆเบฒ, เบ‚เป‰เบญเบเบšเปเปˆเบฎเบนเป‰, เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เบญเบ‡เบŠเป‰เบฒเบ‡ เบชเปˆเบงเบ™เปเบšเปˆเบ‡เบ‚เบญเบ‡ DigitalOcean เปเบฅเบฐ Amazon โ€œcloudsโ€. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰เป‚เบ”เป€เบกเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบชเบฑเบ™เบเบฒเบฅเบฑเบ, เบ–เป‰เบฒเป€เบซเบ”เบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบเบตเบ”เบ‚เบทเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเบปเบเบชเบนเบ‡เบเบฒเบ™เบŸเบฑเบ‡เบชเปเบฒเบฎเบญเบ‡เป„เบ”เป‰เบขเปˆเบฒเบ‡เบ‡เปˆเบฒเบเบ”เบฒเบ, เบ›เปˆเบฝเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป‚เบ”เป€เบกเบ™เป„เบ›เบซเบฒเบกเบฑเบ™เปเบฅเบฐเบŸเบทเป‰เบ™เบŸเบนเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบญเบธเบ›เบฐเบเบญเบ™.

a.php เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบชเบฐเบ„เบฃเบดเบšเบ‚เป‰เบฒเบ‡เป€เบŠเบตเบšเป€เบงเบต. เปเบกเปˆเบ™เปเบฅเป‰เบง, เบ‚เป‰เบญเบเบฎเบนเป‰เบงเปˆเบฒเบกเบฑเบ™เบœเบดเบ”เบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เบŠเบทเปˆเบ•เบปเบงเปเบ›เปเบฅเบฐเบŠเบทเปˆเป„เบŸเบฅเปŒเบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ”เบฝเบงเบเบฑเบ™ ... เบ‚เป‰เบญเบเปเบ™เบฐเบ™เปเบฒเบงเปˆเบฒเบงเบดเบ—เบตเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบซเบเบฑเบ”เบชเบญเบ‡เบชเบฒเบก bytes เป€เบกเบทเปˆเบญเบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป :)
u - เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰, เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบšเบฎเบฒเบ”เปเบง
p - เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™
โ€œ-O /tmp/wa.shโ€ เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบขเบนเปˆเปƒเบ™ router เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบเบšเปˆเบญเบ™เบ—เบตเปˆเบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เบ•เบปเบงเบขเปˆเบฒเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡ reboot, เบˆเบฐเบ–เบทเบเบšเบฑเบ™เบ—เบถเบเป„เบงเป‰.

เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹เบ—เบตเปˆโ€‹เบชเบญเบ‡โ€‹: Ahhh, เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ wget เปเบฅเบฐเบšเปเปˆ curl, เป€เบžเบฒเบฐเบงเปˆเบฒเบœเปˆเบฒเบ™ curl เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป https เบšเปเปˆเปเบกเปˆเบ™ GET, เปเบ•เปˆเบเบฑเบš POST? Ahhh เป€เบžเบฒเบฐเบงเปˆเบฒ, เบ„เบทเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ•เบฐเบซเบฅเบปเบเป€เบเบปเปˆเบฒ "NE เบ›เบตเบ™เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบซ!" curl เบ›เบฐเบเบญเบšเบกเบตเบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ›เบฐเบกเบฒเบ™ 2MB เปƒเบ™เบ‚เบฐเบซเบ™เบฒเบ”เปเบฅเบฐเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบ—เปˆเบฒเบ™เบˆเบฐเบชเบฒเบกเบฒเบ”เบ›เบฐเบเบญเบšเบฎเบนเบšเบžเบฒเบšเบชเปเบฒเบฅเบฑเบš TP-LINK ML3020 เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡. เปเบฅเบฐเบ”เป‰เบงเบ wget - เบเบฐเบฅเบธเบ™เบฒ.

2) เปƒเบ™เบ”เป‰เบฒเบ™เป€เบŠเบตเบŸเป€เบงเบต (เบ‚เป‰เบญเบเบกเบต Ubuntu) เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเปƒเบŠเป‰ Zabbix. เป€เบ›เบฑเบ™เบซเบเบฑเบ‡: เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบกเบฑเบ™เบชเบงเบเบ‡เบฒเบก (เบกเบตเบเบฒเบŸ) เปเบฅเบฐเบชเบฐเบ”เบงเบ (เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบœเปˆเบฒเบ™เป€เบกเบ™เบนเบชเบฐเบžเบฒเบšเบเบฒเบ™). Zabbix เบกเบตเบชเบดเปˆเบ‡เบกเบฐเบซเบฑเบ”เบชเบฐเบˆเบฑเบ™เป€เบŠเบฑเปˆเบ™เบ•เบปเบงเปเบ—เบ™ zabbix. เบœเปˆเบฒเบ™เบ•เบปเบงเปเบ—เบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเป‚เบ—เบซเบฒ script PHP เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบชเบปเปˆเบ‡เบ„เบทเบ™เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒ router เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰. เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเป€เบงเบฅเบฒเบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™, เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™, เบ‚เป‰เบญเบเปƒเบŠเป‰ MySQL, เบœเบนเป‰เปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ—เบตเปˆเบกเบตเบ›เบฐเบกเบฒเบ™เบ‚เบปเบ‡เป€เบ‚เบ”เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

		CREATE TABLE `users` (
		  `id` varchar(25) NOT NULL,
		  `passwd` varchar(25) NOT NULL,
		  `description` varchar(150) NOT NULL,
		  `category` varchar(30) NOT NULL,
		  `status` varchar(10) NOT NULL,
		  `last_time` varchar(20) NOT NULL, // ะฒั€ะตะผั ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั
		  `last_ip` varchar(20) NOT NULL, // IP ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั 
		  `last_port` int(11) NOT NULL, // ะฟะพั€ั‚ ะฟะพัะปะตะดะฝะตะณะพ ัะพะตะดะธะฝะตะฝะธั
		  `task` text NOT NULL, // ะทะฐะดะฐั‡ะฐ ะบะพั‚ะพั€ัƒัŽ ะฟะพะปัƒั‡ะฐะตั‚ ั€ะพัƒั‚ะตั€
		  `reg_task` varchar(150) NOT NULL, // "ั€ะตะณัƒะปัั€ะฝะฐั" ะทะฐะดะฐั‡ะฐ, ะตัะปะธ ะผั‹ ะทะฐั…ะพั‚ะธะผ ั‡ั‚ะพะฑั‹ ะทะฐะดะฐั‡ะฐ ะฒั‹ะฟะพะปะฝัะปะฐััŒ ะฒัะตะณะดะฐ ะฟั€ะธ ั€ะตะณะธัั‚ั€ะฐั†ะธะธ
		  `last_task` text NOT NULL, // ะปะพะณ ะทะฐะดะฐั‡
		  `response` text NOT NULL, // ััŽะดะฐ ะฟะธัˆะตั‚ัั ะพั‚ะฒะตั‚ ัƒัั‚ั€ะพะนัั‚ะฒะฐ
		  `seq` int(11) NOT NULL
		) ENGINE=InnoDB DEFAULT CHARSET=utf8;

เปเบซเบผเปˆเบ‡โ€‹เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ”เบฒเบงโ€‹เป‚เบซเบผเบ”โ€‹เป„เบ”เป‰โ€‹เบˆเบฒเบ Git repository เบ—เบตเปˆโ€‹: https://github.com/BazDen/iotnet.online.git
เบ•เบญเบ™เบ™เบตเป‰เบชเบฐเบ„เบฃเบดเบš PHP เบ—เบตเปˆเบงเบฒเบ‡เป„เบงเป‰เบขเบนเปˆเบ‚เป‰เบฒเบ‡เป€เบŠเบตเบšเป€เบงเบต (เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบ, เบžเบงเบเป€เบ‚เบปเบฒเบชเบฒเบกเบฒเบ”เบ–เบทเบเบงเบฒเบ‡เป„เบงเป‰เปƒเบ™เป‚เบŸเบ™เป€เบ”เบต /usr/share/zabbix/):

เป„เบŸเบฅเปŒ a.php:

<?php
// ะŸะพะปัƒั‡ะฐะตะผ ะฒั…ะพะดะฝั‹ะต ะฟะฐั€ะฐะผะตั‚ั€ั‹: ะธะผั ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั, ะฟะฐั€ะพะปัŒ ะธ ัะพะพะฑั‰ะตะฝะธะต ะพั‚ ัƒะดะฐะปะตะฝะฝะพะณะพ ั€ะพัƒั‚ะตั€ะฐ
// ะ—ะฐั‡ะตะผ ะฝัƒะถะตะฝ message ? ะญั‚ะพ ัะฟะพัะพะฑ ะพั‚ะฒะตั‚ะฐ ั€ะพัƒั‚ะตั€ะฐ, ะฝะฐะฟั€ะธะผะตั€ ะตัะปะธ ะฒั‹ ะทะฐั…ะพั‚ะธั‚ะต ะฟะพัะผะพั‚ั€ะตั‚ัŒ ัะพะดะตั€ะถะธะผะพะต ั„ะฐะนะปะฐ ั€ะพัƒั‚ะตั€ะฐ
	$user=$_REQUEST['u'];
	$password=$_REQUEST['p'];
	$message=$_REQUEST['m'];
	
	// ะŸะพะดะบะปัŽั‡ะฐะตะผัั ะบ ะฝะฐัˆะตะน ะฑะฐะทะต ะดะฐะฝะฝั‹ั… (MySQL)
	$conn=new mysqli("localhost","db_login","db_password","DB_name");
	if (mysqli_connect_errno()) {
		exit();
	}
	$conn->set_charset("utf8");
	// ะทะดะตััŒ ะธั‰ะตะผ ะฝะฐัˆ ั€ะพัƒั‚ะตั€ ะฒ ั‚ะฐะฑะปะธั†ะต ะฑะฐะทั‹ ะดะฐะฝะฝั‹ั…
	$sql_users=$conn->prepare("SELECT task, reg_task, response, last_time FROM users WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->bind_result($task, $reg_task, $response, $last_time);
	$sql_users->execute();
	$sql_users->store_result();
	if (($sql_users->num_rows)==1){
		$sql_users->fetch();
		// ะทะดะตััŒ ะผั‹ ั€ะพัƒั‚ะตั€ัƒ ะพั‚ะฟั€ะฐะฒะปัะตะผ ะตะณะพ ะทะฐะดะฐั‡ะธ
		echo $task;
		echo "n";
		echo $reg_task;
		// ะฒะพั‚ ะทะดะตััŒ ะผั‹ ะฟะธัˆะตะผ ะฒั€ะตะผั ะพั‚ะฒะตั‚ะฐ ะธ ัะฐะผ ะพั‚ะฒะตั‚ ั€ะพัƒั‚ะตั€ะฐ
		$response_history="[".date("Y-m-d H:i")."] ".$message;
		// ะทะฐะดะฐั‡ัƒ ะพั‚ะฟั€ะฐะฒะธะปะธ, ั‚ะตะฟะตั€ัŒ ะฝะฐะดะพ ะตะต ัƒะดะฐะปะธั‚ัŒ,ะฐ ะฟะพัะปะต ัƒะดะฐะปะตะฝะธั ะพั‚ะผะตั‚ะธั‚ัŒ ะฒ ะปะพะณะฐั…, ั‡ั‚ะพ ั‚ะฐะบะฐั-ั‚ะพ ะทะฐะดะฐั‡ะฐ ะฒั‹ะฟะพะปะฝะตะฝะฐ
		$last_ip=$_SERVER["REMOTE_ADDR"];
		$last_port=$_SERVER["REMOTE_PORT"];
		$ts_last_conn_time=$last_time;
		$sql_users=$conn->prepare("UPDATE users SET task='', seq=1 WHERE (id=?);");
		$sql_users->bind_param('s', $user);
		$sql_users->execute();
		if (strlen($message)>1){
			$sql_users=$conn->prepare("UPDATE users SET response=?, seq=1 WHERE (id=?);");
			$sql_users->bind_param('ss', $response_history, $user);
			$sql_users->execute();
		}
		// ั‚ะตะฟะตั€ัŒ ะฝะฐะดะพ ัะพั…ั€ะฐะฝะธั‚ัŒ ะฒั€ะตะผั ั€ะตะณะธัั‚ั€ะฐั†ะธะธ ะฟะพะปัŒะทะพะฒะฐั‚ะตะปั, ะตะณะพ ะฐะนะฟะธ ะธ ัะพะพะฑั‰ะตะฝะธะต ะพั‚ ะฝะตะณะพ. ะŸะพะบะฐ ั‚ะพะปัŒะบะพ ัะพะพะฑั‰ะตะฝะธะต
		$ts_now=time();
		$sql_users=$conn->prepare("UPDATE users SET last_time=?, last_ip=?, last_port=? WHERE (id=?);");
		$sql_users->bind_param('ssss', $ts_now, $last_ip, $last_port, $user);
		$sql_users->execute();
	}
	// ะตัะปะธ ะผั‹ ะฝะต ะฝะฐัˆะปะธ ั€ะพัƒั‚ะตั€ ะฒ ะฝะฐัˆะตะน ะฑะฐะทะต ะดะฐะฝะฝั‹ั…, ะธะปะธ ะตะณะพ ัั‚ะฐั‚ัƒั "ะฝะตะฐะบั‚ะธะฒะฝั‹ะน", ั‚ะพ ะตะผัƒ ... ะฑัƒะดะตั‚ ะพั‚ะฟั€ะฐะฒะปะตะฝะฐ ะบะพะผะฐะฝะดะฐ reboot....
	// ะŸะพั‡ะตะผัƒ ั‚ะฐะบ ะถะตัั‚ะพะบะพ ? ะŸะพั‚ะพะผัƒ ั‡ั‚ะพ ั€ะพัƒั‚ะตั€ั‹ ะธะฝะพะณะดะฐ ะฟั€ะพะฟะฐะดะฐัŽั‚, ะฐ ัั‚ะพ ะผะฐะปะตะฝัŒะบะธะน ัะฟะพัะพะฑ ะฟั€ะพัƒั‡ะธั‚ัŒ "ะฝะพะฒั‹ั… ะฒะปะฐะดะตะปัŒั†ะตะฒ". 
	else
	{
	echo "reboot";
	}
	$sql_users->close();
	?>

เป„เบŸเบฅเปŒ Agent.php (เบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ„เบฃเบดเบšเบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™ zabbix เป€เบญเบตเป‰เบ™เบงเปˆเบฒ):

<?php
	// ั„ะฐะนะป ะฐะณะตะฝั‚ะฐ Zabbix. ะ”ะฐะฝะฝั‹ะน ัะบั€ะธะฟั‚ ะพะฑั€ะฐั‰ะฐะตั‚ัั ะบ ั‚ะฐะฑะปะธั†ะต users ะธ ะฟะพะปัƒั‡ะฐะตั‚ "1" ะตัะปะธ ัƒัั‚ั€ะพะนัั‚ะฒะพ ั€ะตะณะธัั‚ั€ะธั€ะพะฒะฐะปะพััŒ ั ะผะพะผะตะฝั‚ะฐ ะฟะพัะปะตะดะฝะตะณะพ ะพะฑั€ะฐั‰ะตะฝะธั
	// user ะธ password - ัƒั‡ะตั‚ะฝั‹ะต ะดะฐะฝะฝั‹ะต ะพะฑะพั€ัƒะดะพะฒะฐะฝะธั
	$user = $argv[1];
	$password = $argv[2];
	
	// ะฟะพะดะบะปัŽั‡ะฐะตะผัั ะบ ะฝะฐัˆะตะน ะฑะฐะทะต ะดะฐะฝะฝั‹ั…
	$conn=new mysqli("localhost","db_user","db_password","db_name");
	if (mysqli_connect_errno()) {
		exit();
		}
	$conn->set_charset("utf8");
	$sql_users=$conn->prepare("SELECT seq FROM users WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->bind_result($seq);
	$sql_users->execute();
	$sql_users->store_result();
	// ะพะฑะผะตะฝ ะดะฐะฝะฝั‹ะผะธ ะฟั€ะพะธัั…ะพะดะธั‚ ั‡ะตั€ะตะท ะฟะพะปะต seq. ะŸั€ะธ ั€ะตะณะธัั‚ั€ะฐั†ะธะธ ะถะตะปะตะทะบะฐ ัั‚ะฐะฒะธั‚ ะดะฐะฝะฝะพะต ะฟะพะปะต ะฒ "1"
	if (($sql_users->num_rows)==1){
		$sql_users->fetch();
		echo $seq;
	}
		
	// ะพะฑะฝัƒะปัะตะผ $seq. 
	$sql_users=$conn->prepare("UPDATE users SET seq=0 WHERE id=? AND passwd=? AND status='active';");
	$sql_users->bind_param('ss', $user, $password);
	$sql_users->execute();
	$sql_users->close();
?>		

เบ”เบต, เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบชเบธเบ”เบ—เป‰เบฒเบ: เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบ•เบปเบงเปเบ—เบ™เปเบฅเบฐเป€เบžเบตเปˆเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบ•เบปเบงเปเบ—เบ™ zabbix, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™:

apt-get install zabbix-agent

เปเบเป‰เป„เบ‚เป„เบŸเบฅเปŒ /etc/zabbix/zabbix_agentd.conf.

เป€เบžเบตเปˆเบกเปเบ–เบง:

UserParameter=test,php /usr/share/zabbix/agent.php user password

, เบšเปˆเบญเบ™เบ—เบตเปˆ:
เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ
โ€œphp /usr/share/zabbix/agent.php เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบœเบนเป‰เปƒเบŠเป‰โ€ - script เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบญเบธเบ›เบฐเบเบญเบ™.

เป€เบžเบตเปˆเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡: เป€เบ›เบตเบ”เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเป€เบงเบฑเบš zabbix, เป€เบฅเบทเบญเบเบˆเบฒเบเป€เบกเบ™เบน:
เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ -> เป‚เบซเบ™เบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ -> เบชเป‰เบฒเบ‡เป‚เบซเบ™เบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ. เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบกเบฑเบ™เบžเบฝเบ‡เบžเปเบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธเบŠเบทเปˆเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบžเบฒเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบเบธเปˆเบกเบ‚เบญเบ‡เบกเบฑเบ™, เปเบฅเบฐเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ•เบปเบงเปเบ—เบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™:

เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡ Lunix/OpenWrt/Lede เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบžเบญเบ” 80โ€ฆ

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบžเบงเบเป€เบฎเบปเบฒเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เป€เบžเบตเปˆเบกเบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบš node เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบ™เบตเป‰. เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบชเบญเบ‡เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™: "เบเบธเบ™เปเบˆ" - เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ /etc/zabbix/zabbix_agentd.conf (เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเบกเบฑเบ™เปเบกเปˆเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš), เปเบฅเบฐ "เป„เบฅเบเบฐเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡" - เบ‚เป‰เบญเบเบ•เบฑเป‰เบ‡เบกเบฑเบ™เป€เบ›เบฑเบ™ 5 เบ™เบฒเบ—เบต. , เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเปเบฅเบฐเบญเบธเบ›เบฐเบเบญเบ™เบเบฑเบ‡เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ—เบธเบเป†เบซเป‰เบฒเบ™เบฒเบ—เบต.

เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡ Lunix/OpenWrt/Lede เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบžเบญเบ” 80โ€ฆ

เบ”เบต, เปƒเบซเป‰เป€เบฎเบปเบฒเป€เบžเบตเปˆเบกเบเบฒเบŸ. เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เป€เบฅเบทเบญเบ "เบ•เบทเปˆเบก" เป€เบ›เบฑเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™.

เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡ Lunix/OpenWrt/Lede เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบžเบญเบ” 80โ€ฆ

เบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡ laconic เบซเบผเบฒเบ, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

เบเบฒเบ™โ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบซเปˆเบฒเบ‡โ€‹เป„เบโ€‹เบชเบญเบโ€‹เบซเบผเบตเบโ€‹เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบ„เบงเบšโ€‹เบ„เบธเบกโ€‹เบ‚เบญเบ‡ Lunix/OpenWrt/Lede เบญเบธโ€‹เบ›เบฐโ€‹เบเบญเบ™โ€‹เป‚เบ”เบโ€‹เบœเปˆเบฒเบ™โ€‹เบžเบญเบ” 80โ€ฆ

เบ•เปเปˆเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบชเบปเบกเป€เบซเบ”เบชเบปเบกเบœเบปเบ™: "เบกเบฑเบ™เบ„เบธเป‰เบกเบ„เปˆเบฒเบšเป?", เบ‚เป‰เบญเบเบˆเบฐเบ•เบญเบšเบงเปˆเบฒ: เปเบ™เปˆเบ™เบญเบ™, เป€เบšเบดเปˆเบ‡ "เป€เบซเบ”เบœเบปเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบปเบ”เบ–เบตเบš" เปƒเบ™เบ•เบญเบ™เบ•เบปเป‰เบ™เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก.

เบ–เป‰เบฒเบ›เบฐเบชเบปเบšเบเบฒเบ™ graphomaniac เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบชเบปเบ™เปƒเบˆเบ‚เบญเบ‡เบœเบนเป‰เบญเปˆเบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เบชเบปเปˆเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เป„เบ›เบซเบฒเบญเบธเบ›เบฐเบเบญเบ™เบซเปˆเบฒเบ‡เป„เบเบชเบญเบเบซเบผเบตเบ. เบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เป„เบ”เป‰เบˆเบฑเบ”เบเบฒเบ™เป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ„เบ‡เบเบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบญเบธเบ›เบฐเบเบญเบ™เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆ RouterOS (Mikrotik).

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™