Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + Multi-interfaces + SpamAssassin-learn + Bind

เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เปเบกเปˆเบ™เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบก.
Postfix + Dovecot. SPF + DKIM + rDNS. เบ”เป‰เบงเบ IPv6.
เบ”เป‰เบงเบเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” TSL. เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบผเบฒเบเป‚เบ”เป€เบกเบ™ - เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ SSL เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡.
เบ”เป‰เบงเบเบเบฒเบ™เบ›เป‰เบญเบ‡เบเบฑเบ™ antispam เปเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบš antispam เบชเบนเบ‡เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบญเบทเปˆเบ™เป†.
เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบซเบผเบฒเบ.
เบ”เป‰เบงเบ OpenVPN, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบœเปˆเบฒเบ™ IPv4, เปเบฅเบฐเบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡ IPv6.

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบšเปเปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบฎเบฝเบ™โ€‹เบฎเบนเป‰โ€‹เป€เบ•เบฑเบโ€‹เป‚เบ™โ€‹เป‚เบฅโ€‹เบŠเบตโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เป€เบซเบผเบปเปˆเบฒโ€‹เบ™เบตเป‰โ€‹, เปเบ•เปˆโ€‹เบ•เป‰เบญเบ‡โ€‹เบเบฒเบ™โ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เบ•เบฑเป‰เบ‡โ€‹เป€เบ„เบทเปˆเบญเบ‡โ€‹เปเบกเปˆโ€‹เบ‚เปˆเบฒเบโ€‹เบ”เบฑเปˆเบ‡โ€‹เบเปˆเบฒเบงโ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบšเบปเบ”โ€‹เบ„เบงเบฒเบกโ€‹เบ™เบตเป‰โ€‹เปเบกเปˆเบ™โ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบ—เปˆเบฒเบ™โ€‹.

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

เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ•เบฑเป‰เบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเปเบกเปˆเบ™เบ„เบงเบฒเบกเบเบฑเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเบกเบฒเบ”เบปเบ™เบ™เบฒเบ™. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบŸเบฑเบ‡เบ„เบทเป‚เบ‡เปˆ, เปเบ•เปˆ IMHO, เบกเบฑเบ™เบ”เบตเบเปˆเบงเบฒเบเบฒเบ™เบเบฑเบ™เบขเบฒเบเบฅเบปเบ”เปƒเปเปˆเบˆเบฒเบเบเบตเปˆเบซเปเป‰เบ—เบตเปˆเบ—เปˆเบฒเบ™เบกเบฑเบ.

เบกเบตเบชเบญเบ‡เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ IPv6. เบœเบนเป‰เบŠเปˆเบฝเบงเบŠเบฒเบ™เบ”เป‰เบฒเบ™เป„เบญเบ—เบตเบ•เป‰เบญเบ‡เบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบตเปƒเบซเบกเปˆเบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบขเบนเปˆเบฅเบญเบ”. เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบขเบฒเบโ€‹เบˆเบฐโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบชเปˆเบงเบ™โ€‹เป€เบฅเบฑเบโ€‹เบ™เป‰เบญเบโ€‹เบ‚เบญเบ‡โ€‹เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบ•เปเปˆโ€‹เบชเบนเป‰โ€‹เบ•เป‰เบฒเบ™โ€‹เบเบฒเบ™ censorship เป„เบ”เป‰.

เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ OpenVPN เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเป€เบžเบทเปˆเบญเปƒเบซเป‰ IPv6 เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.
เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเบซเบผเบฒเบเปเบกเปˆเบ™เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ‚เป‰เบญเบเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบซเบ™เบถเปˆเบ‡ "เบŠเป‰เบฒเปเบ•เปˆเบšเปเปˆเบˆเปเบฒเบเบฑเบ”" เปเบฅเบฐเบญเบตเบเบญเบฑเบ™เบซเบ™เบถเปˆเบ‡ "เป„เบงเปเบ•เปˆเบกเบตเบญเบฑเบ”เบ•เบฒเบžเบฒเบชเบต".

เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Bind เปเบกเปˆเบ™เบงเปˆเบฒ ISP เบ‚เบญเบ‡เบ‚เป‰เบญเบเบชเบฐเบซเบ™เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DNS เบ—เบตเปˆเบšเปเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡, เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡ google เบเปเปˆเบฅเบปเป‰เบกเป€เบซเบฅเบง. เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ DNS เบ—เบตเปˆเบซเบกเบฑเป‰เบ™เบ„เบปเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™.

เปเบฎเบ‡เบˆเบนเบ‡เปƒเบˆเบ—เบตเปˆเบˆเบฐเบ‚เบฝเบ™เบšเบปเบ”เบ„เบงเบฒเบก - เบ‚เป‰เบญเบเบ‚เบฝเบ™เบฎเปˆเบฒเบ‡ 10 เป€เบ”เบทเบญเบ™เบเปˆเบญเบ™, เปเบฅเบฐเบ‚เป‰เบญเบเป„เบ”เป‰เป€เบšเบดเปˆเบ‡เบกเบฑเบ™เบชเบญเบ‡เป€เบ—เบทเปˆเบญเปเบฅเป‰เบง. เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบœเบนเป‰เบ‚เบฝเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบปเบเบเบฐเบ•เบด, เบกเบตเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเบนเบ‡เบ—เบตเปˆเบ„เบปเบ™เบญเบทเปˆเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบเบฒเบ™เบกเบฑเบ™เบ„เบทเบเบฑเบ™.

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

เบšเปเบฅเบดเบชเบฑเบ” tech.ru เบกเบตเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡ Colocation. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบ›เบฝเบšเบ—เบฝเบšเบเบฑเบš OVH, Hetzner, AWS. เป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ™เบตเป‰, เบเบฒเบ™เบฎเปˆเบงเบกเบกเบทเบเบฑเบš tech.ru เบˆเบฐเบกเบตเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบซเบผเบฒเบเบ‚เบถเป‰เบ™.

Debian 9 เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.

เป€เบŠเบตเบšเป€เบงเบตเบกเบต 2 เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš `eno1` เปเบฅเบฐ `eno2`. เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบšเปเปˆเบˆเปเบฒเบเบฑเบ”, เปเบฅเบฐเบ—เบตเบชเบญเบ‡เปเบกเปˆเบ™เป„เบง, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.

เบกเบต 3 เบ—เบตเปˆเบขเบนเปˆ IP เปเบšเบšเบ„เบปเบ‡เบ—เบตเปˆ, XX.XX.XX.X0 เปเบฅเบฐ XX.XX.XX.X1 เปเบฅเบฐ XX.XX.XX.X2 เปƒเบ™เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ `eno1` เปเบฅเบฐ XX.XX.XX.X5 เปƒเบ™เบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ `eno2` .

เบกเบตเบขเบนเปˆ XXXX:XXXX:XXXX:XXXX::/64 เบชเบฐเบ™เบธเบเป€เบเบตเบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆ IPv6 เบ—เบตเปˆเบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰เบเบฑเบšเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆ `eno1` เปเบฅเบฐเบˆเบฒเบเบกเบฑเบ™ XXXX:XXXX:XXXX:XXXX:1:2::/96 เบ–เบทเบเบกเบญเบšเบซเบกเบฒเบเปƒเบซเป‰ `eno2` เบ•เบฒเบกเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

เบกเบต 3 เป‚เบ”เป€เบกเบ™ `domain1.com`, `domain2.com`, `domain3.com`. เบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ SSL เบชเปเบฒเบฅเบฑเบš `domain1.com` เปเบฅเบฐ `domain3.com`.

เบ‚เป‰เบญเบเบกเบตเบšเบฑเบ™เบŠเบต Google เบ—เบตเปˆเบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ[email protected]` (เบฎเบฑเบšเบˆเบปเบ”เปเบฒเบ เปเบฅเบฐเบชเบปเปˆเบ‡เบˆเบปเบ”เปเบฒเบเป‚เบ”เบเบเบปเบ‡เบˆเบฒเบเบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” gmail).
เบ•เป‰เบญเบ‡เบกเบตเบเปˆเบญเบ‡เบˆเบปเบ”เปเบฒเบ`[email protected]`, เบชเปเบฒเป€เบ™เบปเบฒเบ‚เบญเบ‡เบญเบตเป€เบกเบงเบ—เบตเปˆเบ‚เป‰เบญเบเบขเบฒเบเป€เบซเบฑเบ™เปƒเบ™ gmail เบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปเบฅเบฐเบกเบฑเบ™เบซเบฒเบเบฒเบเบ—เบตเปˆเบˆเบฐเบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡ `[email protected]` เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ•เปŒ.

เบ•เป‰เบญเบ‡เบกเบตเบเปˆเบญเบ‡เบˆเบปเบ”เปเบฒเบ`[email protected]`, เบ—เบตเปˆ Ivanov เบˆเบฐเปƒเบŠเป‰เบˆเบฒเบ iPhone เบ‚เบญเบ‡เบฅเบฒเบง.

เบญเบตเป€เบกเบงเบ—เบตเปˆเบชเบปเปˆเบ‡เบ•เป‰เบญเบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบฒเบกเบ‚เปเป‰เบเปเบฒเบ™เบปเบ” antispam เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ—เบฑเบ‡เบซเบกเบปเบ”.
เบ•เป‰เบญเบ‡เบกเบตเบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เบขเบนเปˆเปƒเบ™เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เบ„เบงเบ™เบกเบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ IPv6 เบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เปเบฅเบฐเบฎเบฑเบšเบˆเบปเบ”เบซเบกเบฒเบ.
เบ„เบงเบ™เบกเบต SpamAssassin เบ—เบตเปˆเบšเปเปˆเป€เบ„เบตเบเบฅเบถเบšเบญเบตเป€เบกเบง. เปเบฅเบฐเบกเบฑเบ™เบˆเบฐ bounce เบซเบผเบทเบ‚เป‰เบฒเบกเบซเบผเบทเบชเบปเปˆเบ‡เป„เบ›เบซเบฒ IMAP "Spam" เป‚เบŸเบ™เป€เบ”เบต.
SpamAssassin auto-learning เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™ configured: เบ–เป‰เบฒเบ‚เป‰เบญเบเบเป‰เบฒเบเบˆเบปเบ”เบซเบกเบฒเบเป„เบ›เบซเบฒเป‚เบŸเบ™เป€เบ”เบต Spam, เบกเบฑเบ™เบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰เบˆเบฒเบเบ™เบตเป‰; เบ–เป‰เบฒเบ‚เป‰เบญเบเบเป‰เบฒเบเบˆเบปเบ”เบซเบกเบฒเบเบˆเบฒเบเป‚เบŸเบ™เป€เบ”เบต Spam, เบกเบฑเบ™เบˆเบฐเบฎเบฝเบ™เบฎเบนเป‰เบˆเบฒเบเบ™เบตเป‰. เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เบญเบ‡เบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก SpamAssassin เบ„เบงเบ™เบˆเบฐเบกเบตเบญเบดเบ”เบ—เบดเบžเบปเบ™เบงเปˆเบฒเบˆเบปเบ”เบซเบกเบฒเบเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เบขเบนเปˆเปƒเบ™เป‚เบŸเบ™เป€เบ”เบต Spam.
script PHP เบˆเบฐเบ•เป‰เบญเบ‡เบชเบฒเบกเบฒเบ”เบชเบปเปˆเบ‡เป€เบกเบฅเปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เป‚เบ”เป€เบกเบ™เปƒเบ”เป†เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเปƒเบซเป‰.
เบ„เบงเบ™เบกเบตเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ openvpn, เบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ IPv6 เปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบ—เบตเปˆเบšเปเปˆเบกเบต IPv6.

เบเปˆเบญเบ™เบญเบทเปˆเบ™ เปเบปเบ”, เบ—เปˆเบฒเบ™ เบˆเบณ เป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปˆเบงเบ™เบ•เบดเบ”เบ•เปเปˆเปเบฅเบฐเป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡, เบฅเบงเบกเบ—เบฑเบ‡ IPv6.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ OpenVPN, เป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบœเปˆเบฒเบ™ IPv4 เปเบฅเบฐเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒเบกเบตเบ—เบตเปˆเบขเบนเปˆ IPv6 static-real. เบฅเบนเบเบ„เป‰เบฒเบ™เบตเป‰เบˆเบฐเบกเบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ IPv6 เบ—เบฑเบ‡เบซเบกเบปเบ”เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปเบฅเบฐเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™ IPv6 เปƒเบ”เป†เปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Postfix เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบˆเบปเบ”เบซเบกเบฒเบ + SPF + DKIM + rDNS เปเบฅเบฐเบชเบดเปˆเบ‡เป€เบฅเบฑเบเบ™เป‰เบญเบเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบญเบทเปˆเบ™เป†.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ Dovecot เปเบฅเบฐ configure Multidomain.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ SpamAssassin เปเบฅเบฐเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก.
เบชเบธเบ”เบ—เป‰เบฒเบ, เบ•เบดเบ”เบ•เบฑเป‰เบ‡ Bind.

============= เบซเบผเบฒเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš =============

เป€เบžเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ‚เบฝเบ™เบกเบฑเบ™เบขเบนเปˆเปƒเบ™ "/etc/network/interfaces".

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eno1
iface eno1 inet static
        address XX.XX.XX.X0/24
        gateway XX.XX.XX.1
        dns-nameservers 127.0.0.1 213.248.1.6
        post-up ip route add XX.XX.XX.0/24 dev eno1 src XX.XX.XX.X0 table eno1t
        post-up ip route add default via XX.XX.XX.1 table eno1t
        post-up ip rule add table eno1t from XX.XX.XX.X0
        post-up ip rule add table eno1t to XX.XX.XX.X0

auto eno1:1
iface eno1:1 inet static
address XX.XX.XX.X1
netmask 255.255.255.0
        post-up ip rule add table eno1t from XX.XX.XX.X1
        post-up ip rule add table eno1t to XX.XX.XX.X1
        post-up   ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t
        post-down ip route del 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t

auto eno1:2
iface eno1:2 inet static
address XX.XX.XX.X2
netmask 255.255.255.0
        post-up ip rule add table eno1t from XX.XX.XX.X2
        post-up ip rule add table eno1t to XX.XX.XX.X2

iface eno1 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:1::/64
        gateway XXXX:XXXX:XXXX:XXXX::1
        up   ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE
        up   ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:2/64 dev $IFACE
        down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE
        down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:1:1:2/64 dev $IFACE

# The secondary network interface
allow-hotplug eno2
iface eno2 inet static
        address XX.XX.XX.X5
        netmask 255.255.255.0
        post-up   ip route add XX.XX.XX.0/24 dev eno2 src XX.XX.XX.X5 table eno2t
        post-up   ip route add default via XX.XX.XX.1 table eno2t
        post-up   ip rule add table eno2t from XX.XX.XX.X5
        post-up   ip rule add table eno2t to XX.XX.XX.X5
        post-up   ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X5 table eno2t
        post-down ip route del 10.8.0.0/24 dev tun0 src XX.XX.XX.X5 table eno2t

iface eno2 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:2::/96
        up   ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:2:1:1/64 dev $IFACE
        up   ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:2:1:2/64 dev $IFACE
        down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:2:1:1/64 dev $IFACE
        down ip -6 addr del XXXX:XXXX:XXXX:XXXX:1:2:1:2/64 dev $IFACE

# OpenVPN network
iface tun0 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:3::/80

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเปƒเบ”เป†เปƒเบ™ tech.ru (เบกเบตเบเบฒเบ™เบ›เบฐเบชเบฒเบ™เบ‡เบฒเบ™เป€เบฅเบฑเบเบ™เป‰เบญเบเบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™) เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ™เบ—เบตเบ•เบฒเบกเบ—เบตเปˆเบกเบฑเบ™เบ„เบงเบ™.

เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบ›เบฐเบชเบปเบšเบเบฒเบ™เปƒเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเบดเปˆเบ‡เบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเปเบฒเบฅเบฑเบš Hetzner, OVH, เบกเบฑเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™. เบเบฒเบเบเบงเปˆเบฒ.

eno1 เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ #1 (เบŠเป‰เบฒเปเบ•เปˆเบšเปเปˆเบˆเปเบฒเบเบฑเบ”).
eno2 เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ #2 (เป„เบง, เปเบ•เปˆเบกเบตเบญเบฑเบ”เบ•เบฒเบžเบฒเบชเบต).
tun0 เปเบกเปˆเบ™เบŠเบทเปˆเบ‚เบญเบ‡เบšเบฑเบ”เป€เบ„เบทเบญเบ‚เปˆเบฒเบ virtual เบˆเบฒเบ OpenVPN.
XX.XX.XX.X0 - IPv4 #1 on eno1.
XX.XX.XX.X1 - IPv4 #2 on eno1.
XX.XX.XX.X2 - IPv4 #3 on eno1.
XX.XX.XX.X5 - IPv4 #1 on eno2.
XX.XX.XX.1 - IPv4 gateway.
XXXX:XXXX:XXXX:XXXX::/64 - IPv6 เบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”.
XXXX:XXXX:XXXX:XXXX:1:2::/96 - IPv6 เบชเปเบฒเบฅเบฑเบš eno2, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบˆเบฒเบเบžเบฒเบเบ™เบญเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™ eno1.
XXXX:XXXX:XXXX:XXXX::1 โ€” เบ›เบฐเบ•เบน IPv6 (เบ„เบงเบ™เบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบญเบฑเบ™เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰/เบ„เบงเบ™เป€เบฎเบฑเบ”เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เบฅเบฐเบšเบธเบชเบฐเบงเบดเบ” IPv6).
dns-nameservers - 127.0.0.1 เบ–เบทเบเบŠเบตเป‰เบšเบญเบ (เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒ bind เบ–เบทเบเบ•เบดเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™) เปเบฅเบฐ 213.248.1.6 (เบ™เบตเป‰เปเบกเปˆเบ™เบกเบฒเบˆเบฒเบ tech.ru).

"เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ eno1t" เปเบฅเบฐ "เบ•เบฒเบ•เบฐเบฅเบฒเบ‡ eno2t" - เบ„เบงเบฒเบกเบซเบกเบฒเบเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบงเปˆเบฒเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเป‚เบ”เบเบœเปˆเบฒเบ™ eno1 -> เบˆเบฐเบญเบญเบเบˆเบฒเบเบกเบฑเบ™, เปเบฅเบฐเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒเบœเปˆเบฒเบ™ eno2 -> เบˆเบฐเบญเบญเบเบˆเบฒเบเบกเบฑเบ™. เปเบฅเบฐเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบฅเบดเป€เบฅเบตเปˆเบกเป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบˆเบฐเบœเปˆเบฒเบ™ eno1.

ip route add default via XX.XX.XX.1 table eno1t

เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเปƒเบˆเป„เบ”เป‰เบ—เบตเปˆเบขเบนเปˆเบžเบฒเบเปƒเบ•เป‰เบเบปเบ”เบฅเบฐเบšเบฝเบšเปƒเบ”เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบกเบตเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบ "table eno1t" -> เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” eno1.

ip route add XX.XX.XX.0/24 dev eno1 src XX.XX.XX.X0 table eno1t

เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ”เป†เบ—เบตเปˆเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเป„เบ›เบซเบฒเบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” eno1.

ip rule add table eno1t from XX.XX.XX.X0
ip rule add table eno1t to XX.XX.XX.X0

เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เบซเบกเบฒเบเบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™.

auto eno1:2
iface eno1:2 inet static
address XX.XX.XX.X2
netmask 255.255.255.0
        post-up ip rule add table eno1t from XX.XX.XX.X2
        post-up ip rule add table eno1t to XX.XX.XX.X2

เบšเบฅเบฑเบญเบเบ™เบตเป‰เบฅเบฐเบšเบธ IPv4 เบ—เบตเบชเบญเบ‡เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš eno1.

ip route add 10.8.0.0/24 dev tun0 src XX.XX.XX.X1 table eno1t

เบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ OpenVPN เป„เบ›เบซเบฒ IPv4 เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบเบปเบเป€เบงเบฑเป‰เบ™ XX.XX.XX.X0.
เบ‚เป‰เบญเบเบเบฑเบ‡เบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบš IPv4 เบ—เบฑเบ‡เบซเบกเบปเบ”.

iface eno1 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:1::/64
        gateway XXXX:XXXX:XXXX:XXXX::1

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

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡ ":1:1::" เบชเบฑเบšเบชเบปเบ™เบซเบผเบฒเบ? เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ OpenVPN เป€เบฎเบฑเบ”เบงเบฝเบเบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เบตเป‰. เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบ•เปเปˆเบกเบฒ.

เบเปˆเบฝเบงเบเบฑเบšเบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบ›เบฐเบ•เบน - เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบงเบดเบ—เบตเบ—เบตเปˆเบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบฅเบฐเบ”เบต. เปเบ•เปˆเบงเบดเบ—เบตเบ—เบตเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบกเปˆเบ™เบเบฒเบ™เบŠเบตเป‰เบšเบญเบเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ IPv6 เบ‚เบญเบ‡เบชเบฐเบซเบผเบฑเบšเบ—เบตเปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบšเบฒเบ‡เบขเปˆเบฒเบ‡ IPv6 เบขเบธเบ”เป€เบฎเบฑเบ”เบงเบฝเบเบ–เป‰เบฒเบ‚เป‰เบญเบเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰. เบ™เบตเป‰เปเบกเปˆเบ™เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบšเบฑเบ™เบซเบฒ tech.ru.

ip -6 addr add XXXX:XXXX:XXXX:XXXX:1:1:1:1/64 dev $IFACE

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเบ—เบตเปˆเบขเบนเปˆ IPv6 เป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบš. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบ›เบฑเบ™เบฎเป‰เบญเบเบ—เบตเปˆเบขเบนเปˆ, เบ™เบฑเป‰เบ™เบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเป€เบ›เบฑเบ™เบฎเป‰เบญเบเปเบ–เบงเปƒเบ™เป„เบŸเบฅเปŒเบ™เบตเป‰.

iface eno1 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:1::/64
...
iface eno2 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:2::/96
...
iface tun0 inet6 static
        address XXXX:XXXX:XXXX:XXXX:1:3::/80

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบ—เบตเปˆเบขเบนเปˆเปเบฅเบฐเป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบเบ‚เบญเบ‡เบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบŠเบฑเบ”เป€เบˆเบ™.
eno1 - เบ•เป‰เบญเบ‡ "/64" - เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบชเบฐเบ™เบธเบเป€เบเบตเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒ.
tun0 - เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบเบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒ eno1. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบกเบฑเบ™เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฑเบšเบ„เปˆเบฒเบ›เบฐเบ•เบน IPv6 เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒ OpenVPN เป„เบ”เป‰.
eno2 - เป€เบ„เบทเบญเบ‚เปˆเบฒเบเบเปˆเบญเบเบˆเบฐเบ•เป‰เบญเบ‡เปƒเบซเบเปˆเบเบงเปˆเบฒ tun0. เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบฅเบนเบเบ„เป‰เบฒ OpenVPN เบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ—เบตเปˆเบขเบนเปˆ IPv6 เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เป„เบ”เป‰.
เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™, เบ‚เป‰เบญเบเป€เบฅเบทเบญเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเปˆเบญเบเบ‚เบญเบ‡ 16, เปเบ•เปˆเบ–เป‰เบฒเบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เบเบฒเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบ‚เบฑเป‰เบ™เบ•เบญเบ™ "1" เป„เบ”เป‰.
เบ•เบฒเบกเบ™เบฑเป‰เบ™, 64+16 = 80, เปเบฅเบฐ 80+16 = 96.

เบชเปเบฒเบฅเบฑเบšเบ„เบงเบฒเบกเบŠเบฑเบ”เป€เบˆเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ:
XXXX:XXXX:XXXX:XXXX:1:1:YYYY:YYYY เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบกเบญเบšเปเบฒเบเปƒเบซเป‰เบเบฑเบšเป€เบงเบฑเบšเป„เบŠ เบซเบผเบทเบšเปเบฅเบดเบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” eno1.
XXXX:XXXX:XXXX:XXXX:1:2:YYYY:YYYY เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบกเบญเบšเปเบฒเบเปƒเบซเป‰เบเบฑเบšเป€เบงเบฑเบšเป„เบŠ เบซเบผเบทเบšเปเบฅเบดเบเบฒเบ™เบชเบฐเป€เบžเบฒเบฐเปƒเบ™เบญเบดเบ™เป€เบ•เบตเป€เบŸเบ” eno2.
XXXX:XXXX:XXXX:XXXX:1:3:YYYY:YYYY เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบ„เบงเบ™เบˆเบฐเบ–เบทเบเบกเบญเบšเปเบฒเบเปƒเบซเป‰เบฅเบนเบเบ„เป‰เบฒ OpenVPN เบซเบผเบทเปƒเบŠเป‰เป€เบ›เบฑเบ™เบ—เบตเปˆเบขเบนเปˆเบšเปเบฅเบดเบเบฒเบ™ OpenVPN.

เป€เบžเบทเปˆเบญเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบ„เบทเบญเบ‚เปˆเบฒเบ, เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐ restart server.
เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ IPv4 เบˆเบฐเบ–เบทเบเป€เบเบฑเบšเบ‚เบถเป‰เบ™เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ” (เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบˆเบฐเบซเปเปˆเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเป - เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เบžเบฝเบ‡เปเบ•เปˆเบˆเบฐ crash เป€เบ„เบทเบญเบ‚เปˆเบฒเบเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ):

/etc/init.d/networking restart

เบ•เบทเปˆเบกเปƒเบชเปˆเปƒเบ™เบ•เบญเบ™เบ—เป‰เบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒ โ€œ/etc/iproute2/rt_tablesโ€:

100 eno1t
101 eno2t

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบเปเบฒเบซเบ™เบปเบ”เป€เบญเบ‡เปƒเบ™เป„เบŸเบฅเปŒ "/etc/network/interfaces".
เบ•เบปเบงเป€เบฅเบเบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบฅเบฑเบ เปเบฅเบฐเปœเป‰เบญเบเบเบงเปˆเบฒ 65535.

เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡ IPv6 เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰เบ‡เปˆเบฒเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ rebooting, เปเบ•เปˆเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ”เป‰เบฎเบฝเบ™เบฎเบนเป‰เบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบชเบฒเบกเบ„เปเบฒเบชเบฑเปˆเบ‡:

ip -6 addr ...
ip -6 route ...
ip -6 neigh ...

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "/etc/sysctl.conf"

# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward = 1

# Do not accept ICMP redirects (prevent MITM attacks)
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0

# Do not send ICMP redirects (we are not a router)
net.ipv4.conf.all.send_redirects = 0

# For receiving ARP replies
net.ipv4.conf.all.arp_filter = 0
net.ipv4.conf.default.arp_filter = 0

# For sending ARP
net.ipv4.conf.all.arp_announce = 0
net.ipv4.conf.default.arp_announce = 0

# Enable IPv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0

# IPv6 configuration
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.accept_ra = 0

# For OpenVPN
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1

# For nginx on boot
net.ipv6.ip_nonlocal_bind = 1

เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ "sysctl" เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ‚เป‰เบญเบ. เปƒเบซเป‰เบ‚เป‰เบญเบเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™.

net.ipv4.ip_forward = 1

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบชเบดเปˆเบ‡เบ™เบตเป‰, OpenVPN เบˆเบฐเบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป€เบฅเบตเบ.

net.ipv6.ip_nonlocal_bind = 1

เปƒเบœเบเปเบ•เบฒเบกเบ—เบตเปˆเบžเบฐเบเบฒเบเบฒเบกเบœเบนเบเบกเบฑเบ” IPv6 (เบ•เบปเบงเบขเปˆเบฒเบ‡: nginx) เบ—เบฑเบ™เบ—เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป‚เบ•เป‰เบ•เบญเบšเบ‚เบถเป‰เบ™เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”. เบงเปˆเบฒเบ—เบตเปˆเบขเบนเปˆเบ™เบตเป‰เบšเปเปˆเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰.

เป€เบžเบทเปˆเบญเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เป€เบฎเบฑเบ”.

net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.proxy_ndp = 1

เบ–เป‰เบฒเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ IPv6 เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰, เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ OpenVPN เบšเปเปˆเป„เบ”เป‰เบญเบญเบเป„เบ›เปƒเบ™เป‚เบฅเบ.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบญเบทเปˆเบ™เบšเปเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡ เบซเบผเบทเบ‚เป‰เบญเบเบšเปเปˆเบˆเบทเปˆเบงเปˆเบฒเบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เบซเบเบฑเบ‡.
เปเบ•เปˆเปƒเบ™เบเปเบฅเบฐเบ™เบต, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ›เปˆเบญเบเปƒเบซเป‰เบกเบฑเบ™ "เป€เบ›เบฑเบ™."

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ™เบตเป‰เบ–เบทเบเป€เบเบฑเบšเบ‚เบถเป‰เบ™เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™ rebooting server, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡:

sysctl -p

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบเบปเบ”เบฅเบฐเบšเบฝเบš "เบ•เบฒเบ•เบฐเบฅเบฒเบ‡": habr.com/post/108690

============= OpenVPN =============

OpenVPN IPv4 เบšเปเปˆเป€เบฎเบฑเบ”เบงเบฝเบเป‚เบ”เบเบšเปเปˆเบกเบต iptables.

iptables เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบš VPN:

iptables -A INPUT -p udp -s YY.YY.YY.YY --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -o eno1 -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j SNAT --to-source XX.XX.XX.X0
##iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j DROP
iptables -A FORWARD -p udp --dport 1194 -j DROP

YY.YY.YY.YY เปเบกเปˆเบ™เบ—เบตเปˆเบขเบนเปˆ IPv4 เบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™.
10.8.0.0/24 - เป€เบ„เบทเบญเบ‚เปˆเบฒเบ IPv4 openvpn. เบ—เบตเปˆเบขเบนเปˆ IPv4 เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒ openvpn.
เบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡เบ‚เบญเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเปเบกเปˆเบ™เบชเปเบฒเบ„เบฑเบ™.

iptables -A INPUT -p udp -s YY.YY.YY.YY --dport 1194 -j ACCEPT
iptables -A FORWARD -i tun0 -o eno1 -j ACCEPT
...
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp --dport 1194 -j DROP
iptables -A FORWARD -p udp --dport 1194 -j DROP

เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เป€เบžเบทเปˆเบญเปƒเบซเป‰เบžเบฝเบ‡เปเบ•เปˆเบ‚เป‰เบญเบเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰ OpenVPN เบˆเบฒเบ IP เบ„เบปเบ‡เบ—เบตเปˆเบ‚เบญเบ‡เบ‚เป‰เบญเบ.

iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j SNAT --to-source XX.XX.XX.X0
  -- ะธะปะธ --
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eno1 -j MASQUERADE

เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ•เปเปˆเปเบžเบฑเบเป€เบเบฑเบ” IPv4 เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบนเบเบ„เป‰เบฒ OpenVPN เปเบฅเบฐเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰.

เบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เบซเบ™เบถเปˆเบ‡เปƒเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก.
เบ—เบฑเบ‡เบชเบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ‚เป‰เบญเบ.
เบซเบผเบฑเบ‡เบˆเบฒเบเบญเปˆเบฒเบ™เป€เบญเบเบฐเบชเบฒเบ™, เบ‚เป‰เบญเบเป€เบฅเบทเบญเบเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เปเบฒเบญเบดเบ”เป€เบžเบฒเบฐเบงเปˆเบฒเบกเบฑเบ™เปƒเบŠเป‰ CPU เบซเบ™เป‰เบญเบ.

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ iptables เบ—เบฑเบ‡เปเบปเบ”เบ–เบทเบเป€เบเบฑเบšเบ‚เบถเป‰เบ™เบซเบผเบฑเบ‡เบˆเบฒเบเบ›เบดเบ”เป€เบ›เบตเบ”เปƒเปเปˆ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบšเบฑเบ™เบ—เบถเบเบžเบงเบเบกเบฑเบ™เป„เบงเป‰เบšเปˆเบญเบ™เปƒเบ”เบšเปˆเบญเบ™เปœเบถเปˆเบ‡.

iptables-save > /etc/iptables/rules.v4
ip6tables-save > /etc/iptables/rules.v6

เบŠเบทเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเป€เบฅเบทเบญเบเป‚เบ”เบเบšเบฑเบ‡เป€เบญเบตเบ™. เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป‚เบ”เบเบŠเบธเบ” "iptables-persistent".

apt-get install iptables-persistent

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ” OpenVPN เบซเบผเบฑเบ:

apt-get install openvpn easy-rsa

เบกเบฒเบ•เบฑเป‰เบ‡เปเบกเปˆเปเบšเบšเบชเปเบฒเบฅเบฑเบšเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ (เปเบ—เบ™เบ„เปˆเบฒเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ):

make-cadir ~/openvpn-ca
cd ~/openvpn-ca
ln -s openssl-1.0.0.cnf openssl.cnf

เบกเบฒเปเบเป‰เป„เบ‚เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบกเปˆเปเบšเบšเปƒเบšเบฎเบฑเบšเบฎเบญเบ‡:

mcedit vars

...
# These are the default values for fields
# which will be placed in the certificate.
# Don't leave any of these fields blank.
export KEY_COUNTRY="RU"
export KEY_PROVINCE="Krasnodar"
export KEY_CITY="Dinskaya"
export KEY_ORG="Own"
export KEY_EMAIL="[email protected]"
export KEY_OU="VPN"

# X509 Subject Field
export KEY_NAME="server"
...

เบชเป‰เบฒเบ‡เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เป€เบŠเบตเบšเป€เบงเบต:

cd ~/openvpn-ca
source vars
./clean-all
./build-ca
./build-key-server server
./build-dh
openvpn --genkey --secret keys/ta.key

เปƒเบซเป‰เบเบฐเบเบฝเบกเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป„เบŸเบฅเปŒ "client-name.opvn" เบชเบธเบ”เบ—เป‰เบฒเบ:

mkdir -p ~/client-configs/files
chmod 700 ~/client-configs/files
cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf ~/client-configs/base.conf
mcedit ~/client-configs/base.conf

# Client mode
client

# Interface tunnel type
dev tun

# TCP protocol
proto tcp-client

# Address/Port of VPN server
remote XX.XX.XX.X0 1194

# Don't bind to local port/address
nobind

# Don't need to re-read keys and re-create tun at restart
persist-key
persist-tun

# Remote peer must have a signed certificate
remote-cert-tls server
ns-cert-type server

# Enable compression
comp-lzo

# Custom
ns-cert-type server
tls-auth ta.key 1
cipher DES-EDE3-CBC

เปƒเบซเป‰เบเบฐเบเบฝเบกเบชเบฐเบ„เบดเบšเบ—เบตเปˆเบˆเบฐเบฅเบงเบกเป„เบŸเบฅเปŒเบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป„เบŸเบฅเปŒ opvn เบ”เบฝเบง.

mcedit ~/client-configs/make_config.sh
chmod 700 ~/client-configs/make_config.sh

#!/bin/bash

# First argument: Client identifier

KEY_DIR=~/openvpn-ca/keys
OUTPUT_DIR=~/client-configs/files
BASE_CONFIG=~/client-configs/base.conf

cat ${BASE_CONFIG} 
    <(echo -e '<ca>') 
    ${KEY_DIR}/ca.crt 
    <(echo -e '</ca>n<cert>') 
    ${KEY_DIR}/.crt 
    <(echo -e '</cert>n<key>') 
    ${KEY_DIR}/.key 
    <(echo -e '</key>n<tls-auth>') 
    ${KEY_DIR}/ta.key 
    <(echo -e '</tls-auth>') 
    > ${OUTPUT_DIR}/.ovpn

เบเบฒเบ™เบชเป‰เบฒเบ‡เบฅเบนเบเบ„เป‰เบฒ OpenVPN เบ—เปเบฒเบญเบดเบ”:

cd ~/openvpn-ca
source vars
./build-key client-name
cd ~/client-configs
./make_config.sh client-name

เป„เบŸเบฅเปŒ โ€œ~/client-configs/files/client-name.ovpnโ€ เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบญเบธเบ›เบฐเบเบญเบ™เบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ.

เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒ iOS เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ” trick เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:
เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เปเบ—เบฑเบ "tls-auth" เบˆเบฐเบ•เป‰เบญเบ‡เบšเปเปˆเบกเบตเบ„เบณเป€เบซเบฑเบ™.
เปเบฅเบฐเปƒเบชเปˆ "key-direction 1" เบ—เบฑเบ™เบ—เบตเบเปˆเบญเบ™เปเบ—เบฑเบ "tls-auth".

เบกเบฒเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบŠเบตเบšเป€เบงเบต OpenVPN:

cd ~/openvpn-ca/keys
cp ca.crt ca.key server.crt server.key ta.key dh2048.pem /etc/openvpn
gunzip -c /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz | tee /etc/openvpn/server.conf
mcedit /etc/openvpn/server.conf

# Listen port
port 1194

# Protocol
proto tcp-server

# IP tunnel
dev tun0
tun-ipv6
push tun-ipv6

# Master certificate
ca ca.crt

# Server certificate
cert server.crt

# Server private key
key server.key

# Diffie-Hellman parameters
dh dh2048.pem

# Allow clients to communicate with each other
client-to-client

# Client config dir
client-config-dir /etc/openvpn/ccd

# Run client-specific script on connection and disconnection
script-security 2
client-connect "/usr/bin/sudo -u root /etc/openvpn/server-clientconnect.sh"
client-disconnect "/usr/bin/sudo -u root /etc/openvpn/server-clientdisconnect.sh"

# Server mode and client subnets
server 10.8.0.0 255.255.255.0
server-ipv6 XXXX:XXXX:XXXX:XXXX:1:3::/80
topology subnet

# IPv6 routes
push "route-ipv6 XXXX:XXXX:XXXX:XXXX::/64"
push "route-ipv6 2000::/3"

# DNS (for Windows)
# These are OpenDNS
push "dhcp-option DNS 208.67.222.222"
push "dhcp-option DNS 208.67.220.220"

# Configure all clients to redirect their default network gateway through the VPN
push "redirect-gateway def1 bypass-dhcp"
push "redirect-gateway ipv6" #For iOS

# Don't need to re-read keys and re-create tun at restart
persist-key
persist-tun

# Ping every 10s. Timeout of 120s.
keepalive 10 120

# Enable compression
comp-lzo

# User and group
user vpn
group vpn

# Log a short status
status openvpn-status.log

# Logging verbosity
##verb 4

# Custom config
tls-auth ta.key 0
cipher DES-EDE3-CBC

เบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบขเบนเปˆเบ„เบปเบ‡เบ—เบตเปˆเบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบ•เปˆเบฅเบฐเบ„เบปเบ™ (เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เปเบ•เปˆเบ‚เป‰เบญเบเปƒเบŠเป‰เบกเบฑเบ™):

# Client config dir
client-config-dir /etc/openvpn/ccd

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบตเปˆเบเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบชเปเบฒเบ„เบฑเบ™.

เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, OpenVPN เบเบฑเบ‡เบšเปเปˆเบ—เบฑเบ™เบฎเบนเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ›เบฐเบ•เบน IPv6 เบขเปˆเบฒเบ‡เป€เบ›เบฑเบ™เบญเบดเบ”เบชเบฐเบซเบผเบฐเบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒ.
เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡ "เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡" เบชเบปเปˆเบ‡เบ•เปเปˆเบ™เบตเป‰เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเปเบ•เปˆเบฅเบฐเบ„เบปเบ™.

# Run client-specific script on connection and disconnection
script-security 2
client-connect "/usr/bin/sudo -u root /etc/openvpn/server-clientconnect.sh"
client-disconnect "/usr/bin/sudo -u root /etc/openvpn/server-clientdisconnect.sh"

เป„เบŸเบฅเปŒ โ€œ/etc/openvpn/server-clientconnect.shโ€:

#!/bin/sh

# Check client variables
if [ -z "$ifconfig_pool_remote_ip" ] || [ -z "$common_name" ]; then
        echo "Missing environment variable."
        exit 1
fi

# Load server variables
. /etc/openvpn/variables

ipv6=""

# Find out if there is a specific config with fixed IPv6 for this client
if [ -f "/etc/openvpn/ccd/$common_name" ]; then
        # Get fixed IPv6 from client config file
        ipv6=$(sed -nr 's/^.*ifconfig-ipv6-push[ t]+([0-9a-fA-F:]+).*$/1/p' "/etc/openvpn/ccd/$common_name")
        echo $ipv6
fi

# Get IPv6 from IPv4
if [ -z "$ipv6" ]; then
        ipp=$(echo "$ifconfig_pool_remote_ip" | cut -d. -f4)
        if ! [ "$ipp" -ge 2 -a "$ipp" -le 254 ] 2>/dev/null; then
                echo "Invalid IPv4 part."
                exit 1
        fi
        hexipp=$(printf '%x' $ipp)
        ipv6="$prefix$hexipp"
fi

# Create proxy rule
/sbin/ip -6 neigh add proxy $ipv6 dev eno1

เป„เบŸเบฅเปŒ โ€œ/etc/openvpn/server-clientdisconnect.shโ€:

#!/bin/sh

# Check client variables
if [ -z "$ifconfig_pool_remote_ip" ] || [ -z "$common_name" ]; then
        echo "Missing environment variable."
        exit 1
fi

# Load server variables
. /etc/openvpn/variables

ipv6=""

# Find out if there is a specific config with fixed IPv6 for this client
if [ -f "/etc/openvpn/ccd/$common_name" ]; then
        # Get fixed IPv6 from client config file
        ipv6=$(sed -nr 's/^.*ifconfig-ipv6-push[ t]+([0-9a-fA-F:]+).*$/1/p' "/etc/openvpn/ccd/$common_name")
fi

# Get IPv6 from IPv4
if [ -z "$ipv6" ]; then
        ipp=$(echo "$ifconfig_pool_remote_ip" | cut -d. -f4)
        if ! [ "$ipp" -ge 2 -a "$ipp" -le 254 ] 2>/dev/null; then
                echo "Invalid IPv4 part."
                exit 1
        fi
        hexipp=$(printf '%x' $ipp)
        ipv6="$prefix$hexipp"
fi

# Delete proxy rule
/sbin/ip -6 neigh del proxy $ipv6 dev eno1

เบชเบฐเบ„เบฃเบดเบšเบ—เบฑเบ‡เบชเบญเบ‡เปƒเบŠเป‰เป„เบŸเบฅเปŒ โ€œ/etc/openvpn/variablesโ€:

# Subnet
prefix=XXXX:XXXX:XXXX:XXXX:2:
# netmask
prefixlen=112

เบ‚เป‰เบญเบเบžเบปเบšเบงเปˆเบฒเบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบˆเบทเปˆเบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบ–เบทเบเบ‚เบฝเบ™เปเบšเบšเบ™เบตเป‰.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ netmask = 112 เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเปเบ›เบ (เบกเบฑเบ™เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™ 96 เบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™).
เปเบฅเบฐเบ„เปเบฒเบ™เปเบฒเบซเบ™เป‰เบฒเปเบกเปˆเบ™เปเบ›เบ, เบกเบฑเบ™เบšเปเปˆเบเบปเบ‡เบเบฑเบšเป€เบ„เบทเบญเบ‚เปˆเบฒเบ tun0.
เปเบ•เปˆเบšเปเปˆเป€เบ›เบฑเบ™เบซเบเบฑเบ‡, เบ‚เป‰เบญเบเบˆเบฐเบ›เปˆเบญเบเปƒเบซเป‰เบกเบฑเบ™เบ„เบทเป€เบเบปเปˆเบฒ.

cipher DES-EDE3-CBC

เบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเบ„เบปเบ™ - เบ‚เป‰เบญเบเป€เบฅเบทเบญเบเบงเบดเบ—เบตเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ™เบตเป‰.

เบชเบถเบเบชเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ OpenVPN IPv4.

เบชเบถเบเบชเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ OpenVPN IPv6.

============= Postfix =============

เบเบฒเบ™เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ”เบซเบผเบฑเบ:

apt-get install postfix

เป€เบกเบทเปˆเบญเบ•เบดเบ”เบ•เบฑเป‰เบ‡, เป€เบฅเบทเบญเบ "เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบญเบดเบ™เป€เบ•เบตเป€เบ™เบฑเบ”".

"/etc/postfix/main.cf" เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบšเบดเปˆเบ‡เบ„เบทเบ”เบฑเปˆเบ‡เบ™เบตเป‰:

smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no

# appending .domain is the MUA's job.
append_dot_mydomain = no

readme_directory = no

# See http://www.postfix.org/COMPATIBILITY_README.html -- default to 2 on
# fresh installs.
compatibility_level = 2

# TLS parameters
smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key
smtpd_use_tls=yes
smtpd_tls_auth_only = yes
smtp_bind_address = XX.XX.XX.X0
smtp_bind_address6 = XXXX:XXXX:XXXX:XXXX:1:1:1:1

smtp_tls_security_level = may
smtp_tls_ciphers = export
smtp_tls_protocols = !SSLv2, !SSLv3
smtp_tls_loglevel = 1

smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = domain1.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = domain1.com
mydestination = localhost
relayhost =
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
inet_protocols = ipv4

internal_mail_filter_classes = bounce

# Storage type
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions =
        permit_sasl_authenticated,
        permit_mynetworks,
        #reject_invalid_hostname,
        #reject_unknown_recipient_domain,
        reject_unauth_destination,
        reject_rbl_client sbl.spamhaus.org,
        check_policy_service unix:private/policyd-spf

smtpd_helo_restrictions =
        #reject_invalid_helo_hostname,
        #reject_non_fqdn_helo_hostname,
        reject_unknown_helo_hostname

smtpd_client_restrictions =
        permit_mynetworks,
        permit_sasl_authenticated,
        reject_non_fqdn_helo_hostname,
        permit

# SPF
policyd-spf_time_limit = 3600

# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock

# IP address per domain
sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre

เปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰.

smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key

เบญเบตเบ‡เบ•เบฒเบกเบŠเบฒเบง Khabrovsk, เบ•เบฑเบ™เบ™เบตเป‰เบกเบต "เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡."เบžเบฝเบ‡เปเบ•เปˆ 8 เบ›เบตเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบ‚เป‰เบญเบเบ‚เป‰เบญเบเบเปเปˆเป€เบฅเบตเปˆเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเบดเบ—เบตเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡ SSL.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ‚เป‰เบญเบเบˆเบฐเบกเบตเบชเบดเบ”เป€เบชเบฅเบตเบžเบฒเบšเปƒเบ™เบเบฒเบ™เบญเบฐเบ—เบดเบšเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ SSL (เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบญเบšเบ„เปเบฒเบ–เบฒเบก "เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเปเบ™เบงเปƒเบ”?" เปเบฅเบฐ "เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบ?").

เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปเบกเปˆเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบ„เบนเปˆเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™ (เบชเบญเบ‡เบชเบฒเบเบเบฒเบงเบซเบผเบฒเบเบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™).

"เบเบฐเปเบˆ" เบญเบฑเบ™เปœเบถเปˆเบ‡เปเบกเปˆเบ™เบชเปˆเบงเบ™เบ•เบปเบง, เบญเบตเบเบเบฐเปเบˆเปเบกเปˆเบ™ "เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ". เบžเบงเบเป€เบฎเบปเบฒเบฎเบฑเบเบชเบฒเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš. เบžเบงเบเป€เบฎเบปเบฒเปเบˆเบเบขเบฒเบเบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเบชเบฐเบ•เบฃเบดเบ‡เป€เบžเบทเปˆเบญเปƒเบซเป‰เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เบกเบฑเบ™เป„เบ”เป‰.
เบ”เบต, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เป€เบ•เบฑเบเป‚เบ™เป‚เบฅเบขเบต.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 1 - เป€เบงเบฑเบšเป„เบŠเบ—เปŒ https.
เป€เบกเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบ”เบซเบ™เบถเปˆเบ‡, เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบฎเบฝเบ™เบฎเบนเป‰เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบงเปˆเบฒเป€เบงเบฑเบšเป„เบŠเบ—เปŒเปเบกเปˆเบ™ https เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบฎเป‰เบญเบ‡เบ‚เปเปƒเบซเป‰เบกเบตเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เป€เบŠเบตเบšเป€เบงเบตเป€เบงเบฑเบšเปƒเบซเป‰เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ. เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ” http-request เปเบฅเบฐเบชเบปเปˆเบ‡เบกเบฑเบ™.
เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป http เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เป‚เบ”เบเบœเบนเป‰เบ—เบตเปˆเบกเบตเบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบžเบฝเบ‡เปเบ•เปˆเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ–เบทเบเป€เบฎเบฑเบ”.
Http-request เบกเบตเบขเปˆเบฒเบ‡เปœเป‰เบญเบ URI. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ–เป‰เบฒเบ›เบฐเป€เบ—เบ”เบซเบ™เบถเปˆเบ‡เบเปเบฒเบฅเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบˆเปเบฒเบเบฑเบ”เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบšเปเปˆเปเบกเปˆเบ™เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ—เบฑเบ‡เบซเบกเบปเบ”, เปเบ•เปˆเป€เบ›เบฑเบ™เบซเบ™เป‰เบฒเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เบเปเปˆเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบฎเบฑเบ”เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒ https.

เบ‚เบฑเป‰เบ™โ€‹เบ•เบญเบ™โ€‹เบ—เบต 2 - เบเบฒเบ™โ€‹เบ•เบญเบšโ€‹เบชเบฐโ€‹เบซเบ™เบญเบ‡โ€‹เป€เบ‚เบปเป‰เบฒโ€‹เบฅเบฐโ€‹เบซเบฑเบ”โ€‹.
เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเปƒเบซเป‰เบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบ‡เปˆเบฒเบเปƒเบ™เบ–เบฐเบซเบ™เบปเบ™.
เบเบฒเบ™เปเบเป‰เป„เบ‚เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ” - เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเปƒเบ™เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบชเป‰เบฒเบ‡เบ„เบนเปˆเบ„เบตเบชเปˆเบงเบ™เบ•เบปเบงเบ”เบฝเบงเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบงเบฑเบšเป„เบŠเบ—เปŒ https.
เปเบฅเบฐเบ„เบฝเบ‡เบ„เบนเปˆเบเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป€เบงเบฑเบšเป„เบŠเบ—เปŒ, เบกเบฑเบ™เบชเบปเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เบ‚เบญเบ‡เบกเบฑเบ™.
เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบˆเบทเปˆเบกเบฑเบ™เปเบฅเบฐ, เป€เบกเบทเปˆเบญเบชเบปเปˆเบ‡ http-response, เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบกเบฑเบ™เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒเบชเบฐเป€เบžเบฒเบฐ.
เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ http-response เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ–เบญเบ”เบฅเบฐเบซเบฑเบ”เป‚เบ”เบเป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเบ‚เบญเบ‡เบฅเบนเบเบ„เป‰เบฒ (เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบฅเบนเบเบ„เป‰เบฒเป€เบญเบ‡).

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 3 - เบเบฒเบ™เบชเป‰เบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบžเบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เบกเบตเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบต 2 - เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เป‰เบญเบ‡เบเบฑเบ™เบœเบนเป‰เบ›เบฒเบ”เบ–เบฐเบซเบ™เบฒเบ—เบตเปˆเบˆเบฐเบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เป http เปเบฅเบฐเปเบเป‰เป„เบ‚เบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ•เบปเบงเบเบฒเบ‡เบˆเบฐเป€เบซเบฑเบ™เป„เบ”เป‰เบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเป€เบ™เบทเป‰เบญเบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ–เบทเบเบชเบปเปˆเบ‡เปเบฅเบฐเป„เบ”เป‰เบฎเบฑเบšเบˆเบปเบ™เบเปˆเบงเบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™.
เบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™เบเบฑเบšเบ™เบตเป‰เปเบกเปˆเบ™เบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ” - เบžเบฝเบ‡เปเบ•เปˆเบชเบปเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป€เบ›เบฑเบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เบตเปˆเบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบš.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบงเบฑเบšเป„เบŠเบ•เปŒเบ—เปเบฒเบญเบดเบ”เบˆเบฐเบชเบปเปˆเบ‡เบ„เปเบฒเบ•เบญเบšเป€เบŠเบฑเปˆเบ™ "เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰" เปเบฅเบฐเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ‚เปเป‰เบ„เบงเบฒเบกเบ™เบตเป‰เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ”เบฝเบงเบเบฑเบ™.
เบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบšเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบ•เบญเบšเบชเบฐเบซเบ™เบญเบ‡ - เบ–เป‰เบฒเบ‚เปเป‰เบ„เบงเบฒเบก "เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเป€เบ›เบฑเบ™เปเบšเบšเบ™เบตเป‰" - เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบฎเบฑเบšเบ›เบฐเบเบฑเบ™ 100% เบงเปˆเบฒเบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ™เบตเป‰เบ›เบญเบ”เป„เบž.
เบกเบฑเบ™เบ›เบญเบ”เป„เบžเบซเบผเบฒเบเบ›เบฒเบ™เปƒเบ”?
เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบ›เบญเบ”เป„เบžเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเป€เบเบตเบ”เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบ„เบงเบฒเบกเป„เบงเบ‚เบญเบ‡ ping*2. เบ•เบปเบงเบขเปˆเบฒเบ‡ 20ms.
เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบ•เป‰เบญเบ‡เบกเบตเบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเบ‚เบญเบ‡เบเปˆเบฒเบเปƒเบ”เบเปˆเบฒเบเปœเบถเปˆเบ‡เบฅเปˆเบงเบ‡เปœเป‰เบฒ. เบซเบผเบทเบŠเบญเบเบซเบฒเบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเปƒเบ™เบชเบญเบ‡เบชเบฒเบกเบกเบดเบฅเบดเบงเบดเบ™เบฒเบ—เบต.
เบเบฒเบ™เปเบฎเบฑเบเบเบฐเปเบˆเบชเปˆเบงเบ™เบ•เบปเบงเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เปเบญเบฑเบ™เปœเบถเปˆเบ‡เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบชเบดเบšเบ›เบตเปƒเบ™เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเบŠเบธเบšเป€เบ›เบตเบ„เบญเบกเบžเบดเบงเป€เบ•เบต.

เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 4 - เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เปเบ™เปˆเบ™เบญเบ™, เปƒเบ™เป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰เบ—เบฑเบ‡เบซเบกเบปเบ”เบกเบตเป‚เบญเบเบฒเบ”เบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเบˆเบฐเบ™เบฑเปˆเบ‡เบขเบนเปˆเปƒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบฅเบนเบเบ„เป‰เบฒเปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ.
เบฅเบนเบเบ„เป‰เบฒเบชเบฒเบกเบฒเบ”เบ—เปเบฒเบ—เปˆเบฒเบงเปˆเบฒเป€เบ›เบฑเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เปเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบชเบฒเบกเบฒเบ”เบ—เปเบฒเบ—เปˆเบฒเบงเปˆเบฒเป€เบ›เบฑเบ™เบฅเบนเบเบ„เป‰เบฒ. เปเบฅเบฐ emulate เบ„เบนเปˆเบ‚เบญเบ‡เบเบฐเปเบˆเปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบ—เบดเบ”เบ—เบฒเบ‡.
เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบœเบนเป‰เป‚เบˆเบกเบ•เบตเบˆเบฐเป€เบซเบฑเบ™เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เปเบฅเบฐเบˆเบฐเบชเบฒเบกเบฒเบ” "เปเบเป‰เป„เบ‚" เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™.
เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ›เปˆเบฝเบ™เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบˆเบฐเบชเบปเปˆเบ‡เป€เบ‡เบดเบ™ เบซเบผเบทเบชเบณเป€เบ™เบปเบฒเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™เบˆเบฒเบเบ—เบฐเบ™เบฒเบ„เบฒเบ™เบญเบญเบ™เป„เบฅเบ™เปŒ เบซเบผเบทเบšเบฅเบฑเบญเบเป€เบ™เบทเป‰เบญเบซเบฒเบ—เบตเปˆ "เบ„เบฑเบ”เบ„เป‰เบฒเบ™".
เป€เบžเบทเปˆเบญเบ•เปเปˆเบชเบนเป‰เบเบฑเบšเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป„เบ”เป‰เบกเบฒเบเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบตเปˆเบกเบตเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบงเบฑเบšเป„เบŠเบ—เปŒ https.
เปเบ•เปˆเบฅเบฐเบ•เบปเบงเบ—เปˆเบญเบ‡เป€เบงเบฑเบš "เบฎเบนเป‰" เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบกเบตเบ›เบฐเบกเบฒเบ™ 200 เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เบญเบฑเบ™เบ™เบตเป‰เบกเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เป„เบงเป‰เบฅเปˆเบงเบ‡เปœเป‰เบฒเปƒเบ™เบ—เบธเบเบšเบฃเบฒเบงเป€เบŠเบต.
"เบ„เบงเบฒเบกเบฎเบนเป‰" เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบˆเบฒเบเปเบ•เปˆเบฅเบฐเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™. เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบปเบ‡เบเบฒเบ™เบขเบฑเป‰เบ‡เบขเบทเบ™เบชเบฐเป€เบžเบฒเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ›เบญเบกเปเบ›เบ‡.

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบกเบตเบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเปƒเบˆเบ‡เปˆเบฒเบเป†เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เปƒเบŠเป‰ SSL เบชเปเบฒเบฅเบฑเบš https.
เบ–เป‰เบฒเบ—เปˆเบฒเบ™เปƒเบŠเป‰เบชเบฐเบซเบกเบญเบ‡เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เบกเบฑเบ™เบˆเบฐเบเบฒเบเป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบšเปเบฅเบดเบเบฒเบ™เบžเบดเป€เบชเบ”เบชเบฒเบกเบฒเบ” hack เบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ™เบตเป‰เป„เบ”เป‰เปเบ™เบงเปƒเบ”. เปเบ•เปˆเบกเบฑเบ™เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ„เบงเบฒเบกเบžเบฐเบเบฒเบเบฒเบกเบญเบฑเบ™เปƒเบซเบเปˆเบซเบผเบงเบ‡.
เปเบฅเบฐเบญเบปเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ‚เบฐเบซเบ™เบฒเบ”เบ™เป‰เบญเบเบเบงเปˆเบฒ NSA เบซเบผเบท CIA - เบกเบฑเบ™เป€เบเบทเบญเบšเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐ hack เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบ›เบปเบเบ›เป‰เบญเบ‡เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบชเปเบฒเบฅเบฑเบš VIPs.

เบ‚เป‰เบญเบเบเบฑเบ‡เบˆเบฐเป€เบžเบตเปˆเบกเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ ssh. เบšเปเปˆเบกเบตเบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™, เป€เบˆเบปเป‰เบฒเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เป„เบ”เป‰เปเบ”เปˆ? เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เบชเบญเบ‡เบ—เบฒเบ‡.
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ ssh-by-password:
เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ„เบฑเป‰เบ‡เบ—เปเบฒเบญเบดเบ”, เบฅเบนเบเบ„เป‰เบฒ ssh เบ„เบงเบ™เป€เบ•เบทเบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบกเบตเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปƒเบซเบกเปˆเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ ssh.
เปเบฅเบฐเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ•เบทเปˆเบกเบญเบตเบ, เบ–เป‰เบฒเบ„เปเบฒเป€เบ•เบทเบญเบ™ "เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเปƒเบซเบกเปˆเบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ ssh" เบ›เบฒเบเบปเบ”, เบกเบฑเบ™เบˆเบฐเบซเบกเบฒเบเบ„เบงเบฒเบกเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบžเบฐเบเบฒเบเบฒเบกเบฅเบฑเบเบŸเบฑเบ‡เป€เบˆเบปเป‰เบฒ.
เบซเบผเบทเบ—เปˆเบฒเบ™เป„เบ”เป‰เบ–เบทเบ eavesdropped เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™, เปเบ•เปˆเปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เปˆเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบชเบทเปˆเบชเบฒเบ™เบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ•เบปเบงเบเบฒเบ‡.
เปเบ—เป‰เบˆเบดเบ‡เปเบฅเป‰เบง, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบเบฒเบ™เบ›เบฒเบ”เบœเปˆเบฒเบ™เบชเบฒเบเป„เบ”เป‰เบ–เบทเบเป€เบ›เบตเบ”เป€เบœเบตเบเป„เบ”เป‰เบ‡เปˆเบฒเบ, เบฅเบงเบ”เป„เบงเปเบฅเบฐเบšเปเปˆเบžเบฐเบเบฒเบเบฒเบก, เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเปเบฅเบฐเบ™เบตเบžเบดเป€เบชเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบนเบเบ„เป‰เบฒเบชเบฐเป€เบžเบฒเบฐ.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบ ssh-by-key:
เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒ flash drive, เบ‚เบฝเบ™เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบชเปเบฒเบฅเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ ssh เปƒเบชเปˆเบกเบฑเบ™ (เบกเบตเบ‚เปเป‰เบเปเบฒเบ™เบปเบ”เปเบฅเบฐเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบซเบผเบฒเบเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบšเป€เบฅเบทเปˆเบญเบ‡เบ™เบตเป‰, เปเบ•เปˆเบ‚เป‰เบญเบเบเปเบฒเบฅเบฑเบ‡เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบกเบเบฒเบ™เบชเบถเบเบชเบฒ, เบšเปเปˆเปเบกเปˆเบ™เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰).
เบžเบงเบเป€เบฎเบปเบฒเบ›เปˆเบญเบเปƒเบซเป‰เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เบ—เบตเปˆเบฅเบนเบเบ„เป‰เบฒ ssh เบˆเบฐเบขเบนเปˆเปเบฅเบฐเบžเบงเบเป€เบฎเบปเบฒเบเบฑเบ‡เบฎเบฑเบเบชเบฒเบกเบฑเบ™เป„เบงเป‰เป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš.
เบžเบงเบเป€เบฎเบปเบฒเป€เบญเบปเบฒ flash drive เป„เบ›เบซเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบ, เปƒเบชเปˆเบกเบฑเบ™, เบ„เบฑเบ”เบฅเบญเบเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบง, เปเบฅเบฐเป€เบœเบปเบฒ flash drive เปเบฅเบฐเบเบฐเปเบˆเบเบเบฐเบˆเบฒเบเบ‚เบตเป‰เป€เบ–เบปเปˆเบฒเบเบฑเบšเบฅเบปเบก (เบซเบผเบทเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ format it with zeros).
เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบ—เบฑเบ‡เบซเบกเบปเบ” - เบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐ hack เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆ ssh เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง. เปเบ™เปˆเบ™เบญเบ™, เปƒเบ™ 10 เบ›เบต, เบกเบฑเบ™เบˆเบฐเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบšเบดเปˆเบ‡เบเบฒเบ™เบˆเบฐเบฅเบฒเบˆเบญเบ™เปƒเบ™ supercomputer - เปเบ•เปˆเบ™เบฑเป‰เบ™เปเบกเปˆเบ™เป€เบฅเบทเปˆเบญเบ‡เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบ‚เป‰เบญเบเบ‚เปเป‚เบ—เบ”เบชเปเบฒเบฅเบฑเบš offtopic.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ—เบตเปˆเบ—เบดเบ”เบชเบฐเบ”เบตเปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบฎเบนเป‰เบˆเบฑเบ. เบ‚เป‰เบญเบเบˆเบฐเบšเบญเบเป€เบˆเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป„เบซเบฅเบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ SSL.

เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ "openssl genrsa" เบžเบงเบเป€เบฎเบปเบฒเบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเปเบฅเบฐ "blanks" เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ.
เบžเบงเบเป€เบฎเบปเบฒเบชเบปเปˆเบ‡ "เบซเบงเปˆเบฒเบ‡เป€เบ›เบปเปˆเบฒ" เป„เบ›เปƒเบซเป‰เบšเปเบฅเบดเบชเบฑเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก, เป€เบŠเบดเปˆเบ‡เบžเบงเบเป€เบฎเบปเบฒเบˆเปˆเบฒเบเบ›เบฐเบกเบฒเบ™ $9 เบชเปเบฒเบฅเบฑเบšเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ—เบตเปˆเบชเบธเบ”.

เบซเบผเบฑเบ‡เบˆเบฒเบเบชเบญเบ‡เบชเบฒเบกเบŠเบปเปˆเบงเป‚เบกเบ‡, เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฎเบฑเบšเบเบฐเปเบˆ "เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ" เบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบŠเบธเบ”เบ‚เบญเบ‡เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบซเบผเบฒเบเบญเบฑเบ™เบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบ™เบตเป‰.

เป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบšเปเบฅเบดเบชเบฑเบ”เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบกเบ„เบงเบ™เบˆเปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบกเปˆเบ™เบ„เปเบฒเบ–เบฒเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบšเปเปˆเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบกเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เบ”เบฝเบงเบ™เบตเป‰เบกเบฑเบ™เบˆเบฐเปเบˆเป‰เบ‡เบงเปˆเบฒเบ„เบงเบฒเบก เปเบฒเบ เบ‚เบญเบ‡เบˆเบฒเบฅเบถเบเปเบกเปˆเบ™เบซเบเบฑเบ‡:

smtpd_tls_key_file=/etc/ssl/domain1.com.2018.key

เป‚เบŸเบ™เป€เบ”เบต โ€œ/etc/sslโ€ เบกเบตเป„เบŸเบฅเปŒเบ—เบฑเบ‡เปเบปเบ”เบชเบณเบฅเบฑเบšเบšเบฑเบ™เบซเบฒ ssl.
domain1.com โ€” เบŠเบทเปˆ เป‚เบ” เป€เบกเบ™.
เบ›เบต 2018 เป€เบ›เบฑเบ™โ€‹เบ›เบตโ€‹เปเบซเปˆเบ‡โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบณโ€‹เบ„เบฑเบ™.
"เบเบฐเปเบˆ" - เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเป„เบŸเบฅเปŒเปเบกเปˆเบ™เบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบง.

เปเบฅเบฐโ€‹เบ„เบงเบฒเบกโ€‹เบซเบกเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบ™เบตเป‰โ€‹:

smtpd_tls_cert_file=/etc/ssl/domain1.com.2018.chained.crt
domain1.com โ€” เบŠเบทเปˆ เป‚เบ” เป€เบกเบ™.
เบ›เบต 2018 เป€เบ›เบฑเบ™โ€‹เบ›เบตโ€‹เปเบซเปˆเบ‡โ€‹เบเบฒเบ™โ€‹เบชเป‰เบฒเบ‡โ€‹เบชเบณโ€‹เบ„เบฑเบ™.
chained - เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบกเบตเบฅเบฐเบšเบปเบšเบ•เปˆเบญเบ‡เป‚เบชเป‰เบ‚เบญเบ‡เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ (เบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเปเบฅเบฐเบชเปˆเบงเบ™เบ—เบตเปˆเป€เบซเบผเบทเบญเปเบกเปˆเบ™เบกเบฒเบˆเบฒเบเบšเปเบฅเบดเบชเบฑเบ”เบ—เบตเปˆเบญเบญเบเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ).
crt - เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบก (เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ—เบตเปˆเบกเบตเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™).

smtp_bind_address = XX.XX.XX.X0
smtp_bind_address6 = XXXX:XXXX:XXXX:XXXX:1:1:1:1

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ™เบตเป‰เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เปเบ•เปˆเบ–เบทเบเบ‚เบฝเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡.

เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เปƒเบ™เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ™เบตเป‰เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™ spam เบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›เบˆเบฒเบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ‚เบญเบ‡เบ—เปˆเบฒเบ™ (เป‚เบ”เบเบšเปเปˆเป„เบ”เป‰เปƒเบˆเบ‚เบญเบ‡เบ—เปˆเบฒเบ™).

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบžเบดเบชเบนเบ”เปƒเบซเป‰เบ—เบธเบเบ„เบปเบ™เบฎเบนเป‰เบงเปˆเบฒเบ—เปˆเบฒเบ™เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบœเบดเบ”.

recipient_delimiter = +

เบซเบผเบฒเบเบ„เบปเบ™เบญเบฒเบ”เบˆเบฐเบšเปเปˆเบฎเบนเป‰, เปเบ•เปˆเบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบญเบตเป€เบกเบง, เปเบฅเบฐเบกเบฑเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบ—เบตเปˆเบชเบธเบ”.

เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบ "[email protected]"เบžเบฐเบเบฒเบเบฒเบกเบชเบปเปˆเบ‡เป„เบ›"[email protected]"- เป€เบšเบดเปˆเบ‡เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบฒเบˆเบฒเบเบกเบฑเบ™.

inet_protocols = ipv4

เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบชเบฑเบšเบชเบปเบ™.

เปเบ•เปˆเบกเบฑเบ™เบšเปเปˆเบ„เบทเบเบฑเบ™. เปเบ•เปˆเบฅเบฐเป‚เบ”เป€เบกเบ™เปƒเบซเบกเปˆเปเบกเปˆเบ™เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบžเบฝเบ‡เปเบ•เปˆ IPv4, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ‚เป‰เบญเบเป€เบ›เบตเบ” IPv6 เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบญเบฑเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบˆเบปเบ”เบซเบกเบฒเบเบ‚เบฒเป€เบ‚เบปเป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เป„เบ›เบซเบฒ dovecot.
เปเบฅเบฐเบเบปเบ”เบฅเบฐเบšเบฝเบšเบชเปเบฒเบฅเบฑเบšเป‚เบ”เป€เบกเบ™, เบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบ, เบ™เบฒเบกเปเบเบ‡ - เป€เบšเบดเปˆเบ‡เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

/etc/postfix/mysql-virtual-mailbox-domains.cf

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_domains WHERE name='%s'

/etc/postfix/mysql-virtual-mailbox-maps.cf

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT 1 FROM virtual_users WHERE email='%s'

/etc/postfix/mysql-virtual-alias-maps.cf

user = usermail
password = mailpassword
hosts = 127.0.0.1
dbname = servermail
query = SELECT destination FROM virtual_aliases WHERE source='%s'

# SMTP-Auth settings
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes

เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™ postfix เบฎเบนเป‰เบงเปˆเบฒ mail เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเบญเบกเบฎเบฑเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบ•เปเปˆเป„เบ›เบžเบฝเบ‡เปเบ•เปˆเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เบเบฑเบš dovecot.

เบ‚เป‰เบญเบเบšเปเปˆเป€เบ‚เบปเป‰เบฒเปƒเบˆเปเบ—เป‰เป†เบงเปˆเบฒเป€เบ›เบฑเบ™เบซเบเบฑเบ‡เบกเบฑเบ™เบŠเปเป‰เบฒเบเบฑเบ™เบขเบนเปˆเบšเปˆเบญเบ™เบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเป„เบ”เป‰เบฅเบฐเบšเบธเบ—เบธเบเบขเปˆเบฒเบ‡เบ—เบตเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™ โ€œvirtual_transportโ€ เปเบฅเป‰เบง.

เปเบ•เปˆเบฅเบฐเบšเบปเบš postfix เปเบกเปˆเบ™เป€เบเบปเปˆเบฒเบซเบผเบฒเบ - เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบเบฒเบ™เบ–เบดเป‰เบกเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเบˆเบฒเบเบชเบฐ เป„เป เบเปˆเบญเบ™.

smtpd_recipient_restrictions =
        ...

smtpd_helo_restrictions =
        ...

smtpd_client_restrictions =
        ...

เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅ.

เบ‚เป‰เบญเบเบกเบต 3 เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบขเบนเปˆเปƒเบ™เบเบฒเบ™เบเปเบฒเบˆเบฑเบ”เบ‚เบญเบ‡เบ‚เป‰เบญเบเปเบฅเบฐเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบผเบฒเบเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™.

เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบกเบฑเบ™เบขเปˆเบฒเบ‡เบฅเบฐเบกเบฑเบ”เบฅเบฐเบงเบฑเบ‡ - เบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™ spam เบˆเบฐเป„เบซเบฅเบกเบฒเบซเบฒเบ—เปˆเบฒเบ™, เบซเบผเบทเบฎเป‰เบฒเบเปเบฎเบ‡เบเบงเปˆเบฒเป€เบเบปเปˆเบฒ - spam เบˆเบฐเป„เบซเบผเบˆเบฒเบเบ—เปˆเบฒเบ™.

# SPF
policyd-spf_time_limit = 3600

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบชเปเบฒเบฅเบฑเบšเบšเบฒเบ‡ plugin เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบš SPF เบ‚เบญเบ‡เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ—เบตเปˆเป€เบ‚เบปเป‰เบฒเบกเบฒ.

# OpenDKIM
milter_default_action = accept
milter_protocol = 6
smtpd_milters = unix:var/run/opendkim/opendkim.sock
non_smtpd_milters = unix:var/run/opendkim/opendkim.sock

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบ•เป‰เบญเบ‡เปƒเบซเป‰เบฅเบฒเบเป€เบŠเบฑเบ™ DKIM เบเบฑเบšเบญเบตเป€เบกเบงเบ‚เบฒเบญเบญเบเบ—เบฑเบ‡เบซเบกเบปเบ”.

# IP address per domain
sender_dependent_default_transport_maps = pcre:/etc/postfix/sdd_transport.pcre

เบ™เบตเป‰เปเบกเปˆเบ™เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เป€เบชเบฑเป‰เบ™เบ—เบฒเบ‡เบˆเบปเบ”เบซเบกเบฒเบเปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเบปเปˆเบ‡เบˆเบปเบ”เบซเบกเบฒเบเบˆเบฒเบ PHP scripts.

เป„เบŸเบฅเปŒ โ€œ/etc/postfix/sdd_transport.pcreโ€:

/^[email protected]$/ domain1:
/^[email protected]$/ domain2:
/^[email protected]$/ domain3:
/@domain1.com$/             domain1:
/@domain2.com$/             domain2:
/@domain3.com$/             domain3:

เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบŠเป‰เบฒเบเปเบกเปˆเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเบ›เบปเบเบเบฐเบ•เบด. เบขเบนเปˆเป€เบšเบทเป‰เบญเบ‡เบ‚เบงเบฒเปเบกเปˆเบ™เบ›เป‰เบฒเบเบ—เบตเปˆเปเบฒเบเป€เบ–เบดเบ‡เบ•เบปเบงเปœเบฑเบ‡เบชเบท.
Postfix เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ›เป‰เบฒเบเบŠเบทเปˆ - เบˆเบฐเบ„เปเบฒเบ™เบถเบ‡เป€เบ–เบดเบ‡เบชเบฒเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบซเบผเบฒเบเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบชเบฐเป€เบžเบฒเบฐ.

เบงเบดเบ—เบตเบเบฒเบ™ postfix เบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเปƒเบซเบกเปˆเบชเปเบฒเบฅเบฑเบšเบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเป€เบžเบฒเบฐเบˆเบฐเบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™ "master.cf".

เปเบ–เบง 4, 5, 6 เปเบกเปˆเบ™เบชเบฒเบเบซเบผเบฑเบ. เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เป‚เบ”เป€เบกเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡เบชเบปเปˆเบ‡เบˆเบปเบ”เบซเบกเบฒเบ, เบžเบงเบเป€เบฎเบปเบฒเปƒเบชเปˆเบ›เป‰เบฒเบเบ™เบตเป‰.
เปเบ•เปˆเบžเบฒเบเบชเบฐเบซเบ™เบฒเบก "เบˆเบฒเบ" เบšเปเปˆเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบชเบฐเบ„เบดเบš PHP เปƒเบ™เบฅเบฐเบซเบฑเบ”เป€เบเบปเปˆเบฒ. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰เบกเบฒเบเบนเป‰เป„เบž.

เบšเบปเบ”เบ„เบงเบฒเบกเปเบกเปˆเบ™เบเบงเป‰เบฒเบ‡เบ‚เบงเบฒเบ‡เปเบฅเป‰เบง - เบ‚เป‰เบญเบเบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเบฅเบปเบšเบเบงเบ™เป‚เบ”เบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ nginx+fpm.

เป‚เบ”เบเบซเบเปเป‰, เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเป€เบงเบฑเบšเป„เบŠเบ—เปŒเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบ™เบปเบ”เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡ linux-user เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เปเบฅเบฐเบ•เบฒเบกเบ™เบฑเป‰เบ™, fpm-pool เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

Fpm-pool เปƒเบŠเป‰ php เบฎเบธเปˆเบ™เปƒเบ”เบเปเปˆเบ•เบฒเบก (เบกเบฑเบ™เบ”เบตเบซเบผเบฒเบเป€เบกเบทเปˆเบญเบขเบนเปˆเปƒเบ™เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ”เบฝเบงเบเบฑเบ™เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰ php เบฎเบธเปˆเบ™เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡ php.ini เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเป€เบงเบฑเบšเป„เบŠเบ—เปŒเปƒเบเป‰เบ„เบฝเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบšเบฑเบ™เบซเบฒ).

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบœเบนเป‰เปƒเบŠเป‰ linux เบชเบฐเป€เบžเบฒเบฐ "www-domain2" เบกเบตเป€เบงเบฑเบšเป„เบŠเบ—เปŒ domain2.com. เป€เบงเบฑเบšเป„เบŠเบ—เปŒเบ™เบตเป‰เบกเบตเบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบญเบตเป€เบกเบงเป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบฅเบฐเบšเบธเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบ.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบˆเบปเบ”เบซเบกเบฒเบเบˆเบฐเบ–เบทเบเบชเบปเปˆเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡เปเบฅเบฐเบˆเบฐเบšเปเปˆเบชเบดเป‰เบ™เบชเบธเบ”เปƒเบ™ spam.

"/etc/postfix/master.cf" เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบšเบดเปˆเบ‡เบ„เบทเบ”เบฑเปˆเบ‡เบ™เบตเป‰:

...
smtp      inet  n       -       y       -       -       smtpd
  -o content_filter=spamassassin
...
submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject
...
policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf

spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}
...
domain1  unix -       -       n       -       -       smtp
   -o smtp_bind_address=XX.XX.XX.X1
   -o smtp_helo_name=domain1.com
   -o inet_protocols=all
   -o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:1:1
   -o syslog_name=postfix-domain1

domain2  unix -       -       n       -       -       smtp
   -o smtp_bind_address=XX.XX.XX.X5
   -o smtp_helo_name=domain2.com
   -o inet_protocols=all
   -o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:2:1:1
   -o syslog_name=postfix-domain2

domain3  unix -       -       n       -       -       smtp
   -o smtp_bind_address=XX.XX.XX.X2
   -o smtp_helo_name=domain3
   -o inet_protocols=all
   -o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:5:1
   -o syslog_name=postfix-domain3

เป„เบŸเบฅเปŒเบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบชเบฐเบซเบ™เบญเบ‡เปƒเบซเป‰เป€เบ•เบฑเบก - เบกเบฑเบ™เบกเบตเบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบซเบผเบฒเบ.
เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบžเบฝเบ‡เปเบ•เปˆเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡.

smtp      inet  n       -       y       -       -       smtpd
  -o content_filter=spamassassin
...
spamassassin unix -     n       n       -       -       pipe
    user=spamd argv=/usr/bin/spamc -f -e
    /usr/sbin/sendmail -oi -f ${sender} ${recipient}

เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš spamassasin, เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบงเปˆเบฒเบ•เปเปˆเบกเบฒ.

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes
  -o smtpd_client_restrictions=permit_sasl_authenticated,reject

เบžเบงเบเป€เบฎเบปเบฒเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบšเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบœเปˆเบฒเบ™เบžเบญเบ” 587.
เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบ—เปˆเบฒเบ™เบ•เป‰เบญเบ‡เป€เบ‚เบปเป‰เบฒเบชเบนเปˆเบฅเบฐเบšเบปเบš.

policyd-spf  unix  -       n       n       -       0       spawn
    user=policyd-spf argv=/usr/bin/policyd-spf

เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบเบงเบ”เบชเบญเบš SPF.

apt-get install postfix-policyd-spf-python

เปƒเบซเป‰เบ•เบดเบ”เบ•เบฑเป‰เบ‡เบŠเบธเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบš SPF เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

domain1  unix -       -       n       -       -       smtp
   -o smtp_bind_address=XX.XX.XX.X1
   -o smtp_helo_name=domain1.com
   -o inet_protocols=all
   -o smtp_bind_address6=XXXX:XXXX:XXXX:XXXX:1:1:1:1
   -o syslog_name=postfix-domain1

เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเบ—เบตเปˆเบชเบธเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเบปเปˆเบ‡เบˆเบปเบ”เบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบšเป‚เบ”เป€เบกเบ™เบชเบฐเป€เบžเบฒเบฐเบˆเบฒเบเบ—เบตเปˆเบขเบนเปˆ IPv4/IPv6 เบชเบฐเป€เบžเบฒเบฐ.

เบ™เบตเป‰เปเบกเปˆเบ™เป€เบฎเบฑเบ”เป€เบžเบทเปˆเบญเบœเบปเบ™เบ›เบฐเป‚เบซเบเบ”เบ‚เบญเบ‡ rDNS. rDNS เปเบกเปˆเบ™เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบฎเบฑเบšเบชเบฒเบเป‚เบ”เบเบ—เบตเปˆเบขเบนเปˆ IP.
เปเบฅเบฐเบชเปเบฒเบฅเบฑเบš mail, เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ™เบตเป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบขเบทเบ™เบขเบฑเบ™เบงเปˆเบฒ helo เบเบปเบ‡เบเบฑเบš rDNS เบ‚เบญเบ‡เบ—เบตเปˆเบขเบนเปˆเบ—เบตเปˆเบญเบตเป€เบกเบงเบ–เบทเบเบชเบปเปˆเบ‡.

เบ–เป‰เบฒ helo เบšเปเปˆเบเบปเบ‡เบเบฑเบšเป‚เบ”เป€เบกเบ™เบญเบตเป€เบกเบฅเปŒเปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เบœเบนเป‰เบ—เบตเปˆเบˆเบปเบ”เบซเบกเบฒเบเบ–เบทเบเบชเบปเปˆเบ‡เป„เบ›, เบˆเบธเบ”เบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปเบกเปˆเบ™เป„เบ”เป‰เบฎเบฑเบšเบฅเบฒเบ‡เบงเบฑเบ™.

Helo เบšเปเปˆเบเบปเบ‡เบเบฑเบš rDNS - เบซเบผเบฒเบเบˆเบธเบ”เบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเป„เบ”เป‰เบฎเบฑเบšเบฎเบฒเบ‡เบงเบฑเบ™.
เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปเบ•เปˆเบฅเบฐเป‚เบ”เป€เบกเบ™เบ•เป‰เบญเบ‡เบกเบตเบ—เบตเปˆเบขเบนเปˆ IP เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.
เบชเปเบฒเบฅเบฑเบš OVH - เปƒเบ™ console เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฅเบฐเบšเบธ rDNS.
เบชเปเบฒเบฅเบฑเบš tech.ru - เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™.
เบชเปเบฒเบฅเบฑเบš AWS, เบšเบฑเบ™เบซเบฒเป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เป‚เบ”เบเบœเปˆเบฒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™.
"inet_protocols" เปเบฅเบฐ "smtp_bind_address6" - เบžเบงเบเป€เบฎเบปเบฒเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™ IPv6.
เบชเปเบฒเบฅเบฑเบš IPv6 เบ—เปˆเบฒเบ™เบเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™ rDNS.
"syslog_name" - เปเบฅเบฐเบ™เบตเป‰เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เบญเปˆเบฒเบ™เบšเบฑเบ™เบ—เบถเบ.

เบŠเบทเป‰เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒเบ—เบตเปˆเบ™เบตเป‰.

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบฅเบดเป‰เบ‡ postfix+dovecot เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ SPF.

============= Dovecot =============

apt-get install dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-mysql dovecot-antispam

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ mysql, เบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”เบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/10-auth.conf"

disable_plaintext_auth = yes
auth_mechanisms = plain login

เบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปเบกเปˆเบ™เบ–เบทเบเป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™.

เป„เบŸเบฅเปŒ โ€œ/etc/dovecot/conf.d/10-mail.confโ€

mail_location = maildir:/var/mail/vhosts/%d/%n

เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบŠเบตเป‰เบšเบญเบเบชเบฐเบ–เบฒเบ™เบ—เบตเปˆเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™.

เบ‚เป‰เบญเบเบ•เป‰เบญเบ‡เบเบฒเบ™เปƒเบซเป‰เบžเบงเบเป€เบ‚เบปเบฒเบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒเปเบฅเบฐเบˆเบฑเบ”เบเบธเปˆเบกเป‚เบ”เบเป‚เบ”เป€เบกเบ™.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/10-master.conf"

service imap-login {
  inet_listener imap {
    port = 0
  }
  inet_listener imaps {
    address = XX.XX.XX.X1, XX.XX.XX.X2, XX.XX.XX.X5, [XXXX:XXXX:XXXX:XXXX:1:1:1:1], [XXXX:XXXX:XXXX:XXXX:1:2:1:1], [XXXX:XXXX:XXXX:XXXX:1:1:5:1]
    port = 993
    ssl = yes
  }
}
service pop3-login {
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    address = XX.XX.XX.X1, XX.XX.XX.X2, XX.XX.XX.X5, [XXXX:XXXX:XXXX:XXXX:1:1:1:1], [XXXX:XXXX:XXXX:XXXX:1:2:1:1], [XXXX:XXXX:XXXX:XXXX:1:1:5:1]
    port = 995
    ssl = yes
  }
}
service lmtp {
  unix_listener /var/spool/postfix/private/dovecot-lmtp {
    mode = 0600
    user = postfix
    group = postfix
  }
}
service imap {
}
service pop3 {
}
service auth {
  unix_listener auth-userdb {
    mode = 0600
    user = vmail
  }

  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
  user = dovecot
}
service auth-worker {
  user = vmail
}
service dict {
  unix_listener dict {
  }
}

เบ™เบตเป‰เปเบกเปˆเบ™เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ dovecot เบ•เบปเป‰เบ™เบ•เป.
เปƒเบ™เบ—เบตเปˆเบ™เบตเป‰เบžเบงเบเป€เบฎเบปเบฒเบ›เบดเบ”เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบšเปเปˆเบ›เบญเบ”เป„เบž.
เปเบฅเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบž.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/10-ssl.conf"

ssl = required
ssl_cert = </etc/nginx/ssl/domain1.com.2018.chained.crt
ssl_key = </etc/nginx/ssl/domain1.com.2018.key
local XX.XX.XX.X5 {
  ssl_cert = </etc/nginx/ssl/domain2.com.2018.chained.crt
  ssl_key =  </etc/nginx/ssl/domain2.com.2018.key
}

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ ssl. เบžเบงเบเป€เบฎเบปเบฒเบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบ•เป‰เบญเบ‡เบเบฒเบ™ ssl.
เปเบฅเบฐเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡. เปเบฅเบฐเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ "เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™". เบŠเบตเป‰เบšเบญเบเบงเปˆเบฒเบˆเบฐเปƒเบŠเป‰เปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ SSL เปƒเบ”เป€เบกเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš IPv4 เบ—เป‰เบญเบ‡เบ–เบดเปˆเบ™เปƒเบ”.

เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, IPv6 เบšเปเปˆเป„เบ”เป‰เบ–เบทเบเบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰, เบ‚เป‰เบญเบเบˆเบฐเปเบเป‰เป„เบ‚เบเบฒเบ™เบฅเบฐเป€เบงเบฑเป‰เบ™เบ™เบตเป‰เปƒเบ™เบžเบฒเบเบซเบผเบฑเบ‡.
XX.XX.XX.X5 (domain2) - เบšเปเปˆเบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™. เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒเบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบฐเบšเบธ domain1.com.
XX.XX.XX.X2 (domain3) - เบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ” domain1.com เบซเบผเบท domain3.com เป€เบžเบทเปˆเบญเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบนเบเบ„เป‰เบฒ.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/15-lda.conf"

protocol lda {
  mail_plugins = $mail_plugins sieve
}

เบ™เบตเป‰เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เบชเปเบฒเบฅเบฑเบš spamassin เปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/20-imap.conf"

protocol imap {
  mail_plugins = $mail_plugins antispam
}

เบ™เบตเป‰เปเบกเปˆเบ™ plugin antispam. เบ•เป‰เบญเบ‡เบเบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก spamassasin เปƒเบ™เป€เบงเบฅเบฒเป‚เบญเบ™เป„เบ›เบซเบฒ / เบˆเบฒเบเป‚เบŸเบ™เป€เบ”เบต "Spam".

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/20-pop3.conf"

protocol pop3 {
}

เบกเบตเบžเบฝเบ‡เปเบ•เปˆเป„เบŸเบฅเปŒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

เป„เบŸเบฅเปŒ โ€œ/etc/dovecot/conf.d/20-lmtp.confโ€

protocol lmtp {
  mail_plugins = $mail_plugins sieve
  postmaster_address = [email protected]
}

เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ lmtp.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/90-antispam.conf"

plugin {
  antispam_backend = pipe
  antispam_trash = Trash;trash
  antispam_spam = Junk;Spam;SPAM
  antispam_pipe_program_spam_arg = --spam
  antispam_pipe_program_notspam_arg = --ham
  antispam_pipe_program = /usr/bin/sa-learn
  antispam_pipe_program_args = --username=%Lu
}

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก Spamassasin เปƒเบ™เป€เบงเบฅเบฒเป‚เบญเบ™เป„เบ›เบซเบฒ / เบˆเบฒเบเป‚เบŸเบ™เป€เบ”เบต Spam.

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/90-sieve.conf"

plugin {
  sieve = ~/.dovecot.sieve
  sieve_dir = ~/sieve
  sieve_after = /var/lib/dovecot/sieve/default.sieve
}

เป„เบŸเบฅเปŒเบ—เบตเปˆเบฅเบฐเบšเบธเบงเปˆเบฒเบˆเบฐเป€เบฎเบฑเบ”เปเบ™เบงเปƒเบ”เบเบฑเบšเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ‚เบฒเป€เบ‚เบปเป‰เบฒ.

เป„เบŸเบฅเปŒ "/var/lib/dovecot/sieve/default.sieve"

require ["fileinto", "mailbox"];

if header :contains "X-Spam-Flag" "YES" {
        fileinto :create "Spam";
}

เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบฅเบงเบšเบฅเบงเบกเป„เบŸเบฅเปŒ: "sievec default.sieve".

เป„เบŸเบฅเปŒ "/etc/dovecot/conf.d/auth-sql.conf.ext"

passdb {
  driver = sql
  args = /etc/dovecot/dovecot-sql.conf.ext
}
userdb {
  driver = static
  args = uid=vmail gid=vmail home=/var/mail/vhosts/%d/%n
}

เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เป„เบŸเบฅเปŒ sql เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”.
เปเบฅเบฐเป„เบŸเบฅเปŒเบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบ›เบฑเบ™เบงเบดเบ—เบตเบเบฒเบ™เบญเบฐเบ™เบธเบเบฒเบ”.

เป„เบŸเบฅเปŒ "/etc/dovecot/dovecot-sql.conf.ext"

driver = mysql
connect = host=127.0.0.1 dbname=servermail user=usermail password=password
default_pass_scheme = SHA512-CRYPT
password_query = SELECT email as user, password FROM virtual_users WHERE email='%u';

เบ™เบตเป‰เบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบชเปเบฒเบฅเบฑเบš postfix.

เป„เบŸเบฅเปŒ "/etc/dovecot/dovecot.conf"

protocols = imap lmtp pop3
listen = *, ::
dict {
}
!include conf.d/*.conf
!include_try local.conf

เป„เบŸเบฅเปŒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ•เบปเป‰เบ™เบ•เป.
เบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบงเปˆเบฒเบžเบงเบเป€เบฎเบปเบฒเบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰ - เป€เบžเบตเปˆเบกเป‚เบ›เป‚เบ•เบ„เบญเบ™.

============= SpamAssassin =============

apt-get install spamassassin spamc

เปƒเบซเป‰เป€เบฎเบปเบฒเบ•เบดเบ”เบ•เบฑเป‰เบ‡เปเบžเบฑเบเป€เบเบฑเบ”.

adduser spamd --disabled-login

เปƒเบซเป‰เป€เบžเบตเปˆเบกเบœเบนเป‰เปƒเบŠเป‰เปƒเบ™เบ™เบฒเบกเบ‚เบญเบ‡เปƒเบœ.

systemctl enable spamassassin.service

เบžเบงเบโ€‹เป€เบฎเบปเบฒโ€‹เป€เบ›เบตเบ”โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹เบเบฒเบ™โ€‹เบšเปโ€‹เบฅเบดโ€‹เบเบฒเบ™ spamassassin เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹เบญเบฑเบ”โ€‹เบ•เบฐโ€‹เป‚เบ™โ€‹เบกเบฑเบ”โ€‹เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบเบฒเบ™โ€‹เป‚เบซเบผเบ”โ€‹.

เป„เบŸเบฅเปŒ "/etc/default/spamassassin":

CRON=1

เป‚เบ”เบเบเบฒเบ™เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบเบปเบ”เบฅเบฐเบšเบฝเบšเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ” "เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™".

เป„เบŸเบฅเปŒ โ€œ/etc/spamassassin/local.cfโ€:

report_safe 0

use_bayes          1
bayes_auto_learn   1
bayes_auto_expire  1
bayes_store_module Mail::SpamAssassin::BayesStore::MySQL
bayes_sql_dsn      DBI:mysql:sa:localhost:3306
bayes_sql_username sa
bayes_sql_password password

เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ "sa" เปƒเบ™ mysql เบเบฑเบšเบœเบนเป‰เปƒเบŠเป‰ "sa" เบ”เป‰เบงเบเบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™ "เบฅเบฐเบซเบฑเบ”เบœเปˆเบฒเบ™" (เปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบชเบดเปˆเบ‡เบ—เบตเปˆเบžเบฝเบ‡เบžเป).

report_safe - เบ™เบตเป‰เบˆเบฐเบชเบปเปˆเบ‡เบšเบปเบ”เบฅเบฒเบเบ‡เบฒเบ™เบ‚เบญเบ‡เบญเบตเป€เบกเบงเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญเปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบˆเบปเบ”เบซเบกเบฒเบ.
use_bayes เปเบกเปˆเบ™เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰เป€เบ„เบทเปˆเบญเบ‡เบˆเบฑเบ spamassassin.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒ spamassassin เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบก.

เบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ—เบปเปˆเบงเป„เบ› "spamassassin".
เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบเป‰เบฒเบเบญเบตเป€เบกเบง Spam เปƒเปเปˆเป„เบ›เบซเบฒเป‚เบŸเบ™เป€เบ”เบต IMAP โ€œSpamโ€.
เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ—เบตเปˆเบ‡เปˆเบฒเบเบ”เบฒเบเบ‚เบญเบ‡ Dovecot + SpamAssassin.
เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบญเปˆเบฒเบ™เบ—เบดเบ”เบชเบฐเบ”เบตเบเบฒเบ™เบฎเบฝเบ™เบฎเบนเป‰ spamassasin เป€เบกเบทเปˆเบญเบเป‰เบฒเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เปƒเบ™เป‚เบŸเบ™เป€เบ”เบต imap (เปเบฅเบฐเบ‚เป‰เบญเบเบšเปเปˆเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เปƒเบŠเป‰เบกเบฑเบ™).

============= เบ‚เปเบญเบธเบ—เบญเบ™เบเบฑเบšเบŠเบธเบกเบŠเบปเบ™ =============

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

เป€เบžเบทเปˆเบญเปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ„เบนเปˆเบ‚เบญเบ‡เบ„เบตเปƒเบ™เบฅเบนเบเบ„เป‰เบฒเบ‚เบญเบ‡เบฅเบฒเบง (outlook, thunderbird, browser-plugin, ... ). เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ เปเบฅเบฐเป€เบญเบเบฐเบŠเบปเบ™. เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ - เบชเบปเปˆเบ‡เป„เบ›เบซเบฒ DNS. เบชเปˆเบงเบ™เบ•เบปเบง - เบ›เบฐเบซเบเบฑเบ”เบฅเบนเบเบ„เป‰เบฒ. เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบˆเบฐเบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เป„เบ›เบซเบฒเบœเบนเป‰เบฎเบฑเบšเบชเบฐเป€เบžเบฒเบฐ.

เปเบฅเบฐเป€เบžเบทเปˆเบญเบ›เป‰เบญเบ‡เบเบฑเบ™ spam เบ”เป‰เบงเบเบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง (เปเบกเปˆเบ™เปเบฅเป‰เบง, เป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเป€เบกเบฅเบˆเบฐเบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เป€เบ™เบทเป‰เบญเบซเบฒเป„เบ”เป‰) - เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เปเบ™เบฐเบ™เปเบฒ 3 เบเบปเบ”เบฅเบฐเบšเบฝเบš:

  1. เบฅเบฒเบเป€เบŠเบฑเบ™ DKIM เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบšเบฑเบ‡เบ„เบฑเบš, SPF เบšเบฑเบ‡เบ„เบฑเบš, rDNS เบšเบฑเบ‡เบ„เบฑเบš.
  2. เป€เบ„เบทเบญเบ‚เปˆเบฒเบ neural เบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบเบถเบเบญเบปเบšเบฎเบปเบก antispam + เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ.
  3. เบ‚เบฑเป‰เบ™เบ•เบญเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เปเบšเบšเบ™เบฑเป‰เบ™เบ—เบตเปˆเบเปˆเบฒเบเบชเบปเปˆเบ‡เบ•เป‰เบญเบ‡เปƒเบŠเป‰เบžเบฐเบฅเบฑเบ‡เบ‡เบฒเบ™ CPU เบซเบผเบฒเบเบเบงเปˆเบฒ 100 เป€เบ—เบปเปˆเบฒเปƒเบ™เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบฅเบฐเบซเบฑเบ”เบซเบผเบฒเบเบเบงเปˆเบฒเบ”เป‰เบฒเบ™เบฎเบฑเบš.

เบ™เบญเบเป€เบซเบ™เบทเบญเป„เบ›เบˆเบฒเบเบˆเบปเบ”เบซเบกเบฒเบเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐ, เบžเบฑเบ”เบ—เบฐเบ™เบฒเบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเป€เบซเบ™เบตเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™ "เป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบž." เบซเบ™เบถเปˆเบ‡เปƒเบ™เบœเบนเป‰เปƒเบŠเป‰ (เบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบ) เบชเบปเปˆเบ‡เบˆเบปเบ”เบซเบกเบฒเบเบ—เบตเปˆเบกเบตเป„เบŸเบฅเปŒเปเบ™เบšเป„เบ›เบซเบฒเบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบเบญเบทเปˆเบ™. เบˆเบปเบ”เบซเบกเบฒเบเบชเบฐเบšเบฑเบšเบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเป€เบซเบ™เบตเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบžเบทเปˆเบญเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบชเบทเปˆเบชเบฒเบ™เบ—เบตเปˆเบ›เบญเบ”เป„เบžเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบžเบปเบงเบžเบฑเบ™เปเบฅเบฐเบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบเปˆเบญเบ‡เบˆเบปเบ”เบซเบกเบฒเบ (เบกเบตเบฅเบฐเบซเบฑเบ”เบชเปˆเบงเบ™เบ•เบปเบงเบขเบนเปˆเบเปˆเบฒเบเบฅเบนเบเบ„เป‰เบฒ).

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

เป€เบžเบทเปˆเบญเบ•เป‰เบฒเบ™เบเบฒเบ™เบ‚เบฑเบ”เบ‚เบงเบฒเบ‡เบ‚เบญเบ‡เบเบฐเปเบˆเบขเบนเปˆเปƒเบ™เบ–เบฐเบซเบ™เบปเบ™, เป‚เบ›เป‚เบ•เบ„เบญเบ™เบ•เป‰เบญเบ‡เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ‚เบญเบ‡เบเบฒเบ™เบชเบปเปˆเบ‡เบฅเบฐเบซเบฑเบ”เบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบเบซเบ™เบถเปˆเบ‡เบญเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰ flash drive.

เปเบฅเบฐเบชเบดเปˆเบ‡เบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เบกเบฑเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบฑเบ‡เบซเบกเบปเบ” (เบ„เปเบฒเบ–เบฒเบกเปเบกเปˆเบ™ "เปƒเบœเบˆเบฐเบˆเปˆเบฒเบเบ„เปˆเบฒเบกเบฑเบ™?"):
เปƒเบชเปˆเปƒเบšเบฎเบฑเบšเบฎเบญเบ‡เบ—เบฒเบ‡เป„เบ›เบชเบฐเบ™เบตเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เบตเปˆ $10 เป€เบ›เบฑเบ™เป€เบงเบฅเบฒ 3 เบ›เบต. เป€เบŠเบดเปˆเบ‡เบˆเบฐเบŠเปˆเบงเบเปƒเบซเป‰เบœเบนเป‰เบชเบปเปˆเบ‡เบŠเบตเป‰เบšเบญเบเปƒเบ™ dns เบงเปˆเบฒ "เบเบฐเปเบˆเบชเบฒเบ—เบฒเบฅเบฐเบ™เบฐเบ‚เบญเบ‡เบ‚เป‰เบญเบเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™." เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเปƒเบซเป‰เบ—เปˆเบฒเบ™เบกเบตเป‚เบญเบเบฒเบ”เบ—เบตเปˆเบˆเบฐเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบž. เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™, เบเบฒเบ™เบเบญเบกเบฎเบฑเบšเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบšเปเปˆเป€เบชเบเบ„เปˆเบฒ.
gmail เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™ monetizing เบœเบนเป‰เปƒเบŠเป‰เบ‚เบญเบ‡เบ•เบปเบ™. เบชเปเบฒเบฅเบฑเบš $10 เบ•เปเปˆ 3 เบ›เบต - เบชเบดเบ”เบ—เบดเปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เปเปˆเบ—เบตเปˆเบ›เบญเบ”เป„เบž.

============= เบชเบฐเบซเบผเบธเบš =============

เป€เบžเบทเปˆเบญเบ—เบปเบ”เบชเบญเบšเบšเบปเบ”เบ„เบงเบฒเบกเบ—เบฑเบ‡เบซเบกเบปเบ”, เบ‚เป‰เบญเบเบˆเบฐเป€เบŠเบปเปˆเบฒเป€เบ„เบทเปˆเบญเบ‡เปเบกเปˆเบ‚เปˆเบฒเบเบ—เบตเปˆเบญเบธเบ—เบดเบ”เบ•เบปเบ™เป€เบ›เบฑเบ™เป€เบงเบฅเบฒเบซเบ™เบถเปˆเบ‡เป€เบ”เบทเบญเบ™เปเบฅเบฐเบŠเบทเป‰เป‚เบ”เป€เบกเบ™เบ—เบตเปˆเบกเบตเปƒเบšเบขเบฑเป‰เบ‡เบขเบทเบ™ SSL.

โ€‹เปเบ•เปˆโ€‹เบชเบฐเบžเบฒเบšโ€‹เบŠเบตเบงเบดเบ”โ€‹เป„เบ”เป‰โ€‹เบžเบฑเบ”เบ—เบฐเบ™เบฒโ€‹เบ‚เบถเป‰เบ™โ€‹เบˆเบปเบ™โ€‹เบšเบฑเบ™เบซเบฒโ€‹เบ™เบตเป‰โ€‹เป€เบเบตเบ”โ€‹เบ‚เบถเป‰เบ™โ€‹เป€เบ›เบฑเบ™โ€‹เป€เบงเบฅเบฒ 2 เป€เบ”เบทเบญเบ™.
เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เป€เบกเบทเปˆเบญเบ‚เป‰เบญเบเบกเบตเป€เบงเบฅเบฒเบซเบงเปˆเบฒเบ‡เบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡, เบ‚เป‰เบญเบเป„เบ”เป‰เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ—เบตเปˆเบˆเบฐเบžเบดเบกเบšเบปเบ”เบ„เบงเบฒเบกเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเบกเบตเบ„เบงเบฒเบกเบชเปˆเบฝเบ‡เบ—เบตเปˆเบชเบดเปˆเบ‡เบžเบดเบกเบˆเบฐเบฅเบฒเบเป„เบ›เบญเบตเบเบ›เบตเบซเบ™เบถเปˆเบ‡.

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

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

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


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

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