เชฌเชงเชพเชจเซ เชจเชฎเชธเซเชเชพเชฐ, เชนเซเชฌเซเชฐเซ เชชเชฐ เช เชฎเชพเชฐเซ เชชเชนเซเชฒเซ เช เชจเซเชญเชต เชเซ. เชนเซเช เชฌเชฟเชจ-เชฎเชพเชจเช เชฐเซเชคเซ เชฌเชพเชนเซเชฏ เชจเซเชเชตเชฐเซเช เชชเชฐ เชจเซเชเชตเชฐเซเช เชธเชพเชงเชจเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซเช เชคเซ เชตเชฟเชถเซ เชฒเชเชตเชพ เชฎเชพเชเชเซ เชเซเช. เชฌเชฟเชจ-เชฎเชพเชจเชเชจเซ เช เชฐเซเชฅ เชถเซเช เชเซ: เชฎเซเชเชพเชญเชพเชเชจเชพ เชเชฟเชธเซเชธเชพเชเชฎเชพเช, เชฌเชพเชนเซเชฏ เชจเซเชเชตเชฐเซเช เชชเชฐ เชธเชพเชงเชจเซเชจเซเช เชธเชเชเชพเชฒเชจ เชเชฐเชตเชพ เชฎเชพเชเซ เชคเชฎเชจเซ เชเชฐเซเชฐ เชเซ:
- เชธเชพเชฐเซเชตเชเชจเชฟเช IP เชธเชฐเชจเชพเชฎเซเช. เชธเชพเชฐเซเช, เช เชฅเชตเชพ เชเซ เชธเชพเชงเชจเชธเชพเชฎเชเซเชฐเซ เชเซเชเชจเซ NAT เชจเซ เชชเชพเชเชณ เชเซ, เชคเซ เชชเชเซ เชเช เชธเชพเชฐเซเชตเชเชจเชฟเช IP เช เชจเซ "เชซเซเชฐเชตเชฐเซเชก เชเชฐเซเชฒ" เชชเซเชฐเซเช.
- เชเซเชจเซเชฆเซเชฐเซเชฏ เชจเซเชก เชธเซเชงเซ เชเชจเชฒ (PPTP/OpenVPN/L2TP+IPSec, เชตเชเซเชฐเซ.) เชเซเชจเชพ เชฆเซเชตเชพเชฐเชพ เชคเซ เชธเซเชฒเชญ เชนเชถเซ.
เชคเซเชฅเซ, เชเซเชฏเชพเชฐเซ เชชเซเชฐเชฎเชพเชฃเชญเซเชค เชชเชฆเซเชงเชคเชฟเช เชคเชฎเชจเซ เช
เชจเซเชเซเชณ เชจ เชนเซเชฏ เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ "เชฎเชพเชฐเซ เชฌเชพเชเช" เชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ:
- เชธเชพเชงเชจเซ NAT เชจเซ เชชเชพเชเชณ เชธเซเชฅเชฟเชค เชเซ เช เชจเซ เชธเชพเชฎเชพเชจเซเชฏ HTTP (เชชเซเชฐเซเช 80) เชธเชฟเชตเชพเชฏ, เชฌเชงเซเช เชฌเชเชง เชเซ. เชฎเซเชเชพ เชซเซเชกเชฐเชฒ เชเซเชฐเซเชชเซเชฐเซเช เชจเซเชเชตเชฐเซเช เชฎเชพเชเซ เช เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชธเชพเชฎเชพเชจเซเชฏ เชธเซเชฅเชฟเชคเชฟ เชเซ. เชคเซเช เชชเซเชฐเซเชเชจเซ เชจเซเชเชงเชฃเซ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเชฐเชค เช เชจเชนเซเช, เชเชกเชชเชฅเซ เชจเชนเซเช, เช เชจเซ เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชจเชนเซเช.
- เช เชธเซเชฅเชฟเชฐ เช เชจเซ/เช เชฅเชตเชพ "เชธเชเชเซเชเชฟเชค" เชธเชเชเชพเชฐ เชเซเชจเชฒ. เชเชเซ เชเชกเชช, เชธเชคเชค เชจเซเชเชธเชพเชจ. เชเชจเชฒ เชเซเช เชตเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเชคเซ เชตเชเชคเซ เชชเซเชกเชพ เช เชจเซ เชนเชคเชพเชถเชพ.
- เชเช เชเชฐเซเชเชพเชณ เชธเชเชเชพเชฐ เชเซเชจเชฒ, เชเซเชฏเชพเช เชถเชพเชฌเซเชฆเชฟเช เชฐเซเชคเซ เชฆเชฐเซเช เชฎเซเชเชพเชฌเชพเชเชเชจเซ เชเชฃเชคเชฐเซ เชฅเชพเชฏ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเซเชเซเชฒเชพเชเช เชธเชเชเชพเชฐ. เชเชชเชฐเชพเชเชค เชฒเชพเชเชฌเชพ เชตเชฟเชฒเชเชฌ เช เชจเซ "เชธเชพเชเชเชกเซ" เชฌเซเชจเซเชก.
- เชเชตเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชฎเซเชเซ เชธเชเชเซเชฏเชพเชฎเชพเช เชจเชพเชจเชพ เชฐเชพเชเชเชฐเซเชธเชจเซ "เชเชเชฒ" เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชเซเชจเชพ เชชเชฐ, เชเช เชคเชฐเชซ, เชเซเชทเชฎเชคเชพเชเชจเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเชตเชพ เชฎเชพเชเซ OpenWrt/Lede เชเชจเซเชธเซเชเซเชฒ เชเชฐเซเชฒเซเช เชเซ, เช เชจเซ เชฌเซเชเซ เชฌเชพเชเซ, เชฐเชพเชเชเชฐเชจเชพ เชธเชเชธเชพเชงเชจเซ (เชฎเซเชฎเชฐเซ) เชชเซเชฐเชคเชพ เชจเชฅเซ. เชฌเชงเซ เชตเชธเซเชคเซ เชฎเชพเชเซ.
เชจเชเชฌเชฐ เชตเชเชค เชจเซเชเชงเซ เชฐเชพเชเชเชฐเชจเชพ USB เชชเซเชฐเซเชเชฎเชพเช เชซเซเชฒเซเชถ เชกเซเชฐเชพเชเชต เชเชจเซเชธเซเชเซเชฒ เชเชฐเชตเชพเชฅเซ เช เชจเซ เชฐเชพเชเชเชฐเชจเซ เชฎเซเชฎเชฐเซเชจเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเชตเชพเชฅเซ เชคเชฎเชจเซ เชถเซเช เช เชเชเชพเชตเซ เชเซ?
เชฎเซเชเซเชญเชพเชเซ, เชเชฐเซเชฐเชฟเชฏเชพเชคเซ เชธเชฎเชเซเชฐ เชเชเซเชฒเชจเซ เชเชฟเชเชฎเชค เชฎเชพเชเซ เชนเซเชฏ เชเซ, เชชเชฐเชเชคเซ เชเซเชเชฒเซเชเชตเชพเชฐ เชซเซเชฐเซเชฎ เชซเซเชเซเชเชฐ เชชเชฃ เชฎเซเชเซเชฏ เชญเซเชฎเชฟเชเชพ เชญเชเชตเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชธเชพเชเช เชชเชฐ เชเช TP-Link ML3020 เชเซ, เชคเซเชจเชพ เชเชเชฎเชพเชคเซเชฐ USB เชชเซเชฐเซเชเชจเซ เชเชชเชฏเซเช 2G/3G เชฎเซเชกเซเชฎ เชฎเชพเชเซ เชฅเชพเชฏ เชเซ, เช เชฌเชงเซเช เช เชฎเซเช เชชเซเชฐเชเชพเชฐเชจเชพ เชจเชพเชจเชพ เชชเซเชฒเชพเชธเซเชเชฟเช เชเซเชธเชฎเชพเช เชฒเชชเซเชเซเชจเซ เชเซเชฏเชพเชเช เชเชเชเชพ, เชเชเชเชพ (เชฎเชพเชธเซเช เชชเชฐ) เชฎเซเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฆเซเชฐ, เชเซเชฌ เชฆเซเชฐ (เชเซเชทเซเชคเซเชฐเชฎเชพเช, เชจเชเซเชเชจเชพ เชฎเซเชฌเชพเชเชฒ เชเชชเชฐเซเชเชฐ เชฌเซเช เชธเซเชเซเชถเชจเชฅเซ 30 เชเชฟเชฎเซ เชฆเซเชฐ). เชนเชพ, เชคเชฎเซ USB เชนเชฌเชฎเชพเช เชชเซเชฒเช เชเชจ เชเชฐเซ เชถเชเซ เชเซ เช เชจเซ เชชเซเชฐเซเชเชจเซ เชธเชเชเซเชฏเชพเชจเซ เชตเชฟเชธเซเชคเซเชค เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เช เชจเซเชญเชต เชฆเชฐเซเชถเชพเชตเซ เชเซ เชเซ เช เชฌเซเชเชพเชฐเซเชช เช เชจเซ เช เชตเชฟเชถเซเชตเชธเชจเซเชฏ เชเซ.
เชคเซเชฅเซ, เชฎเซเช เชคเชฎเชจเซ เชฎเชพเชฐเซ เชฒเชพเชเซเชทเชฃเชฟเช เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเชจเซเช เชตเชฐเซเชฃเชจ เชเชฐเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซเชฏเซ: โเชเซเชฏเชพเชเช เชฆเซเชฐ, เชฆเซเชฐ, เชเช เชเซเชฌ เช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ, เชเชเชฒเซเช เช เชจเซ เชจเชพเชจเซเช เชฐเชพเชเชเชฐ Linux เชเชฒเชพเชตเซ เชเซ. เชฆเชฟเชตเชธเชฎเชพเช เชเชเชพเชฎเชพเช เชเชเซเช เชเชเชตเชพเชฐ เชคเซ เชเชพเชฃเชตเซเช เชฎเชนเชคเซเชตเชชเซเชฐเซเชฃ เชเซ เชเซ เชคเซ "เชเซเชตเชเชค" เชเซ เช เชจเซ, เชเซ เชเชฐเซเชฐเซ เชนเซเชฏ เชคเซ, เชคเซเชจเซ เชเชฆเซเชถเซ เชฎเซเชเชฒเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, "เชฎเชง, เชฐเซเชฌเซเช!"
เชเชพเชฒเซ เช เชฎเชฒเซเชเชฐเชฃ เชคเชฐเชซ เชเชเชณ เชตเชงเซเช:
1) เชฐเชพเชเชเชฐเชจเซ เชฌเชพเชเซเช, เชเซเชฐเซเชจ เชฆเซเชตเชพเชฐเชพ, เชฆเชฐ 5/10/1440 เชฎเชฟเชจเชฟเชเซ, เช เชฅเชตเชพ เชเซเชฏเชพเชฐเซ เชชเชฃ เชคเชฎเซ เชเชเซเชเซ, เชคเชฎเชพเชฐเซ wget เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเชฐเซเชตเชฐเชจเซ HTTP เชตเชฟเชจเชเชคเซ เชฎเซเชเชฒเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชตเชฟเชจเชเชคเซเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเชจเซ เชซเชพเชเชฒเชฎเชพเช เชธเชพเชเชตเซ, เชซเชพเชเชฒเชจเซ เชเชเซเชเชฟเชเซเชฏเซเชเซเชฌเชฒ เชฌเชจเชพเชตเซ. , เช เชจเซ เชคเซเชจเซ เชเชฒเชพเชตเซ.
เชฎเชพเชฐเซ เชเซเชฐเซเชจ เชฒเชพเชเชจ เชเชเชเช เชเชจเชพ เชเซเชตเซ เชฒเชพเชเซ เชเซ:
เชซเชพเชเชฒ /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 โเชตเชพเชฆเชณเซโ เชจเซ เชนเชฟเชธเซเชธเซ. เชเซ เชคเชฎเซ เชธเชพเชเชเซเชคเชฟเช เชกเซเชฎเซเชจเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ, เชเซ เชเชตเซ เชเชเชจเชพ เชฌเชจเซ, เชคเซ เชคเชฎเซ เชธเชฐเชณเชคเชพเชฅเซ เชฌเซเชเช
เชช เชเซเชฒเชพเชเชก เชเชญเชพ เชเชฐเซ เชถเชเซ เชเซ, เชกเซเชฎเซเชจเชจเซ เชคเซเชจเชพ เชชเชฐ เชฐเซเชกเชพเชฏเชฐเซเชเซเช เชเชฐเซ เชถเชเซ เชเซ เช
เชจเซ เชเชชเชเชฐเชฃ เชฎเซเชจเชฟเชเชฐเชฟเชเช เชชเซเชจเชเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซ เชถเชเซ เชเซ.
a.php เช เชธเชฐเซเชตเชฐ-เชธเชพเชเชก เชธเซเชเซเชฐเชฟเชชเซเชเชจเซเช เชจเชพเชฎ เชเซ. เชนเชพ, เชนเซเช เชเชพเชฃเซเช เชเซเช เชเซ เชเช เช เช
เชเซเชทเชฐเชฅเซ เชตเซเชฐเชฟเชฏเซเชฌเชฒเซเชธ เช
เชจเซ เชซเชพเชเชฒเชจเชพ เชจเชพเชฎเซเชจเซ เชจเชพเชฎ เชเชชเชตเซเช เชเซเชเซเช เชเซ... เชนเซเช เชธเซเชเชจ เชเชฐเซเช เชเซเช เชเซ เช เชฐเซเชคเซ เชตเชฟเชจเชเชคเซ เชฎเซเชเชฒเชคเซ เชตเชเชคเซ เชเชชเชฃเซ เชฅเซเชกเชพ เชฌเชพเชเชเซเชธ เชธเชพเชเชตเซเช :)
u - เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชจเชพเชฎ, เชนเชพเชฐเซเชกเชตเซเชฐ เชฒเซเชเชฟเชจ
p - เชชเชพเชธเชตเชฐเซเชก
"-O /tmp/wa.sh" เช เชฐเชฟเชฎเซเช เชฐเชพเชเชเชฐ เชชเชฐเชจเซ เชเช เชซเชพเชเชฒ เชเซ เชเซเชฏเชพเช เชธเชฐเซเชตเชฐ เชชเซเชฐเชคเชฟเชธเชพเชฆ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชฐเซเชฌเซเช เชเชฆเซเชถ, เชธเชพเชเชตเชตเชพเชฎเชพเช เชเชตเชถเซ.
เชจเซเชเชง เชจเชเชฌเชฐ เชฌเซ: เชเชน, เชถเชพ เชฎเชพเชเซ เช เชฎเซ wget เชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช เช เชจเซ curl เชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช, เชเชพเชฐเชฃ เชเซ curl เชฆเซเชตเชพเชฐเชพ เชคเชฎเซ https เชตเชฟเชจเชเชคเซเช GET เชธเชพเชฅเซ เชจเชนเซเช, เชชเชฃ POST เชธเชพเชฅเซ เชฎเซเชเชฒเซ เชถเชเซ เชเซ? เชเชน เชเชพเชฐเชฃ เชเซ, เชเซเชจเซ เชฎเชเชพเชเชจเซ เชเซเชฎ "NE เชฌเชฐเชฃเซเชฎเชพเช เชเชขเซ เชเชพเชฏ เชเซ!" curl เชฎเชพเช เชเชถเชฐเซ 2MB เชเชฆเชจเซ เชเชจเซเชเซเชฐเชฟเชชเซเชถเชจ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ เช เชจเซ เชคเซเชจเชพ เชเชพเชฐเชฃเซ เชคเซ เช เชธเชเชญเชตเชฟเชค เชเซ เชเซ เชคเชฎเซ เชจเชพเชจเชพ TP-LINK ML3020 เชฎเชพเชเซ เชเชฌเซ เชเชธเซเชฎเซเชฌเชฒ เชเชฐเซ เชถเชเชถเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ. เช เชจเซ wget เชธเชพเชฅเซ - เชเซเชชเชพ เชเชฐเซเชจเซ.
2) เชธเชฐเซเชตเชฐ เชฌเชพเชเซ เชชเชฐ (เชฎเชพเชฐเซ เชชเชพเชธเซ เชเชฌเซเชจเซเชเซ เชเซ) เชเชชเชฃเซ Zabbix เชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. เชถเชพ เชฎเชพเชเซ: เชนเซเช เชเชเซเชเซเช เชเซเช เชเซ เชคเซ เชธเซเชเชฆเชฐ (เชเซเชฐเชพเชซ เชธเชพเชฅเซ) เช เชจเซ เช เชจเซเชเซเชณ เชนเซเชฏ (เชธเชเชฆเชฐเซเชญ เชฎเซเชจเซ เชฆเซเชตเชพเชฐเชพ เชเชฆเซเชถเซ เชฎเซเชเชฒเซ). Zabbix เชชเชพเชธเซ zabbix เชเชเชจเซเช เชเซเชตเซ เช เชฆเซเชญเซเชค เชตเชธเซเชคเซ เชเซ. เชเชเชจเซเช เชฆเซเชตเชพเชฐเชพ, เช เชฎเซ เชธเชฐเซเชตเชฐ เชชเชฐ PHP เชธเซเชเซเชฐเชฟเชชเซเช เชเซเชฒ เชเชฐเซเชถเซเช, เชเซ เชเชฐเซเชฐเซ เชธเชฎเชฏเชเชพเชณเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เช เชฎเชพเชฐเซเช เชฐเชพเชเชเชฐ เชจเซเชเชงเชพเชฏเซเชฒ เชเซ เชเซ เชเซเชฎ เชคเซ เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชเชชเชถเซ. เชจเซเชเชงเชฃเซ เชธเชฎเชฏ, เชเชชเชเชฐเชฃเซ เชฎเชพเชเซเชจเชพ เชเชฆเซเชถเซ เชตเชฟเชถเซเชจเซ เชฎเชพเชนเชฟเชคเซ เชธเชเชเซเชฐเชนเชฟเชค เชเชฐเชตเชพ เชฎเชพเชเซ, เชนเซเช 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 เชฐเชฟเชชเซเชเซเชเชฐเซเชฎเชพเชเชฅเซ เชฌเชงเชพ เชธเซเชคเซเชฐเซเชคเซ เช
เชนเซเชเชฅเซ เชกเชพเชเชจเชฒเซเชก เชเชฐเซ เชถเชเชพเชฏ เชเซ:
เชนเชตเซ เชธเชฐเซเชตเชฐ เชฌเชพเชเซ เชชเชฐ 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 เชซเชพเชเชฒ (เช เชเชฌเซเชฌเซเชเซเชธ เชเชเชจเซเชเชจเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเชนเซเชตเชพเชฏ เชเซ):
<?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 เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ เชชเชพเชธเชตเชฐเซเชก" - เชเชชเชเชฐเชฃ เชจเซเชเชงเชฃเซ เชกเซเชเชพ เชธเซเชเชตเชคเซ เชธเซเชเซเชฐเชฟเชชเซเช เชเชนเซเชตเชพเชฏ เชเซ.
เชเชพเชฐเซเช เชเชฎเซเชฐเซ เชฐเชนเซเชฏเชพ เชเซ: zabbix เชตเซเชฌ เชเชจเซเชเชฐเชซเซเชธ เชเซเชฒเซ, เชฎเซเชจเซเชฎเชพเชเชฅเซ เชชเชธเชเชฆ เชเชฐเซ:
เชธเซเชเชฟเชเชเซเชธ -> เชจเซเชเชตเชฐเซเช เชจเซเชกเซเชธ -> เชจเซเชเชตเชฐเซเช เชจเซเชก เชฌเชจเชพเชตเซ. เช
เชนเซเช เชจเซเชเชตเชฐเซเช เชนเซเชธเซเช, เชคเซเชจเชพ เชเซเชฅ เช
เชจเซ เชกเชฟเชซเซเชฒเซเช เชเชเชจเซเช เชเชจเซเชเชฐเชซเซเชธเชจเซเช เชจเชพเชฎ เชธเซเชชเชทเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ:
เชนเชตเซ เชเชชเชฃเซ เช เชจเซเชเชตเชฐเซเช เชจเซเชก เชฎเชพเชเซ เชกเซเชเชพ เชเชฒเชฟเชฎเซเชจเซเช เชเชฎเซเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชฌเซ เชเซเชทเซเชคเซเชฐเซ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซ: "เชเซ" - เช เชฌเชฐเชพเชฌเชฐ เชชเซเชฐเชพเชฎเซเชเชฐ เชเซ เชเซ เชเชชเชฃเซ /etc/zabbix/zabbix_agentd.conf เชซเชพเชเชฒเชฎเชพเช เชฒเชเซเชฏเซเช เชเซ (เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชคเซ เชชเชฐเซเชเซเชทเชฃ เชเซ), เช
เชจเซ "เช
เชชเชกเซเช เช
เชเชคเชฐเชพเชฒ" - เชฎเซเช เชคเซเชจเซ 5 เชฎเชฟเชจเชฟเช เชชเชฐ เชธเซเช เชเชฐเซเชฏเซเช เชเซ. , เชเชพเชฐเชฃ เชเซ เช
เชจเซ เชธเชพเชงเชจเชธเชพเชฎเชเซเชฐเซ เชชเชฃ เชฆเชฐ เชชเชพเชเช เชฎเชฟเชจเชฟเชเซ เชเชเชตเชพเชฐ เชธเชฐเซเชตเชฐ เชชเชฐ เชจเซเชเชงเชพเชฏเซเชฒ เชเซ.
เชธเชพเชฐเซเช, เชเชพเชฒเซ เชเช เชเซเชฐเชพเชซ เชเชฎเซเชฐเซเช. เชนเซเช เชฐเซเชจเซเชกเชฐเชฟเชเช เชถเซเชฒเซ เชคเชฐเซเชเซ "เชญเชฐเซ" เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซ เชญเชฒเชพเชฎเชฃ เชเชฐเซเช เชเซเช.
เชเชเชเชชเซเช เชเชเชเช เชเซเชฌ เช เชฒเซเชเซเชจเชฟเช เชเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ เชเชจเชพ เชเซเชตเซเช:
เชตเชพเชเชฌเซ เชชเซเชฐเชถเซเชจ เชฎเชพเชเซ: "เชถเซเช เชคเซ เชฎเซเชฒเซเชฏเชตเชพเชจ เชนเชคเซเช?", เชนเซเช เชเชตเชพเชฌ เชเชชเซเชถ: เชธเชพเชฐเซเช, เช
เชฒเชฌเชคเซเชค, เชฒเซเชเชจเซ เชถเชฐเซเชเชคเชฎเชพเช "เชธเชพเชฏเชเชฒ เชฌเชจเชพเชตเชตเชพเชจเชพ เชเชพเชฐเชฃเซ" เชเซเช.
เชเซ เชฎเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชเซเชฐเชพเชซเซเชฎเซเชจเชฟเชฏเชพเช เช
เชจเซเชญเชต เชตเชพเชเชเซเชจเซ เชฐเซเชเชฟ เชเชเชพเชกเซ เชเซ, เชคเซ เชชเชเซ เชจเซเชเซเชจเชพ เชฒเซเชเซเชฎเชพเช เชนเซเช เชฆเซเชฐเชธเซเชฅ เชธเชพเชงเชจเซเชจเซ เชเชฆเซเชถเซ เชเซเชตเซ เชฐเซเชคเซ เชฎเซเชเชฒเชตเชพ เชคเซ เชตเชฐเซเชฃเชตเชตเชพ เชฎเชพเชเชเซ เชเซเช. เช
เชฎเซ เชฐเชพเชเชเชฐเชเชเชธ (เชฎเชฟเชเซเชฐเซเชเชฟเช) เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเชชเชเชฐเชฃเซ เชฎเชพเชเซเชจเซ เชธเชฎเชเซเชฐ เชฏเซเชเชจเชพเชจเซ เช
เชฎเชฒเชฎเชพเช เชฎเซเชเชตเชพเชจเซเช เชชเชฃ เชตเซเชฏเชตเชธเซเชฅเชพเชชเชฟเชค เชเชฐเซเชฏเซเช.
เชธเซเชฐเซเชธ: www.habr.com