PHP-เดฏเดฟเตฝ IPv6-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต

เดžเด™เตเด™เตพเด•เตเด•เต เด…เดŸเตเดคเตเดคเดฟเดŸเต† LIR เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดธเตเด‚ /29 IPv6 เดฌเตเดฒเต‹เด•เตเด•เตเด‚ เดฒเดญเดฟเดšเตเดšเต. เดคเตเดŸเตผเดจเตเดจเต เดจเดฟเดฏเตเด•เตเดค เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเตเด•เดณเตเดŸเต† เดŸเตเดฐเดพเด•เตเด•เต เดธเต‚เด•เตเดทเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเดฟเดจเตเดฑเต† เด†เดตเดถเตเดฏเด•เดค เด‰เดฏเตผเดจเตเดจเต. เดžเด™เตเด™เดณเตเดŸเต† เดฌเดฟเดฒเตเดฒเดฟเด‚เด—เต PHP-เดฏเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเดพเตฝ, เดˆ เดชเตเดฐเดถเตโ€Œเดจเด‚ เด…เตฝเดชเตเดชเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเตเด‚ IPv6-เดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ เดˆ เดญเดพเดท เดเดฑเตเดฑเดตเตเด‚ เดธเต—เดนเตƒเดฆเดชเดฐเดฎเดฒเตเดฒเต†เดจเตเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฎเดพเดฃเต. เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเด‚ เดถเตเดฐเต‡เดฃเดฟเด•เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด‰เดฃเตเดŸเดพเด•เตเดจเตเดจ เดชเตเดฐเดถเตเดจเด™เตเด™เตพเด•เตเด•เตเดณเตเดณ เดžเด™เตเด™เดณเตเดŸเต† เดชเดฐเดฟเดนเดพเดฐเดฎเดพเดฃเต เด•เดŸเตเดŸเดฟเดจเต เดคเดพเดดเต†. เด’เดฐเตเดชเด•เตเดทเต‡ เดเดฑเตเดฑเดตเตเด‚ เด—เด‚เดญเต€เดฐเดฎเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด…เดคเต เดœเต‹เดฒเดฟ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

PHP-เดฏเดฟเตฝ IPv6-เตฝ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเต

เด’เดฐเต เดธเดฟเดฆเตเดงเดพเดจเตเดคเด‚

เดจเดฟเดฐเดพเด•เดฐเดฃเด‚. IPv6 เดŽเดจเตเดคเดพเดฃเต†เดจเตเดจเตเด‚ เด…เดคเต เดŽเดจเตเดคเดพเดฃเต เดตเดฐเตเดจเตเดจเดคเต†เดจเตเดจเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดฐเดฟเดšเดฟเดคเดฎเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดญเดพเด—เด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดฌเต‹เดฑเดŸเดฟเดšเตเดšเต‡เด•เตเด•เดพเด‚. เด…เดฒเตเดฒเดพเดฏเดฟเดฐเดฟเด•เตเด•เดพเด‚.

IPv6 เดตเตเดฏเดพเด–เตเดฏเดพเดจเด‚ เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เด•เดพเดฃเตเดจเตเดจ เด†เดณเตเด•เตพเด•เตเด•เต เด…เดคเต เดตเดณเดฐเต† เดฌเตเดฆเตเดงเดฟเดฎเตเดŸเตเดŸเตเดณเตเดณเดคเดพเดฏเดฟ เดคเต‹เดจเตเดจเดฟเดฏเต‡เด•เตเด•เดพเด‚. เด—เด‚เดญเต€เดฐเดฎเดพเดฏ เดถเต‡เดทเด‚ 64.233.177.101 เดžเด™เตเด™เตพ เดชเต†เดŸเตเดŸเต†เดจเตเดจเต เด…เดญเดฟเดฎเตเด–เต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเต 2607:f8b0:4002:c08::8b เดžเด™เตเด™เตพ เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดฏเต‡เด•เตเด•เดพเด‚. เดฐเดฃเตเดŸเตเด‚ เดฏเดฅเดพเด•เตเดฐเดฎเด‚ 32, 128 เดฌเดฟเดฑเตเดฑเตเด•เดณเตเดŸเต† เดฎเดจเตเดทเตเดฏเตป เดตเดพเดฏเดฟเด•เตเด•เดพเดตเตเดจเตเดจ เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเด‚ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต. เดเดคเตŠเดฐเต เดเดชเดฟ เดชเดพเด•เตเด•เดฑเตเดฑเดฟเดฒเตเด‚ เด“เดฐเต‹ เดฌเดฟเดฑเตเดฑเดฟเดจเตเด‚ เด•เตผเดถเดจเดฎเดพเดฏเดฟ เดธเตเดฑเตเดฑเดพเตปเดกเต‡เตผเดกเต เด‰เดฆเตเดฆเต‡เดถเตเดฏเดคเตเดคเต‹เดŸเต†เดฏเตเดณเตเดณ เด’เดฐเต เดคเดฒเด•เตเด•เต†เดŸเตเดŸเต เด…เดŸเด™เตเด™เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดคเดฒเด•เตเด•เต†เดŸเตเดŸเตเด•เดณเตเดŸเต† เด˜เดŸเดจเดฏเดฟเดฒเต‡เด•เตเด•เต เด•เต‚เดŸเตเดคเตฝ เด†เดดเดคเตเดคเดฟเตฝ เดชเต‹เด•เดพเดคเต†, เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต เดจเดฎเตเดฎเตพ เดŽเดŸเตเดคเตเดคเตเด•เดณเดฏเต‡เดฃเตเดŸ เด’เดฐเต เด•เดพเดฐเตเดฏเด‚, IP เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเด‚ เดถเตเดฐเต‡เดฃเดฟเด•เดณเตเดฎเตเดณเตเดณ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพเด•เตเด•เต, เดฌเตˆเดจเดฑเดฟ เดฎเดพเดคเตเดคเดฎเดพเดฑเตเดฑเดฟเด•เตเดธเตเด‚ เดฌเดฟเดฑเตเดฑเตเดตเตˆเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเต เดชเตŠเดคเตเดตเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต. เด…เดต เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเตฝ เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเตเด‚ เดเดฑเตเดฑเดตเตเด‚ เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดพเดฃเต เดฌเตˆเดจเดฑเดฟ(4) IPv4-เดจเตเด‚ เดฌเตˆเดจเดฑเดฟ(16) IPv6-เดจเต.

เดธเตเดชเตผเดถเดฟเด•เตเด•เต‡เดฃเตเดŸ เดฎเดฑเตเดฑเตŠเดฐเต เดชเตเดฐเดงเดพเดจ เดตเดถเด‚ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดฎเดพเดธเตเด•เตเด•เดณเตเด‚ CIDR เดจเตŠเดŸเตเดŸเต‡เดทเดจเตเดฎเดพเดฃเต. CIDR เดŽเดจเตเดจเดคเต เด•เตเดฒเดพเดธเตเดธเตโ€Œเดฒเต†เดธเตเดธเต เด‡เดจเตเดฑเตผ-เดกเตŠเดฎเต†เดฏเตเตป เดฑเต‚เดŸเตเดŸเดฟเด‚เด—เดฟเดจเตเดฑเต† เดšเตเดฐเตเด•เตเด•เดชเตเดชเต‡เดฐเดพเดฃเต (เด•เตเดฒเดพเดธเดฟเดฒเตเดฒเดพเดคเตเดค เด…เดญเดฟเดธเด‚เดฌเต‹เดงเดจ). IP เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เดเดคเต เดญเดพเด—เดฎเดพเดฃเต เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดŽเดจเตเดจเตเด‚ เดˆ เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เดฟเดจเตเดณเตเดณเดฟเดฒเต† เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เด‡เดจเตเดฑเตผเดซเต‡เดธเดฟเดจเตเดฑเต† เดตเดฟเดฒเดพเดธเด‚ เดเดคเต เดญเดพเด—เดฎเดพเดฃเต†เดจเตเดจเตเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดˆ เด†เดถเดฏเด‚ เด•เตเดฒเดพเดธเต เด†เดถเดฏเดคเตเดคเต† เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเดšเตเดšเต. เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เดชเตเดฐเดฟเดซเดฟเด•เตเดธเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด†เดฆเตเดฏเดคเตเดคเต† n เดฌเดฟเดฑเตเดฑเตเด•เตพ 1 เด†เดฏเตเด‚ เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณเดต 0 เด†เดฏเตเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เตเด‚.

เดฎเดจเตเดทเตเดฏเดจเต เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเดตเตเดจเตเดจ เดฐเต‚เดชเดคเตเดคเดฟเตฝ, เด‡เดคเต เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดŽเดดเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต ip.add.re.ss/cidr. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, 64.233.177.0/24 เด†เดฆเตเดฏเดคเตเดคเต† 24 เดฌเดฟเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเดฟเดจเต† เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดตเดธเดพเดจ 8 เดฌเดฟเดฑเตเดฑเตเด•เตพ, เดนเตเดฏเต‚เดฎเตป เดฑเต€เดกเดฌเดฟเตพ เดจเตŠเดŸเตเดŸเต‡เดทเดจเดฟเดฒเต† เด…เดตเดธเดพเดจ เดจเดฎเตเดชเตผ เดŽเดจเตเดจเตเด‚ เด…เดฑเดฟเดฏเดชเตเดชเต†เดŸเตเดจเตเดจเต, เดธเดฌเตเดจเต†เดฑเตเดฑเดฟเดจเตเดณเตเดณเดฟเดฒเต† เดตเดฟเดฒเดพเดธเดคเตเดคเต† เดชเดฐเดพเดฎเตผเดถเดฟเด•เตเด•เตเดจเตเดจเต. เด•เตเดฑเดšเตเดšเต เดตเตเดฏเดพเดฏเดพเดฎเด™เตเด™เตพ เด•เต‚เดŸเดฟ. 64.233.177.101/32 ะธ 2607:f8b0:4002:c08::8b/128 - เด’เดฐเต เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดตเดฟเดฒเดพเดธเด‚. 2607:f8b0:4002:c08::/64 - เด†เดฆเตเดฏเดคเตเดคเต† 64 เดฌเดฟเดฑเตเดฑเตเด•เตพ (เด†เดฆเตเดฏเดคเตเดคเต† 4 เด—เตเดฐเต‚เดชเตเดชเตเด•เตพ) เดชเตเดฐเดฟเดซเดฟเด•เตเดธเดพเดฃเต, เดฌเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ 64 เดฌเดฟเดฑเตเดฑเตเด•เตพ เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดญเดพเด—เดฎเดพเดฃเต. เดตเดดเดฟเดฏเดฟเตฝ, เดŽเตปเดŸเตเดฐเดฟเดฏเดฟเดฒเต† "::" เด•เตŠเดฃเตเดŸเต เด†เดฐเต†เด™เตเด•เดฟเดฒเตเด‚ เด†เดถเดฏเด•เตเด•เตเดดเดชเตเดชเดคเตเดคเดฟเดฒเดพเดฃเต†เด™เตเด•เดฟเตฝ, เด‡เดฐเดŸเตเดŸ เด•เต‹เดณเตป 0 เด…เดŸเด™เตเด™เตเดจเตเดจ เดตเดฟเดญเดพเด—เด™เตเด™เดณเตเดŸเต† เด…เดจเดฟเดฏเดจเตเดคเตเดฐเดฟเดคเดฎเดพเดฏ เดŽเดฃเตเดฃเด‚ เดฎเดพเดฑเตเดฑเดฟเดธเตเดฅเดพเดชเดฟเด•เตเด•เตเดจเตเดจเต. เดตเตเดฏเดพเด–เตเดฏเดพเดจเดคเตเดคเดฟเตฝ เด‡เดคเต เด’เดฐเดฟเด•เตเด•เตฝ เดฎเดพเดคเตเดฐเดฎเต‡ เดฆเตƒเดถเตเดฏเดฎเดพเด•เต‚. เดฎเดฑเตเดฑเต†เดพเดฐเต เดตเดพเด•เตเด•เดฟเตฝ, 2607:f8b0:4002:c08::8b = 2607:f8b0:4002:c08:0:0:0:8b.

เด‡เดคเดฟเตฝ เดจเดฟเดจเตเดจเต†เดฒเตเดฒเดพเด‚ เดจเดพเด‚ เดŽเดจเตเดคเดพเดฃเต เดชเด เดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต? เด’เดจเตเดจเดพเดฎเดคเดพเดฏเดฟ, เดฌเตˆเดจเดฑเดฟ AND เด‰เด‚ OR เด‰เด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฆเตเดฏเดคเตเดคเต†เดฏเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเต†เดฏเตเด‚ เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเต เดตเดฟเดฒเดพเดธเด‚ เดฒเดญเดฟเด•เตเด•เตเด‚, เดฌเตˆเดจเดฑเดฟ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดฎเดพเดธเตโ€Œเด•เต เด…เดฑเดฟเดฏเตเด•. เดฐเดฃเตเดŸเดพเดฎเดคเดพเดฏเดฟ, เด…เดŸเตเดคเตเดค เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเต เดตเดฒเตเดชเตเดชเด‚ (เด…เดคเดพเดฏเดคเต CIDR เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต) n 1 เดตเดฐเต† เดšเต‡เตผเดคเตเดคเตเด•เตŠเดฃเตเดŸเต เด•เดฃเด•เตเด•เดพเด•เตเด•เดพเด‚ nเดฌเตˆเดจเดฑเดฟ เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดคเตเดคเดฟเตฝ เด† เดธเตเดฅเดพเดจเด‚. เดฌเตˆเดจเดฑเดฟ เดŽเดจเตเดจเดคเตเด•เตŠเดฃเตเดŸเต เดžเดพเตป เด‰เดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเดจเตเดจเดคเต เดซเด‚เด—เตเดทเดจเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดฑเต† เดซเดฒเดฎเดพเดฃเต เดชเดพเด•เตเด•เต () ะธ inet_pton() เด•เต‚เดŸเตเดคเตฝ เด‰เดชเดฏเต‹เด—เดตเตเด‚ เดฌเดฟเดฑเตเดฑเตเดตเตˆเดธเต เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเตผเดฎเดพเตผ, เดฌเตˆเดจเดฑเดฟ เดŽเดจเตเดจเดคเต เดฌเตˆเดจเดฑเดฟ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเดฎเดพเดฃเต, เด…เดคเต เด‡เดจเดฟเดชเตเดชเดฑเดฏเตเดจเตเดจ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดฒเดญเดฟเด•เตเด•เตเด‚. เด…เดŸเดฟเดธเตเดฅเดพเดจ_เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚().

เดšเดฐเดฟเดคเตเดฐ เดชเดถเตเดšเดพเดคเตเดคเดฒเด‚เด•เตเดฒเดพเดธเดฟเดฒเตเดฒเดพเดคเตเดค เด…เดญเดฟเดธเด‚เดฌเต‹เดงเดจเดฏเตเด•เตเด•เต เดฎเตเดฎเตเดชเต เด•เตเดฒเดพเดธเต เดตเต‡เตผเดคเดฟเดฐเดฟเดตเต เด‰เดฃเตเดŸเดพเดฏเดฟเดฐเตเดจเตเดจเต. เด† เดตเดฟเดฆเต‚เดฐ เดตเตผเดทเด™เตเด™เดณเดฟเตฝ, เด‡เดคเตเดฐเดฏเดงเดฟเด•เด‚ เดธเดฌเตโ€Œเดจเต†เดฑเตเดฑเตเด•เตพ เด‰เดฃเตเดŸเดพเด•เตเดฎเต†เดจเตเดจเต เด†เดฐเตเด‚ เดธเด™เตเด•เตฝเดชเตเดชเดฟเดšเตเดšเดฟเดฒเตเดฒ; เด…เดต เด‡เดŸเดคเตเดคเต‹เดŸเตเดŸเตเด‚ เดตเดฒเดคเตเดคเต‹เดŸเตเดŸเตเด‚ เดตเดฒเดฟเดฏ เดฌเตเดฒเต‹เด•เตเด•เตเด•เดณเดพเดฏเดฟ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดคเต: เด•เตเดฒเดพเดธเต เดŽ - เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เด†เดฆเตเดฏเดคเตเดคเต† 8 เดฌเดฟเดฑเตเดฑเตเด•เดณเดพเดฃเต (เด…เดคเดพเดฏเดคเต เด†เดฆเตเดฏ เดจเดฎเตเดชเตผ), เดฎเตเตปโ€Œเดจเดฟเดฐ เดฌเดฟเดฑเตเดฑเต 0; เด•เตเดฒเดพเดธเต เดฌเดฟ - เด†เดฆเตเดฏ 16 (เด†เดฆเตเดฏเดคเตเดคเต† เดฐเดฃเตเดŸเต เด…เด•เตเด•เด™เตเด™เตพ), เดฒเต€เดกเดฟเด‚เด—เต เดฌเดฟเดฑเตเดฑเตเด•เตพ 10; เด•เตเดฒเดพเดธเต เดธเดฟ - เด†เดฆเตเดฏเดคเตเดคเต† 24 เดฌเดฟเดฑเตเดฑเตเด•เตพ, เดฒเต€เดกเดฟเด‚เด—เต เดฌเดฟเดฑเตเดฑเตเด•เตพ 110. เดˆ เดฎเตเตปเดจเดฟเดฐ เดฌเดฟเดฑเตเดฑเตเด•เตพ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เด•เตเดฒเดพเดธเดฟเดจเตเดฑเต† เดตเดฟเดฒเดพเดธเด‚ เดจเตฝเด•เดฟเดฏ เดถเตเดฐเต‡เดฃเดฟเด•เตพ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต: 0.0.0.0 - 127.255.255.255 เดŽ เด•เตเดฒเดพเดธเตเดธเดฟเดจเต, 128.0.0.0 - 191.255.255.255 - เด•เตเดฒเดพเดธเต เดฌเดฟ, 192.0.0.0 - 223.255.255.255 - เด•เตเดฒเดพเดธเต เดธเดฟ. เด—เตเดฐเดนเดคเตเดคเดฟเดฒเตเดŸเดจเต€เดณเด‚ เด‡เดจเตเดฑเตผเดจเต†เดฑเตเดฑเต เดตเตเดฏเดพเดชเดฟเดšเตเดšเดชเตเดชเต‹เตพ, เดคเด™เตเด™เตพเด•เตเด•เต เด…เดŸเดฏเดพเดณเด‚ เดจเดทเตเดŸเดชเตเดชเต†เดŸเตเดŸเตเดตเต†เดจเตเดจเต เดฑเต†เด—เตเดฒเต‡เดฑเตเดฑเตผเดฎเดพเตผ เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดฟ, 90 เด•เดณเตเดŸเต† เดคเตเดŸเด•เตเด•เดคเตเดคเดฟเตฝ เด…เดตเตผ เด’เดฐเต เดตเตผเด—เดฐเดนเดฟเดคเดฎเดพเดฏ เด†เดถเดฏเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดคเต, เด…เดคเต เดฌเดจเตเดงเดฟเด•เตเด•เดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดฟ. เดชเตเดฐเดฎเตเด– เดฌเดฟเดฑเตเดฑเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต. เด•เตเดฑเดšเตเดšเตเด•เต‚เดŸเดฟ เดตเดฟเดถเดฆเดฎเดพเดฏเดฟ เด‡เดคเดฟเตฝ เด•เดพเดฃเดพเด‚, เดชเดฑเดฏเต‚, เดฎเดนเดพเดจเตเด‚ เดŽเดฒเตเดฒเดพเด‚ เด…เดฑเดฟเดฏเตเดจเตเดจเดตเดจเตเด‚.

เดจเดฎเตเด•เตเด•เต เดชเดฐเดฟเดถเต€เดฒเดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเด‚

เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ, เดŽเดจเดฟเด•เตเด•เต เดคเต‹เดจเตเดจเดฟเดฏเดคเตเดชเต‹เดฒเต†, เดฎเต‚เดจเตเดจเต เดŸเดพเดธเตเด•เตเด•เตเด•เตพ เดžเด™เตเด™เตพ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเด‚:

  1. เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เด†เดฆเตเดฏเดคเตเดคเต‡เดฏเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเต‡เดฏเตเด‚ เดตเดฟเดฒเดพเดธเด‚ เดจเต‡เดŸเตเดจเตเดจเต;
  2. เด…เดŸเตเดคเตเดคเดคเดพเดฏเดฟ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดตเดฒเตเดชเตเดช เดถเตเดฐเต‡เดฃเดฟ (CIDR) เดจเต‡เดŸเตเด•;
  3. เด’เดฐเต เดตเดฟเดฒเดพเดธเด‚ เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเตฝ เดชเต†เดŸเตเดŸเดคเดพเดฃเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต.

เดจเดŸเดชเตเดชเดพเด•เตเด•เตฝ IPv6-เดจเดพเดฏเดฟเดฐเดฟเด•เตเด•เตเด‚, เดŽเดจเตเดจเดพเตฝ เด†เดตเดถเตเดฏเดฎเต†เด™เตเด•เดฟเตฝ, เดฏเตเด•เตเดคเดฟ เดŽเดณเตเดชเตเดชเดคเตเดคเดฟเตฝ เดชเตŠเดฐเตเดคเตเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเดพเด•เตเด‚. เดŽเดจเดฟเด•เตเด•เต เดšเดฟเดฒ เด†เดถเดฏเด™เตเด™เตพ เดฒเดญเดฟเดšเตเดšเต เด‡เดตเดฟเดŸเต† เดจเดฟเดจเตเดจเต, เดŽเดจเตเดจเดพเตฝ เด‡เดคเต เด•เตเดฑเดšเตเดšเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ. เด•เต‚เดŸเดพเดคเต†, เด‰เดฆเดพเดนเดฐเดฃเด™เตเด™เตพ เด‡เตปเดชเตเดŸเตเดŸเต เดชเดฟเดถเด•เตเด•เตพ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒ. เด…เดคเดฟเดจเดพเตฝ, เดจเดฎเตเด•เตเด•เต เดชเต‹เด•เดพเด‚.

เดžเดพเตป เด‡เดคเดฟเดจเด•เด‚ เดธเต‚เดšเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดชเต‹เดฒเต†, เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เดคเตเดŸเด•เตเด•เดตเตเด‚ เดฌเตˆเดจเดฑเดฟ เดธเดฌเตเดจเต†เดฑเตเดฑเต เดฎเดพเดธเตเด•เตเด‚ เด…เดฑเดฟเดžเตเดžเตเด•เตŠเดฃเตเดŸเต, เดฌเดฟเดฑเตเดฑเตเดตเตˆเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด’เดฐเต เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เด†เดฆเตเดฏเดคเตเดคเต‡เดฏเตเด‚ เด…เดตเดธเดพเดจเดคเตเดคเต‡เดฏเตเด‚ เดตเดฟเดฒเดพเดธเด‚ เดจเดฟเตผเดฃเตเดฃเดฏเดฟเด•เตเด•เดพเดจเดพเด•เตเด‚. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดจเดฎเตเดฎเตพ เด†เดฆเตเดฏเด‚ เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเต CIDR เดจเต† เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เดฎเดพเดธเตเด•เดพเด•เตเด•เดฟ เดฎเดพเดฑเตเดฑเตเด• เดŽเดจเตเดจเดคเดพเดฃเต. เด‡เดคเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, เดžเด™เตเด™เตพ เด…เดคเดฟเดจเตเดฑเต† เดนเต†เด•เตเดธเต เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเด‚ เดถเต‡เด–เดฐเดฟเดšเตเดšเต เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เด’เดจเตเดจเดพเดฏเดฟ เดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเด‚.

function cidrToMask ($cidr) {
    $mask = str_repeat('f', ceil($cidr / 4));
    $mask .= dechex(4 * ($cidr % 4));
    $mask = str_pad($mask, 32, '0');
    return pack('H*', $mask);
}

เดตเต†เดฒเตเดฒเตเดตเดฟเดณเดฟ เดชเดพเดฏเตเด•เตเด•เต ('H*', $เดฎเดพเดธเตเด•เต) เดนเต†เด•เตเดธเต เดชเตเดฐเดพเดคเดฟเดจเดฟเดงเตเดฏเด‚ เด…เดคเต‡ เดฐเต€เดคเดฟเดฏเดฟเตฝ เดชเดพเด•เตเด•เต เดšเต†เดฏเตเดฏเตเดจเตเดจเต inet_pton(). เดตเดฟเดณเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เดฎเดพเดคเตเดฐเดฎเดพเดฃเต เดตเตเดฏเดคเตเดฏเดพเดธเด‚ เดชเดพเด•เตเด•เต () เดŽเดฒเตเดฒเดพ 0-เด•เดณเตเด‚ เด…เดตเดฏเตเดŸเต† เดธเตเดฅเดฒเดคเตเดคเดพเดฏเดฟเดฐเดฟเด•เตเด•เดฃเด‚, เด•เต‚เดŸเดพเดคเต† เดฎเดจเตเดทเตเดฏเตผเด•เตเด•เต เดตเดพเดฏเดฟเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดŽเตปเดŸเตเดฐเดฟเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏเดฟ เดŽเตปเดŸเตเดฐเดฟเดฏเดฟเตฝ เด•เต‹เดณเดฃเตเด•เดณเตŠเดจเตเดจเตเด‚ เด‰เดฃเตเดŸเดพเด•เดฐเตเดคเต.

เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เดคเตเดŸเด•เตเด•เดตเตเด‚ เด…เดตเดธเดพเดจเดตเตเด‚ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเด• เดŽเดจเตเดจเดคเดพเดฃเต เด…เดŸเตเดคเตเดค เด˜เดŸเตเดŸเด‚. เด‡เดตเดฟเดŸเต† เดธเต‚เด•เตเดทเตเดฎเดคเด•เตพ เด‰เดฏเตผเดจเตเดจเตเดตเดฐเตเดจเตเดจเต. เดฌเดฟเดฑเตเดฑเตเดตเตˆเดธเต เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เดชเตเดฐเต‹เดธเดธเตเดธเดฑเดฟเดจเตเดฑเต† เดฌเดฟเดฑเตเดฑเต เด•เดชเตเดชเดพเดธเดฟเดฑเตเดฑเดฟเดฏเดพเตฝ เดชเดฐเดฟเดฎเดฟเดคเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต, เดŽเดจเตเดฑเต† 32-เดฌเดฟเดฑเตเดฑเต CubieTruck-เตฝ, เดžเดพเตป เดšเดฟเดฒเดชเตเดชเต‹เตพ เดŽเดฒเตเดฒเดพเดคเตเดคเดฐเด‚ เดŸเต†เดธเตเดฑเตเดฑเต เดชเดพเดฎเตเดชเดฑเดฟเด™เตเด™เดฟเดจเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเต, เด’เดฐเต เด“เดชเตเดชเดฑเต‡เดทเดจเดฟเตฝ เดตเดฟเดฒเดพเดธเดคเตเดคเดฟเดจเตเดฑเต† เดŽเดฒเตเดฒเดพ 128 เดฌเดฟเดฑเตเดฑเตเด•เดณเตเด‚ เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดฒเตเดฒ. เดŽเดจเตเดจเดฟเดฐเตเดจเตเดจเดพเดฒเตเด‚, เด…เดคเดฟเดจเต† 32 เดฌเดฟเดฑเตเดฑเตเด•เดณเตเดŸเต† เด—เตเดฐเต‚เดชเตเดชเตเด•เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด’เดจเตเดจเตเด‚ เดจเดฎเตเดฎเต† เดคเดŸเดฏเตเดจเตเดจเดฟเดฒเตเดฒ (เด’เดฐเตเดชเด•เตเดทเต‡, เดžเด™เตเด™เตพ เดเดคเต เดชเตเดฐเต‹เดธเดธเตเดธเดฑเดฟเดฒเดพเดฃเต เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เต‡เดฃเตเดŸเดคเต†เดจเตเดจเต เด†เตผเด•เตเด•เดฑเดฟเดฏเดพเด‚).

function getRangeBoundary ($ip, $cidr, $which, $ipIsBin = false, $returnBin = false) {
    $mask = cidrToMask($cidr);
    if (!$ipIsBin) {
        $ip = inet_pton($ip);
    }
    $ipParts   = str_split($ip, 4);
    $maskParts = str_split($mask, 4);
    $rangeParts  = [];
    for ($i = 0; $i < count($ipParts); $i++) {
        if ($which == 'start') {
            /* ะŸะพะฑะธั‚ะพะฒั‹ะน & ะฐะดั€ะตัะฐ ะธ ะผะฐัะบะธ ะพัั‚ะฐะฒะธั‚ ั‚ะพะปัŒะบะพ ะฑะธั‚ั‹ ะฟั€ะตั„ะธะบัะฐ. */
            $rangeParts[$i] = $ipParts[$i] & $maskParts[$i];
        } else {
            /* ะŸะพะฑะธั‚ะพะฒั‹ะน | ั ะพะฑั€ะฐั‚ะฝะพะน ะผะฐัะบะพะน (~) ะพัั‚ะฐะฒะธั‚ ะฑะธั‚ั‹ ะฟั€ะตั„ะธะบัะฐ ะธ ัƒัั‚ะฐะฝะพะฒะธั‚ ะฒัะต ะฑะธั‚ั‹ ะปะพะบะฐะปัŒะฝะพะน ั‡ะฐัั‚ะธ ะฒ 1. */
            $rangeParts[$i] = $ipParts[$i] | ~$maskParts[$i];
        }
    }
    $rangeBoundary = implode($rangeParts);
    if ($returnBin) {
        return $rangeBoundary;
    } else {
        return inet_ntop($rangeBoundary);
    }
}

เดญเดพเดตเดฟเดฏเดฟเดฒเต† เด‰เดชเดฏเต‹เด—เดคเตเดคเดฟเดจเดพเดฏเดฟ, IP เดŸเตเดฐเดพเตปเดธเตเดฎเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเดพเดจเตเด‚ เดฌเตˆเดจเดฑเดฟเดฏเดฟเดฒเตเด‚ เดฎเดจเตเดทเตเดฏเดจเต เดตเดพเดฏเดฟเด•เตเด•เดพเดจเดพเด•เตเดจเตเดจ เดฐเต‚เดชเดคเตเดคเดฟเดฒเตเด‚ เดซเดฒเด‚ เดธเตเดตเต€เด•เดฐเดฟเด•เตเด•เดพเดจเตเดฎเตเดณเตเดณ เด•เดดเดฟเดตเต เดžเด™เตเด™เตพ เดจเตฝเด•เตเด‚. เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ $เดเดคเต เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เดคเตเดŸเด•เตเด•เดฎเต‹ เด…เดตเดธเดพเดจเดฎเต‹ เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เดฃเดฎเต‹ เดŽเดจเตเดจเต เด‡เดตเดฟเดŸเต† เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต (เดฎเต‚เดฒเตเดฏเด™เตเด™เตพ 'เด†เดฐเด‚เดญเดฟเด•เตเด•เตเด•' เด…เดฅเดตเดพ 'เด…เดตเดธเดพเดจเดฟเด•เตเด•เตเดจเตเดจเต' เดฏเดฅเดพเด•เตเดฐเดฎเด‚).

เด…เดŸเตเดคเตเดค เดŸเดพเดธเตเด•เต (เดžเด™เตเด™เดณเตเดŸเต† เด•เดฎเตเดชเดจเดฟเด•เตเด•เต เดเดฑเตเดฑเดตเตเด‚ เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดตเตเด‚) เด…เดŸเตเดคเตเดค เดถเตเดฐเต‡เดฃเดฟ เด•เดฃเด•เตเด•เดพเด•เตเด•เตเดจเตเดจเต. เดˆ เดŸเดพเดธเตโ€Œเด•เตเด•เดฟเดจเดพเดฏเดฟ, เดตเดฟเดฒเดพเดธเด‚ เด’เดฐเต เดฌเตˆเดจเดฑเดฟ เดธเตโ€ŒเดŸเตเดฐเดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต เด†เดตเดถเตเดฏเดฎเตเดณเตเดณ เดธเตเดฅเดพเดจเดคเตเดคเต 1 เดšเต‡เตผเด•เตเด•เตเด•เดฏเตเด‚ เดคเตเดŸเตผเดจเตเดจเต เดŽเดฒเตเดฒเดพเด‚ เดคเดฟเดฐเดฟเด•เต† เดšเตเดฐเตเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต‡เด•เตเด•เดพเตพ เดฎเดฟเด•เดšเตเดšเดคเดพเดฏเดฟ เด’เดจเตเดจเตเด‚ เดฎเดจเดธเตเดธเดฟเตฝ เดตเดจเตเดจเดฟเดฒเตเดฒ. เดชเตเดฐเดพเดตเดธเตเดคเตเด•เตเด•เตพ เดŽเดตเดฟเดŸเต†เดฏเตเด‚ เดชเตเดฐเดคเตเดฏเด•เตเดทเดชเตเดชเต†เดŸเดพเดคเดฟเดฐเดฟเด•เตเด•เดพเตป, เดตเดฟเด˜เดŸเดฟเดชเตเดชเดฟเด•เตเด•เตเดฎเตเดชเต‹เดดเตเด‚ เด…เดธเด‚เดฌเตเดฒเดฟ เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เดดเตเด‚ เดตเดฟเดฒเดพเดธเด‚ เดฌเตˆเดฑเตเดฑเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดตเดฟเดญเดœเดฟเด•เตเด•เดพเตป เดžเดพเตป เดคเต€เดฐเตเดฎเดพเดจเดฟเดšเตเดšเต.

function getNextBlock ($ipStart, $cidr, $ipIsBin = false, $returnBin = false) {
    if (!$ipIsBin) {
        $ipStart = inet_pton($ipStart);
    }
    $ipParts = str_split($ipStart, 1);
    $ipBin   = '';
    foreach ($ipParts as $ipPart) {
        $ipBin .= str_pad(base_convert(unpack('H*', $ipPart)[1], 16, 2), 8, '0', STR_PAD_LEFT);
    }
    /* ะ”ะพะฑะฐะฒะปัะตะผ 1 ะฒ ะฝัƒะถะฝะพะผ ั€ะฐะทั€ัะดะต ะดะฒะพะธั‡ะฝะพะณะพ ะฟั€ะตะดัั‚ะฐะฒะปะตะฝะธั ัั‚ั€ะพะบะธ "ะฒะปะพะฑ" :) */
    $i = $cidr - 1;
    while ($i >= 0) {
        if ($ipBin[$i] == '0') {
            $ipBin[$i] = '1';
            break;
        } else {
            $ipBin[$i] = '0';
        }
        $i--;
    }
    $ipBinParts = str_split($ipBin, 8);
    foreach ($ipBinParts as $key => $ipBinPart) {
        $ipParts[$key] = pack('H*', str_pad(base_convert($ipBinPart, 2, 16), 2, '0', STR_PAD_LEFT));
    }
    $nextIp = implode($ipParts);
    if ($returnBin) {
        return $nextIp;
    } else {
        return inet_ntop($nextIp);
    }
}

เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเดฟเตฝ, เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เด…เดŸเตเดคเตเดค เดตเดฒเตเดชเตเดช เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เดชเตเดฐเดฟเดซเดฟเด•เตโ€Œเดธเต เดจเดฎเตเด•เตเด•เต เดฒเดญเดฟเด•เตเด•เตเด‚ $cidr. เดˆ เดซเด‚เด—เตเดทเตป เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเดŸเต† เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเด‚.

เด…เดตเดธเดพเดจเดฎเดพเดฏเดฟ, เดตเดฟเดฒเดพเดธเด‚ เดถเตเดฐเต‡เดฃเดฟเดฏเดฟเตฝ เดชเต†เดŸเตเดŸเดคเดพเดฃเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เตเดฒเดฏเดจเตเดฑเตเด•เตพเด•เตเด•เต เดฌเตเดฒเต‹เด•เตเด•เตเด•เตพ เดตเดฟเดคเดฐเดฃเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด’เดฐเต เดฌเตเดฒเต‹เด•เตเด•เต /48 เด…เดจเตเดตเดฆเดฟเดšเตเดšเต /64, เด…เดธเตˆเตป เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ เดžเด™เตเด™เตพ เด…เดจเตเดตเดฆเดฟเดšเตเดš เดฌเตเดฒเต‹เด•เตเด•เดฟเดจเดชเตเดชเตเดฑเดคเตเดคเต‡เด•เตเด•เต เดชเต‹เด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเต เด‰เดฑเดชเตเดชเดพเด•เตเด•เต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต (เดชเตเดฐเดพเดฏเต‹เด—เดฟเด•เดฎเดพเดฏเดฟ เด‡เดคเต เด‰เดŸเตป เดธเด‚เดญเดตเดฟเด•เตเด•เดฟเดฒเตเดฒ, เดชเด•เตเดทเต‡ เด‡เดชเตเดชเต‹เดดเตเด‚ เด’เดฐเต เดธเดพเดงเตเดฏเดคเดฏเตเดฃเตเดŸเต). เด‡เดตเดฟเดŸเต† เดŽเดฒเตเดฒเดพเด‚ เดฒเดณเดฟเดคเดฎเดพเดฃเต. เดถเตเดฐเต‡เดฃเดฟเดฏเตเดŸเต† เดคเตเดŸเด•เตเด•เดตเตเด‚ เด…เดตเดธเดพเดจเดตเตเด‚ เดจเดฎเตเด•เตเด•เต เดฌเตˆเดจเดฑเดฟ เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดฒเดญเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดตเดฟเดฒเดพเดธเด‚ เดชเดฐเดฟเดงเดฟเด•เตเด•เตเดณเตเดณเดฟเดฒเดพเดฃเต‹ เดŽเดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

function ipInRange ($ip, $rangeStart, $cidr) {
    $start = getRangeBoundary($rangeStart, $cidr, 'start',false, true);
    $end = getRangeBoundary($rangeStart, $cidr, 'end',false, true);
    $ipBin = inet_pton($ip);
    return ($ipBin >= $start && $ipBin <= $end);
}

เด‡เดคเต เดธเดนเดพเดฏเด•เดฐเดฎเดพเดฃเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ เดตเดฟเดฒเดพเดธเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดฎเดฑเตเดฑเต เดเดคเต†เดฒเตเดฒเดพเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เตพ เด‰เดชเดฏเต‹เด—เดชเตเดฐเดฆเดฎเดพเด•เตเด‚? เดŽเดจเตเดคเต†เด™เตเด•เดฟเดฒเตเด‚ เด•เต‚เดŸเตเดŸเดฟเดšเตเดšเต‡เตผเด•เตเด•เดฒเตเด•เดณเตเด‚ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเตเด‚ เด•เต‹เดกเต เด…เดตเดฒเต‹เด•เดจเด™เตเด™เดณเตเด‚ เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ เดŠเดทเตเดฎเดณเดฎเดพเดฏเดฟ เดธเตเดตเดพเด—เดคเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต.

เดจเดฟเด™เตเด™เตพ เด‡เดคเดฟเดจเด•เด‚ เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเดจเตเดฑเดพเดฃเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด’เดฐเดพเดณเดพเด•เดพเตป เดšเดฟเดจเตเดคเดฟเด•เตเด•เตเด•เดฏเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดˆ เดฒเต‡เด–เดจเด‚ เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจ เด…เดตเดธเดฐเดคเตเดคเดฟเตฝ เด’เดฐเต เดฌเตเดฒเต‹เด•เตเด•เต เดฒเดญเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต /64 เดŸเดฟเด•เตเด•เดฑเตเดฑเดฟเตฝ เดˆ เดฒเต‡เด–เดจเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฒเดฟเด™เตเด•เต เดจเตฝเด•เดฟเด•เตเด•เตŠเดฃเตเดŸเต เดธเต†เดฏเดฟเตฝเดธเต เดกเดฟเดชเตเดชเดพเตผเดŸเตเดŸเตโ€Œเดฎเต†เดจเตเดฑเดฟเดจเตเดฑเต† เด…เดญเตเดฏเตผเดคเตเดฅเดจ เดชเตเดฐเด•เดพเดฐเด‚ เดจเต†เดคเตผเดฒเดพเตปเดกเดฟเดฒเต† Equinix Tier IV เดกเดพเดฑเตเดฑเดพ เดธเต†เดจเตเดฑเดฑเดฟเดฒเต† เดŽเดฒเตเดฒเดพ vps เดธเต‡เดตเดจเด™เตเด™เตพเด•เตเด•เตเด‚ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเดฎเตผเดชเตเดชเดฟเดค เดธเต†เตผเดตเดฑเตเด•เตพเด•เตเด•เตเด‚ เดชเต‚เตผเดฃเตเดฃเดฎเดพเดฏเตเด‚ เดธเต—เดœเดจเตเดฏเดฎเดพเดฃเต. เด“เดซเตผ 2020 เดฎเดพเตผเดšเตเดšเต เดตเดฐเต† เดธเดพเดงเตเดตเดพเดฃเต.

เดšเดฟเดฒ เดชเดฐเดธเตเดฏเด™เตเด™เตพ ๐Ÿ™‚

เดžเด™เตเด™เดณเต‹เดŸเตŠเดชเตเดชเด‚ เดคเดพเดฎเดธเดฟเดšเตเดšเดคเดฟเดจเต เดจเดจเตเดฆเดฟ. เดžเด™เตเด™เดณเตเดŸเต† เดฒเต‡เด–เดจเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดทเตเดŸเดฎเดพเดฃเต‹? เด•เต‚เดŸเตเดคเตฝ เดฐเดธเด•เดฐเดฎเดพเดฏ เด‰เดณเตเดณเดŸเด•เตเด•เด‚ เด•เดพเดฃเดพเตป เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹? เด’เดฐเต เด“เตผเดกเตผ เดจเตฝเด•เดฟ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเตเดนเตƒเดคเตเดคเตเด•เตเด•เตพเด•เตเด•เต เดถเตเดชเดพเตผเดถ เดšเต†เดฏเตเดคเตเด•เตŠเดฃเตเดŸเต เดžเด™เตเด™เดณเต† เดชเดฟเดจเตเดคเตเดฃเดฏเตเด•เตเด•เตเด•, $4.99 เดฎเตเดคเตฝ เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผเด•เตเด•เตเดณเตเดณ เด•เตเดฒเต—เดกเต VPS, เดŽเตปเดŸเตเดฐเดฟ เดฒเต†เดตเตฝ เดธเต†เตผเดตเดฑเตเด•เดณเตเดŸเต† เด’เดฐเต เด…เดฆเตเดตเดฟเดคเต€เดฏ เด…เดจเดฒเต‹เด—เต, เดจเดฟเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดžเด™เตเด™เตพ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเดšเตเดšเดคเดพเดฃเต: VPS (KVM) E5-2697 v3 (6 เด•เต‹เดฑเตเด•เตพ) 10GB DDR4 480GB SSD 1Gbps-เดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดฎเตเดดเตเดตเตป เดธเดคเตเดฏเดตเตเด‚ $19 เดฎเตเดคเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดŽเด™เตเด™เดจเต† เด’เดฐเต เดธเต†เตผเดตเตผ เดชเด™เตเด•เดฟเดŸเดพเด‚? (RAID1, RAID10 เดŽเดจเตเดจเดฟเดตเดฏเตโ€Œเด•เตเด•เตŠเดชเตเดชเด‚ 24 เด•เต‹เดฑเตเด•เตพ เดตเดฐเต†เดฏเตเด‚ 40GB DDR4 เดตเดฐเต†เดฏเตเด‚ เดฒเดญเตเดฏเดฎเดพเดฃเต).

เด†เด‚เดธเตเดฑเตเดฑเตผเดกเดพเดฎเดฟเดฒเต† Equinix Tier IV เดกเดพเดฑเตเดฑเดพ เดธเต†เดจเตเดฑเดฑเดฟเตฝ Dell R730xd 2 เดฎเดŸเด™เตเด™เต เดตเดฟเดฒเด•เตเด•เตเดฑเดตเดพเดฃเต‹? เด‡เดตเดฟเดŸเต† เดฎเดพเดคเตเดฐเด‚ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV $199 เดฎเตเดคเตฝ เดจเต†เดคเตผเดฒเดพเตปเดกเดฟเตฝ! Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 เดฎเตเดคเตฝ! เด•เตเดฑเดฟเดšเตเดšเต เดตเดพเดฏเดฟเด•เตเด•เตเด• เด‡เตปเดซเตเดฐเดพเดธเตเดŸเตเดฐเด•เตเดšเตผ เด•เต‹เตผเดชเตเดชเดฑเต‡เดทเตป เดŽเด™เตเด™เดจเต† เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เดพเด‚. เด’เดฐเต เดชเตˆเดธเดฏเตเด•เตเด•เต 730 เดฏเต‚เดฑเต‹ เดตเดฟเดฒเดฏเตเดณเตเดณ Dell R5xd E2650-4 v9000 เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ เด•เตเดฒเดพเดธเต?

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

DDoS เดชเดฐเดฟเดฐเด•เตเดทเดฏเตเดณเตเดณ เดธเตˆเดฑเตเดฑเตเด•เตพเด•เตเด•เดพเดฏเดฟ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เตเด•, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ ๐Ÿ”ฅ DDoS เดชเดฐเดฟเดฐเด•เตเดท, VPS VDS เดธเต†เตผเดตเดฑเตเด•เตพ เด‰เดณเตเดณ เดตเดฟเดถเตเดตเดธเดจเต€เดฏเดฎเดพเดฏ เดตเต†เดฌเตโ€Œเดธเตˆเดฑเตเดฑเต เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เดตเดพเด™เตเด™เต‚ | ProHoster