рдбреЗрдмрд┐рдпрди + рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ + рдбреЛрд╡реНрд╣рдХреЛрдЯ + рдорд▓реНрдЯреАрдбреЛрдореЗрди + SSL + IPv6 + OpenVPN + рдорд▓реНрдЯреА-рдЗрдВрдЯрд░рдлреЗрд╕реЗрд╕ + SpamAssassin-learn + Bind

рд╣рд╛ рд▓реЗрдЦ рдЖрдзреБрдирд┐рдХ рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рд╕реЗрдЯ рдХрд░рд╛рдпрдЪрд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ.
рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ + рдбреЛрд╡реНрд╣рдХреЛрдЯ. SPF + DKIM + rDNS. IPv6 рд╕рд╣.
TSL рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдирд╕рд╣. рдПрдХрд╛рдзрд┐рдХ рдбреЛрдореЗрдирд╕рд╛рдареА рд╕рдорд░реНрдердирд╛рд╕рд╣ - рд╡рд╛рд╕реНрддрд╡рд┐рдХ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╣ рднрд╛рдЧ.
рдЕрдБрдЯреАрд╕реНрдкреЕрдо рд╕рдВрд░рдХреНрд╖рдгрд╛рд╕рд╣ рдЖрдгрд┐ рдЗрддрд░ рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдЙрдЪреНрдЪ рдЕрдБрдЯреАрд╕реНрдкреЕрдо рд░реЗрдЯрд┐рдВрдЧрд╕рд╣.
рдПрдХрд╛рдзрд┐рдХ рднреМрддрд┐рдХ рдЗрдВрдЯрд░рдлреЗрд╕рдЪреЗ рд╕рдорд░реНрдерди рдХрд░рддреЗ.
OpenVPN рд╕рд╣, рдЬреНрдпрд╛рдЪреЗ рдХрдиреЗрдХреНрд╢рди IPv4 рджреНрд╡рд╛рд░реЗ рдЖрд╣реЗ рдЖрдгрд┐ рдЬреЗ IPv6 рдкреНрд░рджрд╛рди рдХрд░рддреЗ.

рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рд╕рд░реНрд╡ рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╢рд┐рдХрд╛рдпрдЪреЗ рдирд╕реЗрд▓, рдкрдг рдЕрд╕рд╛ рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕реЗрд▓, рддрд░ рд╣рд╛ рд▓реЗрдЦ рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ.

рд▓реЗрдЦ рдкреНрд░рддреНрдпреЗрдХ рддрдкрд╢реАрд▓ рд╕реНрдкрд╖реНрдЯ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдирд╛рд╣реА. рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЬреЗ рдорд╛рдирдХ рдореНрд╣рдгреВрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА рдХрд┐рдВрд╡рд╛ рдЧреНрд░рд╛рд╣рдХрд╛рдВрдЪреНрдпрд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдирд╛рддреВрди рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ рддреНрдпрд╛рдХрдбреЗ рдЬрд╛рддреЗ.

рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░реЗрд░рдгрд╛ рд╣реЗ рдорд╛рдЭреЗ рджреАрд░реНрдШрдХрд╛рд│рд╛рдкрд╛рд╕реВрдирдЪреЗ рд╕реНрд╡рдкреНрди рдЖрд╣реЗ. рд╣реЗ рдореВрд░реНрдЦрдкрдгрд╛рдЪреЗ рд╡рд╛рдЯреЗрд▓, рдкрд░рдВрддреБ IMHO, рддреБрдордЪреНрдпрд╛ рдЖрд╡рдбрддреНрдпрд╛ рдмреНрд░рдБрдбрдордзреВрди рдирд╡реАрди рдХрд╛рд░рдЪреЗ рд╕реНрд╡рдкреНрди рдкрд╛рд╣рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рд╣реЗ рдЦреВрдк рдЪрд╛рдВрдЧрд▓реЗ рдЖрд╣реЗ.

IPv6 рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рджреЛрди рдкреНрд░реЗрд░рдгрд╛ рдЖрд╣реЗрдд. рдЖрдпрдЯреА рддрдЬреНрдЮрд╛рдВрдирд╛ рдЯрд┐рдХреВрди рд░рд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА рд╕рддрдд рдирд╡реАрди рддрдВрддреНрд░рдЬреНрдЮрд╛рди рд╢рд┐рдХрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рд╕реЗрдиреНрд╕реЙрд░рд╢рд┐рдк рд╡рд┐рд░реБрджреНрдзрдЪреНрдпрд╛ рд▓рдвреНрдпрд╛рдд рдореА рдорд╛рдЭреЗ рдорд╛рдлрдХ рдпреЛрдЧрджрд╛рди рджреЗрдК рдЗрдЪреНрдЫрд┐рддреЛ.

OpenVPN рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░реЗрд░рдгрд╛ рдлрдХреНрдд IPv6 рд▓рд╛ рд╕реНрдерд╛рдирд┐рдХ рдорд╢реАрдирд╡рд░ рдХрд╛рдо рдХрд░рдгреЗ рдЖрд╣реЗ.
рдЕрдиреЗрдХ рдлрд┐рдЬрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░реЗрд░рдгрд╛ рдореНрд╣рдгрдЬреЗ рдорд╛рдЭреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдПрдХ рдЗрдВрдЯрд░рдлреЗрд╕ тАЬрд╕реНрд▓реЛ рдкрдг рдЕрдорд░реНрдпрд╛рджрд┐рддтАЭ рдЖрдгрд┐ рджреБрд╕рд░рд╛ тАЬрдлрд╛рд╕реНрдЯ рдкрдг рдЯреЕрд░рд┐рдлрд╕рд╣тАЭ рдЖрд╣реЗ.

Bind рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░реЗрд░рдгрд╛ рд╣реА рдЖрд╣реЗ рдХреА рдорд╛рдЭрд╛ ISP рдЕрд╕реНрдерд┐рд░ DNS рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рджрд╛рди рдХрд░рддреЛ рдЖрдгрд┐ google рджреЗрдЦреАрд▓ рдХрдзреАрдХрдзреА рдЕрдкрдпрд╢реА рдард░рддреЗ. рдорд▓рд╛ рд╡реИрдпрдХреНрддрд┐рдХ рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рдПрдХ рд╕реНрдерд┐рд░ DNS рд╕рд░реНрд╡реНрд╣рд░ рд╣рд╡рд╛ рдЖрд╣реЗ.

рд▓реЗрдЦ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рдкреНрд░реЗрд░рдгрд╛ - рдореА 10 рдорд╣рд┐рдиреНрдпрд╛рдВрдкреВрд░реНрд╡реА рдПрдХ рдорд╕реБрджрд╛ рд▓рд┐рд╣рд┐рд▓рд╛ рд╣реЛрддрд╛ рдЖрдгрд┐ рдореА рддреЛ рдЖрдзреАрдЪ рджреЛрдирджрд╛ рдкрд╛рд╣рд┐рд▓рд╛ рдЖрд╣реЗ. рд▓реЗрдЦрдХрд╛рд▓рд╛ рддреНрдпрд╛рдЪреА рдирд┐рдпрдорд┐рдд рдЧрд░рдЬ рднрд╛рд╕рдд рдЕрд╕рд▓реА рддрд░реА рдЗрддрд░рд╛рдВрдирд╛рд╣реА рддреНрдпрд╛рдЪреА рдЧрд░рдЬ рднрд╛рд╕реЗрд▓ рдЕрд╢реА рдЙрдЪреНрдЪ рд╢рдХреНрдпрддрд╛ рдЕрд╕рддреЗ.

рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдХреЛрдгрддреЗрд╣реА рд╕рд╛рд░реНрд╡рддреНрд░рд┐рдХ рдЙрдкрд╛рдп рдирд╛рд╣реА. рдкрд░рдВрддреБ рдореА рдЕрд╕реЗ рдХрд╛рд╣реАрддрд░реА рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди "рд╣реЗ рдХрд░рд╛ рдЖрдгрд┐ рдирдВрддрд░, рд╕рд░реНрд╡рдХрд╛рд╣реА рдЬрд╕реЗ рдкрд╛рд╣рд┐рдЬреЗ рддрд╕реЗ рдХрд╛рд░реНрдп рдХрд░реЗрд▓ рддреЗрд╡реНрд╣рд╛ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдордЧреНрд░реА рдлреЗрдХреВрди рджреНрдпрд╛."

рдХрдВрдкрдиреА tech.ru рдордзреНрдпреЗ Colocation рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗ. OVH, Hetzner, AWS рд╢реА рддреБрд▓рдирд╛ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ. рдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, tech.ru рд╕рд╣ рд╕рд╣рдХрд╛рд░реНрдп рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡реА рд╣реЛрдИрд▓.

рдбреЗрдмрд┐рдпрди 9 рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

рд╕рд░реНрд╡реНрд╣рд░рдордзреНрдпреЗ 2 рдЗрдВрдЯрд░рдлреЗрд╕ `eno1` рдЖрдгрд┐ `eno2` рдЖрд╣реЗрдд. рдкрд╣рд┐рд▓рд╛ рдЕрдорд░реНрдпрд╛рджрд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рджреБрд╕рд░рд╛ рд╡реЗрдЧрд╡рд╛рди рдЖрд╣реЗ.

3 рд╕реНрдерд┐рд░ IP рдкрддреНрддреЗ рдЖрд╣реЗрдд, 'eno0' рдЗрдВрдЯрд░рдлреЗрд╕рд╡рд░ XX.XX.XX.X1 рдЖрдгрд┐ XX.XX.XX.X2 рдЖрдгрд┐ XX.XX.XX.X1 рдЖрдгрд┐ 'eno5' рдЗрдВрдЯрд░рдлреЗрд╕рд╡рд░ XX.XX.XX.X2 .

рдЙрдкрд▓рдмреНрдз XXXX:XXXX:XXXX:XXXX::/64 IPv6 рдкрддреНрддреНрдпрд╛рдВрдЪрд╛ рдПрдХ рдкреВрд▓ рдЬреЛ `eno1` рдЗрдВрдЯрд░рдлреЗрд╕рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓рд╛ рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рддреВрди рдорд╛рдЭреНрдпрд╛ рд╡рд┐рдирдВрддреАрдиреБрд╕рд╛рд░ `eno1` рд▓рд╛ рдирд┐рдпреБрдХреНрдд рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рдЖрд╣реЗ.

рддреАрди рдбреЛрдореЗрди рдЖрд╣реЗрдд `domain3.com`, `domain1.com`, `domain2.com`. `domain3.com` рдЖрдгрд┐ `domain1.com` рд╕рд╛рдареА рдПрдХ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрд╣реЗ.

рдорд╛рдЭреНрдпрд╛рдХрдбреЗ рдПрдХ Google рдЦрд╛рддреЗ рдЖрд╣реЗ рдЬреНрдпрд╛рд╡рд░ рдореА рдорд╛рдЭрд╛ рдореЗрд▓рдмреЙрдХреНрд╕ рд▓рд┐рдВрдХ рдХрд░реВ рдЗрдЪреНрдЫрд┐рддреЛ[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]` (рдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрдгрд┐ рдереЗрдЯ gmail рдЗрдВрдЯрд░рдлреЗрд╕рд╡рд░реВрди рдореЗрд▓ рдкрд╛рдард╡рдгреЗ).
рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]`, рдЬреНрдпрд╛ рдИрдореЗрд▓рд╡рд░реВрди рдорд▓рд╛ рдорд╛рдЭреНрдпрд╛ gmail рдордзреНрдпреЗ рдкрд╣рд╛рдпрдЪреЗ рдЖрд╣реЗ рддреНрдпрд╛рдЪреА рдПрдХ рдкреНрд░рдд. рдЖрдгрд┐ ` рдЪреНрдпрд╛ рд╡рддреАрдиреЗ рдХрд╛рд╣реАрддрд░реА рдкрд╛рдард╡рддрд╛ рдпреЗрдгреЗ рджреБрд░реНрдорд┐рд│ рдЖрд╣реЗ[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рджреНрд╡рд╛рд░реЗ.

рдПрдХ рдореЗрд▓рдмреЙрдХреНрд╕ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]`, рдЬреЛ рдЗрд╡рд╛рдиреЛрд╡ рддреНрдпрд╛рдЪреНрдпрд╛ рдЖрдпрдлреЛрдирдордзреВрди рд╡рд╛рдкрд░реЗрд▓.

рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдИрдореЗрд▓рдиреЗ рд╕рд░реНрд╡ рдЖрдзреБрдирд┐рдХ рдЕрдБрдЯреАрд╕реНрдкреЕрдо рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдЪреЗ рдкрд╛рд▓рди рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ.
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдкреНрд░рджрд╛рди рдХреЗрд▓реЗрд▓реЗ рдПрдирдХреНрд░рд┐рдкреНрд╢рдирдЪреЗ рд╕рд░реНрд╡реЛрдЪреНрдЪ рд╕реНрддрд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдкрддреНрд░реЗ рдкрд╛рдард╡рдгреЗ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдпрд╛ рджреЛрдиреНрд╣реАрд╕рд╛рдареА IPv6 рд╕рдкреЛрд░реНрдЯ рдЕрд╕рд╛рд╡рд╛.
рдПрдХ SpamAssassin рдЕрд╕рд╛рд╡рд╛ рдЬреЛ рдИрдореЗрд▓ рдХрдзреАрд╣реА рд╣рдЯрд╡рдгрд╛рд░ рдирд╛рд╣реА. рдЖрдгрд┐ рддреЗ рдПрдХрддрд░ рдмрд╛рдЙрдиреНрд╕ рд╣реЛрдИрд▓ рдХрд┐рдВрд╡рд╛ рд╡рдЧрд│реЗрд▓ рдХрд┐рдВрд╡рд╛ IMAP тАЬрд╕реНрдкреЕрдотАЭ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдкрд╛рдард╡реЗрд▓.
SpamAssassin рд╕реНрд╡рдпрдВ-рд╢рд┐рдХреНрд╖рдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: рдЬрд░ рдореА рд╕реНрдкреЕрдо рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдПрдХ рдкрддреНрд░ рд╣рд▓рд╡рд▓реЗ рддрд░ рддреЗ рдпрд╛рддреВрди рд╢рд┐рдХреЗрд▓; рдЬрд░ рдореА рд╕реНрдкреЕрдо рдлреЛрд▓реНрдбрд░рдордзреВрди рдПрдЦрд╛рджреЗ рдкрддреНрд░ рд╣рд▓рд╡рд▓реЗ рддрд░ рддреЗ рдпрд╛рддреВрди рд╢рд┐рдХреЗрд▓. SpamAssassin рдкреНрд░рд╢рд┐рдХреНрд╖рдгрд╛рдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдорд╛рдВрдиреА рдкрддреНрд░ рд╕реНрдкреЕрдо рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рд╕рдВрдкрд▓реЗ рдХреА рдирд╛рд╣реА рдпрд╛рд╡рд░ рдкреНрд░рднрд╛рд╡ рдЯрд╛рдХрд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ.
PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдбреЛрдореЗрдирдЪреНрдпрд╛ рд╡рддреАрдиреЗ рдореЗрд▓ рдкрд╛рдард╡рд┐рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
IPv6 рдирд╕рд▓реЗрд▓реНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ IPv6 рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рдХреНрд╖рдорддрд╛ рдЕрд╕рд▓реЗрд▓реА рдУрдкрдирд╡реНрд╣реАрдкреАрдПрди рд╕реЗрд╡рд╛ рдЕрд╕рд╛рд╡реА.

рдкреНрд░рдердо рддреБрдореНрд╣рд╛рд▓рд╛ IPv6 рд╕рд╣ рдЗрдВрдЯрд░рдлреЗрд╕ рдЖрдгрд┐ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ OpenVPN рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓, рдЬреЗ IPv4 рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдИрд▓ рдЖрдгрд┐ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕реНрдерд┐рд░-рд╡рд╛рд╕реНрддрд╡рд┐рдХ IPv6 рдкрддреНрддрд╛ рдкреНрд░рджрд╛рди рдХрд░реЗрд▓. рдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рд╕рд░реНрд╡ IPv6 рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реАрд▓ рдХреЛрдгрддреНрдпрд╛рд╣реА IPv6 рд╕рдВрд╕рд╛рдзрдирд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЕрд╕реЗрд▓.
рдирдВрддрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрдХреНрд╖рд░реЗ + SPF + DKIM + rDNS рдЖрдгрд┐ рдЗрддрд░ рддрддреНрд╕рдо рд▓рд╣рд╛рди рдЧреЛрд╖реНрдЯреА рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
рдордЧ рддреБрдореНрд╣рд╛рд▓рд╛ Dovecot рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рдорд▓реНрдЯреАрдбреЛрдореЗрди рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
рдордЧ рддреБрдореНрд╣рд╛рд▓рд╛ SpamAssassin рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓ рдЖрдгрд┐ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧреЗрд▓.
рд╢реЗрд╡рдЯреА, рдмрд╛рдЗрдВрдб рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛.

============= рдорд▓реНрдЯреА-рдЗрдВрдЯрд░рдлреЗрд╕ ==============

рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ тАЬ/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 рд╣реЗ OpenVPN рдордзреАрд▓ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдбрдЪреЗ рдирд╛рд╡ рдЖрд╣реЗ.
XX.XX.XX.X0 - eno4 рд╡рд░ IPv1 #1.
XX.XX.XX.X1 - eno4 рд╡рд░ IPv2 #1.
XX.XX.XX.X2 - eno4 рд╡рд░ IPv3 #1.
XX.XX.XX.X5 - eno4 рд╡рд░ IPv1 #2.
XX.XX.XX.1 - IPv4 рдЧреЗрдЯрд╡реЗ.
XXXX:XXXX:XXXX:XXXXXX::/64 - рд╕рдВрдкреВрд░реНрдг рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА IPv6.
XXXX:XXXX:XXXX:XXXX:1:2::/96 - eno6 рд╕рд╛рдареА IPv2, рдмрд╛рд╣реЗрд░реВрди рд╕рд░реНрд╡ рдХрд╛рд╣реА eno1 рдордзреНрдпреЗ рдЬрд╛рддреЗ.
XXXX:XXXX:XXXX:XXXX::1 тАФ IPv6 рдЧреЗрдЯрд╡реЗ (рд╣реЗ рд▓рдХреНрд╖рд╛рдд рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗ/рд╣реЗ рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. IPv6 рд╕реНрд╡рд┐рдЪ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рд╛).
dns-nameservers - 127.0.0.1 рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ (рдХрд╛рд░рдг рдмрд╛рдЗрдВрдб рд╕реНрдерд╛рдирд┐рдХрд░рд┐рддреНрдпрд╛ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ) рдЖрдгрд┐ 213.248.1.6 (рд╣реЗ tech.ru рд╡рд░реВрди рдЖрд╣реЗ).

"рдЯреЗрдмрд▓ eno1t" рдЖрдгрд┐ "рдЯреЗрдмрд▓ eno2t" - рдпрд╛ рдорд╛рд░реНрдЧ-рдирд┐рдпрдорд╛рдВрдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА eno1 -> рдордзреВрди рдкреНрд░рд╡реЗрд╢ рдХрд░рдгрд╛рд░реА рд╡рд╛рд╣рддреВрдХ рддреНрдпрд╛рддреВрди рдирд┐рдШреВрди рдЬрд╛рдИрд▓ рдЖрдгрд┐ eno2 -> рджреНрд╡рд╛рд░реЗ рдкреНрд░рд╡реЗрд╢ рдХрд░рдгрд╛рд░реА рд╡рд╛рд╣рддреВрдХ рддреНрдпрд╛рддреВрди рдирд┐рдШреВрди рдЬрд╛рдИрд▓. рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рд╕реБрд░реВ рдХреЗрд▓реЗрд▓реЗ рдХрдиреЗрдХреНрд╢рди рджреЗрдЦреАрд▓ eno1 рджреНрд╡рд╛рд░реЗ рдЬрд╛рддреАрд▓.

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

рдпрд╛ рдЖрджреЗрд╢рд╛рджреНрд╡рд╛рд░реЗ рдЖрдореНрд╣реА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рддреЛ рдХреА тАЬрдЯреЗрдмрд▓ 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

рд╣рд╛ рдмреНрд▓реЙрдХ eno4 рдЗрдВрдЯрд░рдлреЗрд╕рд╕рд╛рдареА рджреБрд╕рд░рд╛ IPv1 рдирд┐рд░реНрджреЗрд╢реАрдд рдХрд░рддреЛ.

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

рдпрд╛ рдЖрджреЗрд╢рд╛рд╕рд╣ рдЖрдореНрд╣реА XX.XX.XX.X4 рд╡рдЧрд│рддрд╛ OpenVPN рдХреНрд▓рд╛рдпрдВрдЯрдкрд╛рд╕реВрди рд╕реНрдерд╛рдирд┐рдХ IPv0 рдкрд░реНрдпрдВрдд рдорд╛рд░реНрдЧ рд╕реЗрдЯ рдХрд░рддреЛ.
рд╣реА рдЖрдЬреНрдЮрд╛ рд╕рд░реНрд╡ 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 рдкреЗрдХреНрд╖рд╛ рдореЛрдард╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрдиреНрдпрдерд╛, OpenVPN рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА IPv6 рдЧреЗрдЯрд╡реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.
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 рд╕реЗрд╡рд╛ рдкрддреНрддреЗ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рд╡реЗ.

рдиреЗрдЯрд╡рд░реНрдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд░реНрд╡реНрд╣рд░ рд░реАрд╕реНрдЯрд╛рд░реНрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЕрд╕рд╛рд╡реЗ.
IPv4 рдмрджрд▓ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛рд╡рд░ рдЙрдЪрд▓рд▓реЗ рдЬрд╛рддрд╛рдд (рд╕реНрдХреНрд░реАрдирдордзреНрдпреЗ рдЧреБрдВрдбрд╛рд│рдгреНрдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛ - рдЕрдиреНрдпрдерд╛ рд╣реА рдХрдорд╛рдВрдб рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдиреЗрдЯрд╡рд░реНрдХ рдХреНрд░реЕрд╢ рдХрд░реЗрд▓):

/etc/init.d/networking restart

рдлрд╛рдИрд▓рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдЬреЛрдбрд╛ тАЬ/etc/iproute2/rt_tablesтАЭ:

100 eno1t
101 eno2t

рдпрд╛рд╢рд┐рд╡рд╛рдп, рддреБрдореНрд╣реА тАЬ/etc/network/interfacesтАЭ рдлрд╛рдЗрд▓рдордзреНрдпреЗ рд╕рд╛рдиреБрдХреВрд▓ рд╕рд╛рд░рдгреНрдпрд╛ рд╡рд╛рдкрд░реВ рд╢рдХрдд рдирд╛рд╣реА.
рд╕рдВрдЦреНрдпрд╛ рдЕрджреНрд╡рд┐рддреАрдп рдЖрдгрд┐ 65535 рдкреЗрдХреНрд╖рд╛ рдХрдореА рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

IPv6 рдЪреЗ рдмрджрд▓ рд░реАрдмреВрдЯ рди тАЛтАЛрдХрд░рддрд╛ рд╕рд╣рдЬ рдмрджрд▓рддрд╛ рдпреЗрддрд╛рдд, рдкрд░рдВрддреБ рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд┐рдорд╛рди рддреАрди рдХрдорд╛рдВрдб рд╢рд┐рдХрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ:

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 рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рд░рд╣рджрд╛рд░реА рдЬрдЧрд╛рдд рдЬрд╛рдд рдирд╛рд╣реА.

рдЗрддрд░ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдПрдХрддрд░ рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реАрдд рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛ рдХрд╢рд╛рд╕рд╛рдареА рдЖрд╣реЗрдд рд╣реЗ рдорд▓рд╛ рдЖрдард╡рдд рдирд╛рд╣реА.
рдкрдг рдлрдХреНрдд рдмрд╛рдмрддреАрдд, рдореА рддреЗ "рдЬрд╕реЗ рдЖрд╣реЗ рддрд╕реЗ" рд╕реЛрдбрддреЛ.

рд╕рд░реНрд╡реНрд╣рд░ рд░реАрдмреВрдЯ рди тАЛтАЛрдХрд░рддрд╛ рдпрд╛ рдлрд╛рдИрд▓рдордзреАрд▓ рдмрджрд▓ рдЙрдЪрд▓рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдХрдорд╛рдВрдб рдЪрд╛рд▓рд╡рд╛рд╡реА рд▓рд╛рдЧреЗрд▓:

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 рдиреЗрдЯрд╡рд░реНрдХ. Openvpn рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА IPv4 рдкрддреНрддреЗ.
рдирд┐рдпрдорд╛рдВрдЪреА рд╕рд╛рддрддреНрдп рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдЖрд╣реЗ.

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

рд╣реА рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдлрдХреНрдд рдореА рдорд╛рдЭреНрдпрд╛ рд╕реНрдЯреЕрдЯрд┐рдХ IP рд╡рд░реВрди OpenVPN рд╡рд╛рдкрд░реВ рд╢рдХрддреЛ.

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

OpenVPN рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рдЗрдВрдЯрд░рдиреЗрдЯ рджрд░рдореНрдпрд╛рди IPv4 рдкреЕрдХреЗрдЯ рдлреЙрд░рд╡рд░реНрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдкреИрдХреА рдПрдХ рдХрдорд╛рдВрдб рдиреЛрдВрджрдгреАрдХреГрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдВрд╕рд╛рдареА, рдкрд░реНрдпрд╛рдпрд╛рдВрдкреИрдХреА рдПрдХ рдпреЛрдЧреНрдп рдирд╛рд╣реА.
рджреЛрдиреНрд╣реА рдЖрдЬреНрдЮрд╛ рдорд╛рдЭреНрдпрд╛ рдХреЗрд╕рд╕рд╛рдареА рдпреЛрдЧреНрдп рдЖрд╣реЗрдд.
рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг рд╡рд╛рдЪрд▓реНрдпрд╛рдирдВрддрд░, рдореА рдкрд╣рд┐рд▓рд╛ рдкрд░реНрдпрд╛рдп рдирд┐рд╡рдбрд▓рд╛ рдХрд╛рд░рдг рддреЛ рдХрдореА 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 рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдпреБрдХреНрддреА рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓:
"tls-auth" рдЯреЕрдЧрдЪреА рд╕рд╛рдордЧреНрд░реА рдЯрд┐рдкреНрдкрдгреНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЖрдгрд┐ "tls-auth" рдЯреЕрдЧрдЪреНрдпрд╛ рдЖрдзреА "рдХреА-рджрд┐рд╢рд╛ 1" рджреЗрдЦреАрд▓ рдареЗрд╡рд╛.

рдЪрд▓рд╛ 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

рдЕрд╕рдВ рдХрд╛ рд▓рд┐рд╣рд┐рд▓рдВрдп рддреЗ рдЖрдард╡рдгрдВ рдорд▓рд╛ рдЕрд╡рдШрдб рдЬрд╛рддрдВ.

рдЖрддрд╛ рдиреЗрдЯрдорд╛рд╕реНрдХ = 112 рд╡рд┐рдЪрд┐рддреНрд░ рджрд┐рд╕рддреЗ (рддреЗ рддрд┐рдереЗ 96 рдЕрд╕рд╛рд╡реЗ).
рдЖрдгрд┐ рдЙрдкрд╕рд░реНрдЧ рд╡рд┐рдЪрд┐рддреНрд░ рдЖрд╣реЗ, рддреЛ рдЯреНрдпреВрди0 рдиреЗрдЯрд╡рд░реНрдХрд╢реА рдЬреБрд│рдд рдирд╛рд╣реА.
рдкрдг рдареАрдХ рдЖрд╣реЗ, рдореА рддреЗ рдЬрд╕реЗрдЪреНрдпрд╛ рддрд╕реЗ рд╕реЛрдбрддреЛ.

cipher DES-EDE3-CBC

рд╣реЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдирд╛рд╣реА - рдореА рдХрдиреЗрдХреНрд╢рди рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╣реА рдкрджреНрдзрдд рдирд┐рд╡рдбрд▓реА.

OpenVPN IPv4 рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛.

OpenVPN IPv6 рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдмрджреНрджрд▓ рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛.

============= рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ =============

рдореБрдЦреНрдп рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ:

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

рдЦрд╛рдмреНрд░реЛрд╡реНрд╕реНрдХ рд░рд╣рд┐рд╡рд╛рд╢рд╛рдВрдЪреНрдпрд╛ рдорддреЗ, рдпрд╛ рдмреНрд▓реЙрдХрдордзреНрдпреЗ "рдЪреБрдХреАрдЪреА рдорд╛рд╣рд┐рддреА рдЖрдгрд┐ рдЪреБрдХреАрдЪреЗ рд╢реЛрдзрдирд┐рдмрдВрдз" рдЖрд╣реЗрдд.рдорд╛рдЭреНрдпрд╛ рдХрд░рд┐рдЕрд░рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрдЪреНрдпрд╛ рдХреЗрд╡рд│ 8 рд╡рд░реНрд╖рд╛рдирдВрддрд░ рдорд▓рд╛ SSL рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реЗ рд╕рдордЬреВ рд▓рд╛рдЧрд▓реЗ.

рдореНрд╣рдгреВрди, рдореА SSL рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреЗ рд╕реНрд╡рд╛рддрдВрддреНрд░реНрдп рдШреЗрдИрди (тАЬрд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ?тАЭ рдЖрдгрд┐ тАЬрддреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ?тАЭ рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдВрдЪреА рдЙрддреНрддрд░реЗ рди рджреЗрддрд╛).

рдЖрдзреБрдирд┐рдХ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдирдЪрд╛ рдЖрдзрд╛рд░ рдореНрд╣рдгрдЬреЗ рдХреА рдЬреЛрдбреА (рдЕрдХреНрд╖рд░рд╛рдВрдЪреНрдпрд╛ рджреЛрди рдЦреВрдк рд▓рд╛рдВрдм рддрд╛рд░) рддрдпрд╛рд░ рдХрд░рдгреЗ.

рдПрдХ тАЬрдХреАтАЭ рдЦрд╛рдЬрдЧреА рдЖрд╣реЗ, рджреБрд╕рд░реА рдХреА тАЬрд╕рд╛рд░реНрд╡рдЬрдирд┐рдХтАЭ рдЖрд╣реЗ. рдЖрдореНрд╣реА рдЦрд╛рдЬрдЧреА рдХреА рдЕрддрд┐рд╢рдп рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдЧреБрдкреНрдд рдареЗрд╡рддреЛ. рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХрд╛рд▓рд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд┐рддрд░реАрдд рдХрд░рддреЛ.

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░реВрди, рддреБрдореНрд╣реА рдордЬрдХреВрд░рд╛рдЪреНрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧрд▓рд╛ рдХреВрдЯрдмрджреНрдз рдХрд░реВ рд╢рдХрддрд╛ рдЬреЗрдгреЗрдХрд░реВрди рдХреЗрд╡рд│ рдЦрд╛рдЬрдЧреА рдХреАрдЪрд╛ рдорд╛рд▓рдХ рддреЛ рдбреАрдХреНрд░рд┐рдкреНрдЯ рдХрд░реВ рд╢рдХреЗрд▓.
рдмрд░рдВ, рддреЗ рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪрд╛ рд╕рдВрдкреВрд░реНрдг рдЖрдзрд╛рд░ рдЖрд╣реЗ.

рдЪрд░рдг # 1 - https рд╕рд╛рдЗрдЯреНрд╕.
рд╕рд╛рдЗрдЯрд╡рд░ рдкреНрд░рд╡реЗрд╢ рдХрд░рддрд╛рдирд╛, рдмреНрд░рд╛рдЙрдЭрд░ рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди рд╢рд┐рдХрддреЛ рдХреА рд╕рд╛рдЗрдЯ https рдЖрд╣реЗ рдЖрдгрд┐ рдореНрд╣рдгреВрди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрдЪреА рд╡рд┐рдирдВрддреА рдХрд░рддреЛ.
рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рджреЗрддреЛ. рдмреНрд░рд╛рдЙрдЭрд░ http-рд╡рд┐рдирдВрддреА рдПрдирдХреНрд░рд┐рдкреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░рддреЛ.
рдПрдЪрдЯреАрдЯреАрдкреА-рд╡рд┐рдирдВрддреАрдЪреА рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд│ рддреЗрдЪ рд╡рд╛рдЪреВ рд╢рдХрддрд╛рдд рдЬреНрдпрд╛рдВрдЪреНрдпрд╛рдХрдбреЗ рдЦрд╛рдЬрдЧреА рдХреА рдЖрд╣реЗ, рдореНрд╣рдгрдЬреЗрдЪ рдлрдХреНрдд рд╕рд░реНрд╡реНрд╣рд░ рдЬреНрдпрд╛рд╡рд░ рд╡рд┐рдирдВрддреА рдХреЗрд▓реА рдЬрд╛рддреЗ.
Http-рд╡рд┐рдирдВрддреАрдд рдХрд┐рдорд╛рди рдПрдХ URI рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЬрд░ рдПрдЦрд╛рджрд╛ рджреЗрд╢ рд╕рдВрдкреВрд░реНрдг рд╕рд╛рдЗрдЯрд╡рд░ рдирд╡реНрд╣реЗ рддрд░ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреГрд╖реНрдард╛рд╡рд░ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рдд рдЕрд╕реЗрд▓, рддрд░ https рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╣реЗ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ.

рдЪрд░рдг #2 - рдХреВрдЯрдмрджреНрдз рдкреНрд░рддрд┐рд╕рд╛рдж.
рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдПрдХ рдЙрддреНрддрд░ рдкреНрд░рджрд╛рди рдХрд░рддреЛ рдЬреЗ рд░рд╕реНрддреНрдпрд╛рд╡рд░ рд╕рд╣рдЬ рд╡рд╛рдЪрддрд╛ рдпреЗрддреЗ.
рдЙрдкрд╛рдп рдЕрддреНрдпрдВрдд рд╕реЛрдкрд╛ рдЖрд╣реЗ - рдмреНрд░рд╛рдЙрдЭрд░ рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдкреНрд░рддреНрдпреЗрдХ https рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╕рдорд╛рди рдЦрд╛рдЬрдЧреА-рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЬреЛрдбреА рддрдпрд╛рд░ рдХрд░рддреЛ.
рдЖрдгрд┐ рд╕рд╛рдЗрдЯрдЪреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрдЪреНрдпрд╛ рд╡рд┐рдирдВрддреАрд╕рд╣, рддреЗ рддрд┐рдЪреА рд╕реНрдерд╛рдирд┐рдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкрд╛рдард╡рддреЗ.
рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рддреЗ рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рддреЛ рдЖрдгрд┐, HTTP-рдкреНрд░рддрд┐рд╕рд╛рдж рдкрд╛рдард╡рддрд╛рдирд╛, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╕рд╣ рдХреВрдЯрдмрджреНрдз рдХрд░рддреЛ.
рдЖрддрд╛ http-рдкреНрд░рддрд┐рд╕рд╛рдж рдХреЗрд╡рд│ рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмреНрд░рд╛рдЙрдЭрд░ рдкреНрд░рд╛рдпрд╡реНрд╣реЗрдЯ рдХреАрдЪреНрдпрд╛ рдорд╛рд▓рдХрд╛рджреНрд╡рд╛рд░реЗ (рдореНрд╣рдгрдЬреЗ рдХреНрд▓рд╛рдпрдВрдЯ рд╕реНрд╡рддрдГ) рдбреАрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдкрд╛рдпрд░реА рдХреНрд░рдорд╛рдВрдХ 3 - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЪреЕрдиреЗрд▓рджреНрд╡рд╛рд░реЗ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ.
рдЙрджрд╛рд╣рд░рдг рдХреНрд░рдорд╛рдВрдХ реи рдордзреНрдпреЗ рдПрдХ рднреЗрджреНрдпрддрд╛ рдЖрд╣реЗ - рд╢реБрднрдЪрд┐рдВрддрдХрд╛рдВрдирд╛ http-рд╡рд┐рдирдВрддреА рд░реЛрдЦрдгреНрдпрд╛рдкрд╛рд╕реВрди рдЖрдгрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдмрджреНрджрд▓ рдорд╛рд╣рд┐рддреА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдХрд╛рд╣реАрд╣реА рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдд рдирд╛рд╣реА.
рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ, рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рдмрджрд▓реЗрдкрд░реНрдпрдВрдд рдордзреНрдпрд╕реНрде рдкрд╛рдард╡рд▓реЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реЗрд▓реНрдпрд╛ рд╕рдВрджреЗрд╢рд╛рдВрдЪреА рд╕рд░реНрд╡ рд╕рд╛рдордЧреНрд░реА рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд╛рд╣рддреАрд▓.
рд╣реЗ рд╣рд╛рддрд╛рд│рдгреЗ рдЕрддреНрдпрдВрдд рд╕реЛрдкреЗ рдЖрд╣реЗ - рдлрдХреНрдд рдмреНрд░рд╛рдЙрдЭрд░рдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░рдЪреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╕рд╣ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд▓реЗрд▓рд╛ рд╕рдВрджреЗрд╢ рдореНрд╣рдгреВрди рдкрд╛рдард╡рд╛.
рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдирдВрддрд░ рдкреНрд░рдердо "рддреБрдордЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЕрд╢реА рдЖрд╣реЗ" рд╕рд╛рд░рдЦрд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рдкрд╛рдард╡рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╕рд╣ рд╣рд╛ рд╕рдВрджреЗрд╢ рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рддреЛ.
рдмреНрд░рд╛рдЙрдЭрд░ рдкреНрд░рддрд┐рд╕рд╛рдж рдкрд╛рд╣рддреЛ - рдЬрд░ "рддреБрдордЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЕрд╢реА рдЖрд╣реЗ" рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛ - рддрд░ рд╣реА 100% рд╣рдореА рдЖрд╣реЗ рдХреА рд╣реЗ рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ.
рддреЗ рдХрд┐рддреА рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрд╣реЗ?
рдЕрд╢рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓рдЪреА рдирд┐рд░реНрдорд┐рддреА рдкрд┐рдВрдЧ*2 рдЪреНрдпрд╛ рд╡реЗрдЧрд╛рдиреЗ рд╣реЛрддреЗ. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде 20ms.
рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рдХрдбреЗ рдкрдХреНрд╖рд╛рдВрдкреИрдХреА рдПрдХрд╛рдЪреА рдЦрд╛рдЬрдЧреА рдХреА рдЕрдЧреЛрджрд░ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдорд┐рд▓рд┐рд╕реЗрдХрдВрджрд╛рдВрдордзреНрдпреЗ рдЦрд╛рдЬрдЧреА рдХреА рд╢реЛрдзрд╛.
рд╕реБрдкрд░ рдХреЙрдореНрдкреНрдпреБрдЯрд░рд╡рд░ рдПрдХ рдЖрдзреБрдирд┐рдХ рдЦрд╛рдЬрдЧреА рдХреА рд╣реЕрдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рджрд╢рдХреЗ рд▓рд╛рдЧрддреАрд▓.

рдЪрд░рдг # 4 - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЪрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕.
рдЕрд░реНрдерд╛рдд, рдпрд╛ рд╕рдВрдкреВрд░реНрдг рдХрдереЗрдд рдХреНрд▓рд╛рдпрдВрдЯ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░рдордзреАрд▓ рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓рд╡рд░ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рд▓рд╛ рдмрд╕рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рдЖрд╣реЗ.
рдХреНрд▓рд╛рдпрдВрдЯ рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рднрд╛рд╕рд╡реВ рд╢рдХрддреЛ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рдХреНрд▓рд╛рдпрдВрдЯ рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рднрд╛рд╕рд╡реВ рд╢рдХрддреЛ. рдЖрдгрд┐ рджреЛрдиреНрд╣реА рджрд┐рд╢рд╛рдВрдордзреНрдпреЗ рдХреАрдЪреНрдпрд╛ рдЬреЛрдбреАрдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рд╛.
рдордЧ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рд▓рд╛ рд╕рд░реНрд╡ рд░рд╣рджрд╛рд░реА рджрд┐рд╕реЗрд▓ рдЖрдгрд┐ рддреЛ рд░рд╣рджрд╛рд░реА "рд╕рдВрдкрд╛рджрд┐рдд" рдХрд░рдгреНрдпрд╛рдд рд╕рдХреНрд╖рдо рдЕрд╕реЗрд▓.
рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреИрд╕реЗ рдХреБрдареЗ рдкрд╛рдард╡рд╛рдпрдЪреЗ рддреЗ рдкрддреНрддрд╛ рдмрджрд▓рд╛ рдХрд┐рдВрд╡рд╛ рдСрдирд▓рд╛рдЗрди рдмрдБрдХрд┐рдВрдЧрдордзреВрди рдкрд╛рд╕рд╡рд░реНрдб рдХреЙрдкреА рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ тАЬрдЖрдХреНрд╖реЗрдкрд╛рд░реНрд╣тАЭ рд╕рд╛рдордЧреНрд░реА рдмреНрд▓реЙрдХ рдХрд░рд╛.
рдЕрд╢рд╛ рд╣рд▓реНрд▓реЗрдЦреЛрд░рд╛рдВрдЪрд╛ рдореБрдХрд╛рдмрд▓рд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рддреНрдпрд╛рдВрдиреА рдкреНрд░рддреНрдпреЗрдХ https рд╕рд╛рдЗрдЯрд╕рд╛рдареА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЕрд╕рд▓реЗрд▓рд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдбреЗрдЯрд╛рдмреЗрд╕ рддрдпрд╛рд░ рдХреЗрд▓рд╛.
рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЭрд░рд▓рд╛ рдЕрд╢рд╛ 200 рдбреЗрдЯрд╛рдмреЗрд╕рдЪреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдмрджреНрджрд▓ "рдорд╛рд╣рд┐рдд" рдЖрд╣реЗ. рд╣реЗ рдкреНрд░рддреНрдпреЗрдХ рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ рдкреНрд░реА-рдЗрдВрд╕реНрдЯреЙрд▓ рдХреЗрд▓реЗрд▓реЗ рдЕрд╕рддреЗ.
"рдЬреНрдЮрд╛рди" рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рддреАрд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ, рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рдорд╛рдгрди рдкреНрд░рд╛рдзрд┐рдХрд░рдгрд╛рдЪреЗ рдХрдиреЗрдХреНрд╢рди рдмрдирд╛рд╡рдЯ рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реА.

рдЖрддрд╛ https рд╕рд╛рдареА SSL рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рдпрд╛рдЪреА рд╕рд╛рдзреА рд╕рдордЬ рдЖрд╣реЗ.
рдЬрд░ рддреБрдореНрд╣реА рддреБрдордЪрд╛ рдореЗрдВрджреВ рд╡рд╛рдкрд░рд▓рд╛ рддрд░ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдИрд▓ рдХреА рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛ рдпрд╛ рд╕рдВрд░рдЪрдиреЗрдд рдХрд╛рд╣реАрддрд░реА рд╣реЕрдХ рдХрд╕реЗ рдХрд░реВ рд╢рдХрддрд╛рдд. рдкрд░рдВрддреБ рдпрд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдирд╛ рднрдпрдВрдХрд░ рдкреНрд░рдпрддреНрди рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓.
рдЖрдгрд┐ NSA рдХрд┐рдВрд╡рд╛ CIA рдкреЗрдХреНрд╖рд╛ рд▓рд╣рд╛рди рд╕рдВрд╕реНрдерд╛ - VIP рд╕рд╛рдареА рджреЗрдЦреАрд▓ рд╡рд┐рджреНрдпрдорд╛рди рд╕рдВрд░рдХреНрд╖рдг рдкрд╛рддрд│реА рд╣реЕрдХ рдХрд░рдгреЗ рдЬрд╡рд│рдЬрд╡рд│ рдЕрд╢рдХреНрдп рдЖрд╣реЗ.

рдореА ssh рдХрдиреЗрдХреНрд╢рди рдмрджреНрджрд▓ рджреЗрдЦреАрд▓ рдЬреЛрдбреЗрд▓. рддреЗрдереЗ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдирд╛рд╣реАрдд, рдордЧ рддреБрдореНрд╣реА рдХрд╛рдп рдХрд░реВ рд╢рдХрддрд╛? рд╕рдорд╕реНрдпрд╛ рджреЛрди рдкреНрд░рдХрд╛рд░реЗ рд╕реЛрдбрд╡рд▓реА рдЬрд╛рддреЗ.
рдкрд░реНрдпрд╛рдп ssh-рдмрд╛рдп-рдкрд╛рд╕рд╡рд░реНрдб:
рдкрд╣рд┐рд▓реНрдпрд╛ рдХрдиреЗрдХреНрд╢рди рджрд░рдореНрдпрд╛рди, ssh рдХреНрд▓рд╛рдпрдВрдЯрдиреЗ рдЪреЗрддрд╛рд╡рдгреА рджрд┐рд▓реА рдкрд╛рд╣рд┐рдЬреЗ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ ssh рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рдПрдХ рдирд╡реАрди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЖрд╣реЗ.
рдЖрдгрд┐ рдкреБрдвреАрд▓ рдХрдиреЗрдХреНрд╢рди рджрд░рдореНрдпрд╛рди, рдЪреЗрддрд╛рд╡рдгреА "ssh рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдирд╡реАрди рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА" рджрд┐рд╕рд▓реНрдпрд╛рд╕, рдпрд╛рдЪрд╛ рдЕрд░реНрде рдЕрд╕рд╛ рд╣реЛрдИрд▓ рдХреА рддреЗ рддреБрдордЪреНрдпрд╛рдмрджреНрджрд▓ рдРрдХрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реАрдд рдЖрд╣реЗрдд.
рдХрд┐рдВрд╡рд╛ рддреБрдореНрд╣реА рддреБрдордЪреНрдпрд╛ рдкрд╣рд┐рд▓реНрдпрд╛ рдХрдиреЗрдХреНрд╢рдирд╡рд░ рдРрдХрд▓реЗ рд╣реЛрддреЗ, рдкрд░рдВрддреБ рдЖрддрд╛ рддреБрдореНрд╣реА рдордзреНрдпрд╕реНрдерд╛рдВрд╢рд┐рд╡рд╛рдп рд╕рд░реНрд╡реНрд╣рд░рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛.
рд╡рд╛рд╕реНрддрд╡рд┐рдХ, рд╡рд╛рдпрд░рдЯреЕрдкрд┐рдВрдЧрдЪреА рд╡рд╕реНрддреБрд╕реНрдерд┐рддреА рд╕рд╣рдЬ, рдЬрд▓рдж рдЖрдгрд┐ рд╕рд╣рдЬрддреЗрдиреЗ рдЙрдШрдб рдЭрд╛рд▓реНрдпрд╛рдореБрд│реЗ, рд╣рд╛ рд╣рд▓реНрд▓рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдпрдВрдЯрд╕рд╛рдареА рдХреЗрд╡рд│ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗрдЪ рд╡рд╛рдкрд░рд▓рд╛ рдЬрд╛рддреЛ.

рдкрд░реНрдпрд╛рдп ssh-рдмрд╛рдп-рдХреА:
рдЖрдореНрд╣реА рдлреНрд▓реЕрд╢ рдбреНрд░рд╛рдЗрд╡реНрд╣ рдШреЗрддреЛ, рддреНрдпрд╛рд╡рд░ ssh рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рдЦрд╛рдЬрдЧреА рдХреА рд▓рд┐рд╣рд╛ (рдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рдЕрдЯреА рдЖрдгрд┐ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдмрд╛рд░рдХрд╛рд╡реЗ рдЖрд╣реЗрдд, рдкрд░рдВрддреБ рдореА рдПрдХ рд╢реИрдХреНрд╖рдгрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд▓рд┐рд╣рд┐рдд рдЖрд╣реЗ, рд╡рд╛рдкрд░рд╛рд╕рд╛рдареА рд╕реВрдЪрдирд╛ рдирд╛рд╣реА).
рдЖрдореНрд╣реА ssh рдХреНрд▓рд╛рдпрдВрдЯ рдЕрд╕реЗрд▓ рддреНрдпрд╛ рдорд╢реАрдирд╡рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╕реЛрдбрддреЛ рдЖрдгрд┐ рдЖрдореНрд╣реА рддреА рдЧреБрдкреНрдд рдареЗрд╡рддреЛ.
рдЖрдореНрд╣реА рдлреНрд▓реЕрд╢ рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрдгрддреЛ, рддреНрдпрд╛рдд рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ, рдЦрд╛рдЬрдЧреА рдХреА рдХреЙрдкреА рдХрд░рддреЛ рдЖрдгрд┐ рдлреНрд▓реЕрд╢ рдбреНрд░рд╛рдЗрд╡реНрд╣ рдмрд░реНрди рдХрд░рддреЛ рдЖрдгрд┐ рд░рд╛рдЦ рд╡рд╛рд░реНтАНрдпрд╛рд╡рд░ рд╡рд┐рдЦреБрд░рддреЛ (рдХрд┐рдВрд╡рд╛ рдХрд┐рдорд╛рди рд╢реВрдиреНрдпрд╛рдиреЗ рддреНрдпрд╛рдЪреЗ рд╕реНрд╡рд░реВрдкрд┐рдд рдХрд░рддреЛ).
рд╣реЗ рд╕рд░реНрд╡ рдЖрд╣реЗ - рдЕрд╢рд╛ рдСрдкрд░реЗрд╢рдирдирдВрддрд░ рдЕрд╕реЗ ssh рдХрдиреЗрдХреНрд╢рди рд╣реЕрдХ рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рд╣реЛрдИрд▓. рдЕрд░реНрдерд╛рдд, 10 рд╡рд░реНрд╖рд╛рдВрдд рд╕реБрдкрд░рдХреЙрдореНрдкреНрдпреБрдЯрд░рд╡рд░ рд░рд╣рджрд╛рд░реА рдкрд╛рд╣рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓ - рдкрд░рдВрддреБ рд╣реА рдПрдХ рд╡реЗрдЧрд│реА рдХрдерд╛ рдЖрд╣реЗ.

рдСрдлрдЯреЙрдкрд┐рдХрдмрджреНрджрд▓ рдореА рджрд┐рд▓рдЧреАрд░ рдЖрд╣реЛрдд.

рддреНрдпрд╛рдореБрд│реЗ рдЖрддрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд рдорд╛рд╣реАрдд рдЖрд╣реЗ. рдореА рддреБрдореНрд╣рд╛рд▓рд╛ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рд╡рд╛рд╣рд╛рдмрджреНрджрд▓ рд╕рд╛рдВрдЧреЗрди.

тАЬopenssl genrsaтАЭ рд╡рд╛рдкрд░реВрди рдЖрдореНрд╣реА рдПрдХ рдЦрд╛рдЬрдЧреА рдХреА рдЖрдгрд┐ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╕рд╛рдареА тАЬрд░рд┐рдХреНрддтАЭ рддрдпрд╛рд░ рдХрд░рддреЛ.
рдЖрдореНрд╣реА рддреГрддреАрдп-рдкрдХреНрд╖ рдХрдВрдкрдиреАрд▓рд╛ "рд░рд┐рдХреНрдд рдЬрд╛рдЧрд╛" рдкрд╛рдард╡рддреЛ, рдЬреНрдпрд╛рд▓рд╛ рдЖрдореНрд╣реА рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкреНрдпрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╛рдареА рдЕрдВрджрд╛рдЬреЗ $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 рд╣реЗ рдореБрдЦреНрдп рдирд┐рд░реНрдорд┐рддреАрдЪреЗ рд╡рд░реНрд╖ рдЖрд╣реЗ.
рд╕рд╛рдЦрд│реАрдмрджреНрдз - рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЪреА рд╕рд╛рдЦрд│реА рдЖрд╣реЗ рдЕрд╕реЗ рдкрдж (рдкрд╣рд┐рд▓реА рдЖрдордЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЖрд╣реЗ рдЖрдгрд┐ рдмрд╛рдХреАрдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдЬрд╛рд░реА рдХрд░рдгрд╛рд▒реНрдпрд╛ рдХрдВрдкрдиреАрдХрдбреВрди рдЖрд▓реА рдЖрд╣реЗ).
рд╕реАрдЖрд░рдЯреА - рдПрдХ рддрдпрд╛рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рддрд╛рдВрддреНрд░рд┐рдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдгрд╛рдВрд╕рд╣ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА) рдЕрд╕рд▓реНрдпрд╛рдЪреЗ рдкрдж.

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

рд╣реА рд╕реЗрдЯрд┐рдВрдЧ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЙрджрд╛рд╣рд░рдг рдореНрд╣рдгреВрди рд▓рд┐рд╣рд┐рд▓реА рдЖрд╣реЗ.

рдХрд╛рд░рдг рдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рдордзреАрд▓ рддреНрд░реБрдЯреАрдореБрд│реЗ рддреБрдордЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди (рддреБрдордЪреНрдпрд╛ рдЗрдЪреНрдЫреЗрд╢рд┐рд╡рд╛рдп) рд╕реНрдкреЕрдо рдкрд╛рдард╡рд▓рд╛ рдЬрд╛рдИрд▓.

рдордЧ рд╕рд░реНрд╡рд╛рдВрд╕рдореЛрд░ рд╕рд┐рджреНрдз рдХрд░рд╛ рдХреА рддреБрдореНрд╣реА рджреЛрд╖реА рдирд╛рд╣реА.

recipient_delimiter = +

рдмрд░реНтАНрдпрд╛рдЪ рд▓реЛрдХрд╛рдВрдирд╛ рдорд╛рд╣рд┐рдд рдирд╕реЗрд▓, рдкрд░рдВрддреБ рдИрдореЗрд▓ рд░рдБрдХрд┐рдВрдЧрд╕рд╛рдареА рд╣реЗ рдПрдХ рдорд╛рдирдХ рд╡рд░реНрдг рдЖрд╣реЗ рдЖрдгрд┐ рддреЗ рдмрд╣реБрддреЗрдХ рдЖрдзреБрдирд┐рдХ рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░рджреНрд╡рд╛рд░реЗ рд╕рдорд░реНрдерд┐рдд рдЖрд╣реЗ.

рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдореЗрд▓рдмреЙрдХреНрд╕ рдЕрд╕рд▓реНрдпрд╛рд╕ "[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]"рд╡рд░ рдкрд╛рдард╡рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛"[рдИрдореЗрд▓ рд╕рдВрд░рдХреНрд╖рд┐рдд]"- рдмрдШрд╛ рддреНрдпрд╛рддреВрди рдХрд╛рдп рдпреЗрддреЗ.

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

рдЖрддрд╛ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕рд▓рд╛ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ рдХреА рдбреЛрд╡реНрд╣рдХреЛрдЯрд╕рд╣ рдЕрдзрд┐рдХреГрддрддреЗрдирдВрддрд░рдЪ рдореЗрд▓ рдкреБрдвреАрд▓ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рд╕реНрд╡реАрдХрд╛рд░рд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рд╣реЗ рдпреЗрдереЗ рдХрд╛ рдбреБрдкреНрд▓рд┐рдХреЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рдорд▓рд╛ рдЦрд░реЛрдЦрд░ рд╕рдордЬрдд рдирд╛рд╣реА. "virtual_transport" рдордзреНрдпреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реЗрд▓реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯ рдЖрдореНрд╣реА рдЖрдзреАрдЪ рдирдореВрдж рдХреЗрд▓реА рдЖрд╣реЗ.

рдкрд░рдВрддреБ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рд╕рд┐рд╕реНрдЯрдо рдЦреВрдк рдЬреБрдиреА рдЖрд╣реЗ - рдХрджрд╛рдЪрд┐рдд рддреА рдЬреБрдиреНрдпрд╛ рджрд┐рд╡рд╕рд╛рдВрдкрд╛рд╕реВрди рдПрдХ рдереНрд░реЛрдмреЕрдХ рдЖрд╣реЗ.

smtpd_recipient_restrictions =
        ...

smtpd_helo_restrictions =
        ...

smtpd_client_restrictions =
        ...

рд╣реЗ рдкреНрд░рддреНрдпреЗрдХ рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░рд╕рд╛рдареА рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.

рдорд╛рдЭреНрдпрд╛рдХрдбреЗ 3 рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗрдд рдЖрдгрд┐ рднрд┐рдиреНрди рд╡рд╛рдкрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛рдВрдореБрд│реЗ рдпрд╛ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЦреВрдк рднрд┐рдиреНрди рдЖрд╣реЗрдд.

рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ - рдЕрдиреНрдпрдерд╛ рд╕реНрдкреЕрдо рддреБрдордЪреНрдпрд╛рдХрдбреЗ рдУрддрд▓рд╛ рдЬрд╛рдИрд▓ рдХрд┐рдВрд╡рд╛ рддреНрдпрд╛рд╣реВрдирд╣реА рд╡рд╛рдИрдЯ - рддреБрдордЪреНрдпрд╛рдХрдбреВрди рд╕реНрдкреЕрдо рдУрддрд▓рд╛ рдЬрд╛рдИрд▓.

# SPF
policyd-spf_time_limit = 3600

рдпреЗрдгрд╛рд░реНтАНрдпрд╛ рдЕрдХреНрд╖рд░рд╛рдВрдЪреЗ 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 рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рдЕрдХреНрд╖рд░реЗ рдкрд╛рдард╡рддрд╛рдирд╛ рд▓реЗрдЯрд░ рд░рд╛рдЙрдЯрд┐рдВрдЧрдордзреАрд▓ рд╣рд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рддрдкрд╢реАрд▓ рдЖрд╣реЗ.

рдлрд╛рдЗрд▓ тАЬ/etc/postfix/sdd_transport.pcreтАЭ:

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

рдбрд╛рд╡реАрдХрдбреЗ рд░реЗрдЧреНрдпреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рдиреНрд╕ рдЖрд╣реЗрдд. рдЙрдЬрд╡реАрдХрдбреЗ рдПрдХ рд▓реЗрдмрд▓ рдЖрд╣реЗ рдЬреЗ рдЕрдХреНрд╖рд░ рдЪрд┐рдиреНрд╣рд╛рдВрдХрд┐рдд рдХрд░рддреЗ.
рд▓реЗрдмрд▓рдЪреНрдпрд╛ рдЕрдиреБрд╖рдВрдЧрд╛рдиреЗ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ - рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдХреНрд╖рд░рд╛рд╕рд╛рдареА рдЖрдгрдЦреА рдХрд╛рд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдУрд│реА рд╡рд┐рдЪрд╛рд░рд╛рдд рдШреЗрдИрд▓.

рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрдХреНрд╖рд░рд╛рд╕рд╛рдареА рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕рдЪреА рдкреБрдирд░реНрд░рдЪрдирд╛ рдХрд╢реА рдХреЗрд▓реА рдЬрд╛рдИрд▓ рд╣реЗ тАЬmaster.cfтАЭ рдордзреНрдпреЗ рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдИрд▓.

рдУрд│реА 4, 5, 6 рдореБрдЦреНрдп рдЖрд╣реЗрдд. рдЖрдореНрд╣реА рдкрддреНрд░ рдХреЛрдгрддреНрдпрд╛ рдбреЛрдореЗрдирдЪреНрдпрд╛ рд╡рддреАрдиреЗ рдкрд╛рдард╡рдд рдЖрд╣реЛрдд, рдЖрдореНрд╣реА рд╣реЗ рд▓реЗрдмрд▓ рд▓рд╛рд╡рддреЛ.
рдкрд░рдВрддреБ рдЬреБрдиреНрдпрд╛ рдХреЛрдбрдордзреАрд▓ PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреНрдпреЗ тАЬfromтАЭ рдлреАрд▓реНрдб рдиреЗрд╣рдореА рд╕реВрдЪрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдд рдирд╛рд╣реА. рдордЧ рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡ рдмрдЪрд╛рд╡рд╛рд╕рд╛рдареА рдпреЗрддреЛ.

рд▓реЗрдЦ рдЖрдзреАрдЪ рд╡рд┐рд╕реНрддреГрдд рдЖрд╣реЗ - рдореА nginx+fpm рд╕реЗрдЯ рдХрд░реВрди рд╡рд┐рдЪрд▓рд┐рдд рд╣реЛрдК рдЗрдЪреНрдЫрд┐рдд рдирд╛рд╣реА.

рдереЛрдбрдХреНрдпрд╛рдд, рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯрд╕рд╛рдареА рдЖрдореНрд╣реА рд╕реНрд╡рддрдГрдЪреЗ рд▓рд┐рдирдХреНрд╕-рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдорд╛рд▓рдХ рд╕реЗрдЯ рдХрд░рддреЛ. рдЖрдгрд┐ рддреНрдпрд╛рдиреБрд╕рд╛рд░ рддреБрдордЪрд╛ fpm-рдкреВрд▓.

Fpm-pool php рдЪреА рдХреЛрдгрддреАрд╣реА рдЖрд╡реГрддреНрддреА рд╡рд╛рдкрд░рддреЗ (рддреНрдпрд╛рдЪ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рддреБрдореНрд╣реА php рдЪреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрдгрд┐ рдЕрдЧрджреА рд╡реЗрдЧрд│реНрдпрд╛ php.ini рд╕рдорд╕реНрдпрд╛рдВрд╢рд┐рд╡рд╛рдп рд╢реЗрдЬрд╛рд░рдЪреНрдпрд╛ рд╕рд╛рдЗрдЯреНрд╕рд╕рд╛рдареА рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ рддреЗрд╡реНрд╣рд╛ рддреЗ рдЫрд╛рди рдЖрд╣реЗ).

рддрд░, рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд┐рдирдХреНрд╕-рд╡рд╛рдкрд░рдХрд░реНрддрд╛ тАЬwww-domain2тАЭ рдЪреА рд╡реЗрдмрд╕рд╛рдЗрдЯ domain2.com рдЖрд╣реЗ. рдпрд╛ рд╕рд╛рдЗрдЯрдордзреНрдпреЗ рдлреНрд░реЙрдо рдлреАрд▓реНрдб рдирд┐рд░реНрджрд┐рд╖реНрдЯ рди рдХрд░рддрд╛ рдИрдореЗрд▓ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдХреЛрдб рдЖрд╣реЗ.

рддрд░, рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рддрд╣реА, рдЕрдХреНрд╖рд░реЗ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдкрд╛рдард╡рд┐рд▓реА рдЬрд╛рддреАрд▓ рдЖрдгрд┐ рд╕реНрдкреЕрдордордзреНрдпреЗ рдХрдзреАрд╣реА рд╕рдВрдкрдгрд╛рд░ рдирд╛рд╣реАрдд.

рдорд╛рдЭреЗ "/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}

рдпрд╛ рд╕реНрдкреЕрдорд╛рд╕рд╕рд┐рдирд╢реА рд╕рдВрдмрдВрдзрд┐рдд рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд, рддреНрдпрд╛рдмрджреНрджрд▓ рдирдВрддрд░ рдЕрдзрд┐рдХ.

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 рдкрддреНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рдЪреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ.
рдЖрдгрд┐ рдореЗрд▓рд╕рд╛рдареА, рд╣реЗ рд╡реИрд╢рд┐рд╖реНтАНрдЯреНрдп рд╣реЗ рдкреБрд╖реНрдЯреА рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ рдХреА рд╣реЗрд▓реЛ рдЬреНтАНрдпрд╛ рдкрддреНтАНрддреНтАНрдпрд╛рд╡рд░реВрди рдИ-рдореЗрд▓ рдкрд╛рдард╡рд▓реЗ рд╣реЛрддреЗ рддреНрдпрд╛рдЪреНрдпрд╛ rDNS рд╢реА рддрдВрддреЛрддрдВрдд рдЬреБрд│рддреЗ.

рдЬреНрдпрд╛рдЪреНрдпрд╛ рд╡рддреАрдиреЗ рдкрддреНрд░ рдкрд╛рдард╡рд▓реЗ рд╣реЛрддреЗ рддреНрдпрд╛ рдИрдореЗрд▓ рдбреЛрдореЗрдирд╢реА рд╣реЗрд▓реЛ рдЬреБрд│рдд рдирд╕рд▓реНрдпрд╛рд╕, рд╕реНрдкреЕрдо рдкреЙрдЗрдВрдЯ рджрд┐рд▓реЗ рдЬрд╛рддрд╛рдд.

Helo rDNS рд╢реА рдЬреБрд│рдд рдирд╛рд╣реА - рдмрд░реЗрдЪ рд╕реНрдкреЕрдо рдкреЙрдЗрдВрдЯ рджрд┐рд▓реЗ рдЬрд╛рддрд╛рдд.
рддреНрдпрд╛рдиреБрд╕рд╛рд░, рдкреНрд░рддреНрдпреЗрдХ рдбреЛрдореЗрдирдЪрд╛ рд╕реНрд╡рддрдГрдЪрд╛ IP рдкрддреНрддрд╛ рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдУрд╡реНрд╣реАрдПрдЪрд╕рд╛рдареА - рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рдЖрд░рдбреАрдПрдирдПрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдгреЗ рд╢рдХреНрдп рдЖрд╣реЗ.
tech.ru рд╕рд╛рдареА - рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд╕рдорд░реНрдердирд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
AWS рд╕рд╛рдареА, рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рд╕рдорд░реНрдердирд╛рджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рддреЗ.
тАЬinet_protocolsтАЭ рдЖрдгрд┐ тАЬsmtp_bind_address6тАЭ - рдЖрдореНрд╣реА IPv6 рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдХрд░рддреЛ.
IPv6 рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ rDNS рдЪреА рдиреЛрдВрджрдгреА рджреЗрдЦреАрд▓ рдХрд░рд╛рд╡реА рд▓рд╛рдЧреЗрд▓.
"syslog_name" - рдЖрдгрд┐ рд╣реЗ рд▓реЙрдЧ рд╡рд╛рдЪрдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реБрд▓рднрддреЗрд╕рд╛рдареА рдЖрд╣реЗ.

рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдЦрд░реЗрджреА рдХрд░рд╛ рдореА рдпреЗрдереЗ рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ.

рдпреЗрдереЗ postfix+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 {
  }
}

рд╣реА рдореБрдЦреНрдп рдбреЛрд╡реНрд╣рдХреЛрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЖрд╣реЗ.
рдпреЗрдереЗ рдЖрдореНрд╣реА рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рдЕрдХреНрд╖рдо рдХрд░рддреЛ.
рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕рдХреНрд╖рдо рдХрд░рд╛.

рдлрд╛рдЗрд▓ "/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 рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЖрдгрд┐ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕реНрд╡рддрдГ. рдЖрдгрд┐ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рддрдкрд╢реАрд▓ рдореНрд╣рдгрдЬреЗ "рд╕реНрдерд╛рдирд┐рдХ" рдирд┐рд░реНрджреЗрд╢. рдХреЛрдгрддреНрдпрд╛ рд╕реНрдерд╛рдирд┐рдХ IPv4 рд╢реА рдХрдиреЗрдХреНрдЯ рдХрд░рддрд╛рдирд╛ рдХреЛрдгрддреЗ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рд╕реВрдЪрд┐рдд рдХрд░рддреЗ.

рддрд╕реЗ, IPv6 рдпреЗрдереЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА, рдореА рд╣реА рдЪреВрдХ рдирдВрддрд░ рджреБрд░реБрд╕реНрдд рдХрд░реЗрди.
XX.XX.XX.X5 (рдбреЛрдореЗрди2) - рдХреЛрдгрддреЗрд╣реА рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдирд╛рд╣реА. рдХреНрд▓рд╛рдпрдВрдЯ рдХрдиреЗрдХреНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣рд╛рд▓рд╛ 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
}

рднрд╡рд┐рд╖реНрдпрд╛рдд рд╕реНрдкреЕрдорд╛рд╕реЕрд╕рд┐рдирд╕рд╛рдареА рдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЕрд╕реЗрд▓.

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/20-imap.conf"

protocol imap {
  mail_plugins = $mail_plugins antispam
}

рд╣реЗ рдЕрдБрдЯрд┐рд╕реНрдкреЕрдо рдкреНрд▓рдЧрдЗрди рдЖрд╣реЗ. "рд╕реНрдкреЕрдо" рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ/рд╡рд░реВрди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рд╕реНрдкреЕрдорд╛рд╕рд╕рд┐рди рдкреНрд░рд╢рд┐рдХреНрд╖рдгрд╛рд╕рд╛рдареА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдлрд╛рдЗрд▓ "/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
}

рд╕реНрдкреЕрдо рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ/рд╡рд░реВрди рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛рдирд╛ рд╕реНрдкреЕрдорд╛рд╕рд╕рд┐рди рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╕реЗрдЯрд┐рдВрдЧреНрдЬ.

рдлрд╛рдЗрд▓ "/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';

рд╣реЗ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕рд╕рд╛рдареА рд╕рдорд╛рди рд╕реЗрдЯрд┐рдВрдЧреНрдЬрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЖрд╣реЗ.

рдлрд╛рдЗрд▓ "/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

рдЖрдореНрд╣реА рд▓реЛрдб рдХреЗрд▓реНрдпрд╛рд╡рд░ рд╕реНрд╡рдпрдВ-рд▓реЛрдбрд┐рдВрдЧ рд╕реНрдкреЕрдорд╕рд╛рд╕рд┐рди рд╕реЗрд╡рд╛ рд╕рдХреНрд╖рдо рдХрд░рддреЛ.

рдлрд╛рдЗрд▓ "/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

рддреБрдореНрд╣рд╛рд▓рд╛ mysql рдордзреНтАНрдпреЗ "sa" рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╣ "рдкрд╛рд╕рд╡рд░реНрдб" рдкрд╛рд╕рд╡рд░реНрдбрд╕рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ "sa" рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдХрд╛рд╣реАрддрд░реА рдкреБрд░реЗрд╢реА рдкреБрдирд░реНрд╕реНрдерд┐рдд рдХрд░рд╛).

рд░рд┐рдкреЛрд░реНрдЯ_рд╕реЗрдл - рд╣реЗ рдкрддреНрд░рд╛рдРрд╡рдЬреА рд╕реНрдкреЕрдо рдИрдореЗрд▓рдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рдкрд╛рдард╡реЗрд▓.
use_bayes рд╣реА spamassassin рдорд╢реАрди рд▓рд░реНрдирд┐рдВрдЧ рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рдЖрд╣реЗрдд.

рдЙрд░реНрд╡рд░рд┐рдд spamassassin рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд▓реЗрдЦрд╛рдд рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓реЗ рд╣реЛрддреЗ.

рд╕рд╛рдорд╛рдиреНрдп рд╕реЗрдЯрд┐рдВрдЧ "рд╕реНрдкреЕрдорд╕реЕрд╕рд┐рди".
рдирд╡реАрди рд╕реНрдкреЕрдо рдИрдореЗрд▓ IMAP тАЬрд╕реНрдкреЕрдотАЭ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рд╣рд▓рд╡рдгреНрдпрд╛рдмрджреНрджрд▓.
Dovecot + SpamAssassin рдЪреНрдпрд╛ рд╕рд╛рдзреНрдпрд╛ рд╕рдВрдпреЛрдЬрдирд╛рдмрджреНрджрд▓.
рдЗрдореЕрдк рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдЕрдХреНрд╖рд░реЗ рд╣рд▓рд╡рддрд╛рдирд╛ рдореА рд╕реНрдкреЕрдорд╛рд╕рд╕рд┐рди рд▓рд░реНрдирд┐рдВрдЧ рдерд┐рдЕрд░реА рд╡рд╛рдЪрдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ (рдЖрдгрд┐ рдореА рддреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рдд рдирд╛рд╣реА).

============= рд╕рдорд╛рдЬрд╛рд▓рд╛ рдЖрд╡рд╛рд╣рди =============

рдореА рдлреЙрд░рд╡рд░реНрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреА рдкрд╛рддрд│реА рдХрд╢реА рд╡рд╛рдврд╡рд╛рдпрдЪреА рдпрд╛рдмрджреНрджрд▓ рд╕рдореБрджрд╛рдпрд╛рдордзреНрдпреЗ рдПрдХ рдХрд▓реНрдкрдирд╛ рджреЗрдЦреАрд▓ рдЯрд╛рдХреВ рдЗрдЪреНрдЫрд┐рддреЛ. рдореА рдореЗрд▓рдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдд рдЦреВрдк рдордЧреНрди рдЕрд╕рд▓реНрдпрд╛рдиреЗ.

рдЬреЗрдгреЗрдХрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ (рдЖрдЙрдЯрд▓реБрдХ, рдердВрдбрд░рдмрд░реНрдб, рдмреНрд░рд╛рдЙрдЭрд░-рдкреНрд▓рдЧрдЗрди, ...) рдХреА рдПрдХ рдЬреЛрдбреА рддрдпрд╛рд░ рдХрд░реВ рд╢рдХреЗрд▓. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдгрд┐ рдЦрд╛рдЬрдЧреА. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ - DNS рд╡рд░ рдкрд╛рдард╡рд╛. рдЦрд╛рдЬрдЧреА - рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ рдмрдЪрдд рдХрд░рд╛. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддреНрдпрд╛рд▓рд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рддреАрд▓.

рдЖрдгрд┐ рдЕрд╢рд╛ рдЕрдХреНрд╖рд░рд╛рдВрд╕рд╣ рд╕реНрдкреЕрдордкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рд╣реЛрдп, рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╣рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА) - рддреБрдореНрд╣рд╛рд▓рд╛ 3 рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓:

  1. рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ DKIM рд╕реНрд╡рд╛рдХреНрд╖рд░реА, рдЕрдирд┐рд╡рд╛рд░реНрдп SPF, рдЕрдирд┐рд╡рд╛рд░реНрдп rDNS.
  2. рдЕрдБрдЯрд┐рд╕реНрдкреЕрдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ + рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рддреНрдпрд╛рдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕.
  3. рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрд╕рд╛ рдЕрд╕рд╛рд╡рд╛ рдХреА рдкрд╛рдард╡рдгрд╛рд░реНтАНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдмрд╛рдЬреВрдкреЗрдХреНрд╖рд╛ 100 рдкрдЯ рдЬрд╛рд╕реНрдд CPU рдкреЙрд╡рд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдирд╡рд░ рдЦрд░реНрдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддреНрд░рд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, "рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА" рдПрдХ рдорд╛рдирдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рд╛. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдкреИрдХреА рдПрдХ (рдореЗрд▓рдмреЙрдХреНрд╕) рджреБрд╕рд░реНрдпрд╛ рдореЗрд▓рдмреЙрдХреНрд╕рд▓рд╛ рд╕рдВрд▓рдЧреНрдирдХ рдЕрд╕рд▓реЗрд▓реЗ рдкрддреНрд░ рдкрд╛рдард╡рддреЗ. рдкрддреНрд░рд╛рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдордЬрдХреВрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрдгрд┐ рдореЗрд▓рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдорд╛рд▓рдХрд╛рдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА (рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдЦрд╛рдЬрдЧреА рдХреАрд╕рд╣) рдЖрд╣реЗ.

рдЖрдкрдг рдкреНрд░рддреНрдпреЗрдХ рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖рдд: рджреЛрди рдХреА рджреЗрдЦреАрд▓ рдмрдирд╡реВ рд╢рдХрддрд╛. рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╣реА рдСрдлрд░ рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкрд╛рдард╡реВ рд╢рдХрддреЛ (рд╡рд┐рд╢реЗрд╖рдд: рдпрд╛ рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдмрдирд╡рд▓реЗрд▓рд╛). рдкреБрдвреЗ, рдкрд╣рд┐рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдг рдкрддреНрд░ рдкрд╛рдард╡рддреЛ (рджреБрд╕рд▒реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╕рд╣ рдХреВрдЯрдмрджреНрдз рдХреЗрд▓реЗрд▓реЗ) - рдЬреЗ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рджреБрд╕рд░рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдорд╛рдиреВ рд╢рдХрддреЛ. рдкреБрдвреЗ, рджреБрд╕рд░рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкрддреНрд░ рдкрд╛рдард╡рддреЛ - рдЖрдгрд┐ рдирдВрддрд░ рдкрд╣рд┐рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЪреЕрдиреЗрд▓рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдорд╛рдиреВ рд╢рдХрддреЛ.

рд░рд╕реНрддреНрдпрд╛рд╡рд░реАрд▓ рдХрд│рд╛ рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдиреЗ рдлреНрд▓реЕрд╢ рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╡рд╛рдкрд░реВрди рдХрд┐рдорд╛рди рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд╣реЗ рд╕рд░реНрд╡ рдХрд╛рд░реНрдп рдХрд░рддреЗ (рдкреНрд░рд╢реНрди "рддреНрдпрд╛рд╕рд╛рдареА рдХреЛрдг рдкреИрд╕реЗ рджреЗрдИрд▓?"):
10 рд╡рд░реНрд╖рд╛рдВрд╕рд╛рдареА $3 рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реА рдкреЛрд╕реНрдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рдЬреЗ рдкреНрд░реЗрд╖рдХрд╛рд▓рд╛ dns рдордзреНрдпреЗ рд╕реВрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓ рдХреА "рдорд╛рдЭреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд│рд╛ рддреЗрдереЗ рдЖрд╣реЗрдд." рдЖрдгрд┐ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рджреЗрддреАрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЕрд╢рд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рдгреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ.
gmail рд╢реЗрд╡рдЯреА рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреА рдХрдорд╛рдИ рдХрд░рдд рдЖрд╣реЗ. $10 рдкреНрд░рддрд┐ 3 рд╡рд░реНрд╖рд╛рдВрд╕рд╛рдареА - рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░ рдЪреЕрдиреЗрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░.

============= рдирд┐рд╖реНрдХрд░реНрд╖ =============

рд╕рдВрдкреВрд░реНрдг рд▓реЗрдЦрд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдПрдХрд╛ рдорд╣рд┐рдиреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрдгрд╛рд░ рдЖрд╣реЗ рдЖрдгрд┐ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╣ рдбреЛрдореЗрди рдЦрд░реЗрджреА рдХрд░рдгрд╛рд░ рдЖрд╣реЗ.

рдкрд░рдВрддреБ рдЬреАрд╡рди рдкрд░рд┐рд╕реНрдерд┐рддреА рд╡рд┐рдХрд╕рд┐рдд рдЭрд╛рд▓реА рдореНрд╣рдгреВрди рд╣реА рд╕рдорд╕реНрдпрд╛ 2 рдорд╣рд┐рдиреНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдУрдврд▓реА рдЧреЗрд▓реА.
рдЖрдгрд┐ рдореНрд╣рдгреВрди, рдЬреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдкреБрдиреНрд╣рд╛ рдореЛрдХрд│рд╛ рд╡реЗрд│ рдорд┐рд│рд╛рд▓рд╛ рддреЗрд╡реНрд╣рд╛, рдкреНрд░рдХрд╛рд╢рди рдЖрдгрдЦреА рдПрдХ рд╡рд░реНрд╖ рдЦреЗрдЪреВрди рдЬрд╛рдгреНрдпрд╛рдЪрд╛ рдзреЛрдХрд╛ рдкрддреНрдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдореА рд▓реЗрдЦ рдЖрд╣реЗ рддрд╕рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.

рдЬрд░ "рдкрд░рдВрддреБ рдпрд╛рдЪреЗ рдкреБрд░реЗрд╢рд╛ рддрдкрд╢реАрд▓рд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА" рдЕрд╕реЗ рдмрд░реЗрдЪ рдкреНрд░рд╢реНрди рдЕрд╕рддреАрд▓, рддрд░ рдХрджрд╛рдЪрд┐рдд рдирд╡реАрди рдбреЛрдореЗрди рдЖрдгрд┐ рдирд╡реАрди SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╣ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░ рдШреЗрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреА рддрд╛рдХрдж рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рд╕рд░реНрд╡ рдЧрд╣рд╛рд│ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рддрдкрд╢реАрд▓ рдУрд│рдЦрд╛.

рдорд▓рд╛ рдкреЛрд╕реНрдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдмрджреНрджрд▓рдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдмрджреНрджрд▓ рдЕрднрд┐рдкреНрд░рд╛рдп рджреЗрдЦреАрд▓ рдорд┐рд│рд╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд▓реНрдкрдирд╛ рдЖрд╡рдбрд▓реНрдпрд╛рд╕, рдореА rfc рд╕рд╛рдареА рдорд╕реБрджрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рддрд╛рдХрдж рд╢реЛрдзрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди.

рд▓реЗрдЦрд╛рдЪрд╛ рдореЛрдард╛ рднрд╛рдЧ рдХреЙрдкреА рдХрд░рддрд╛рдирд╛, рдпрд╛ рд▓реЗрдЦрд╛рдЪреА рд▓рд┐рдВрдХ рджреНрдпрд╛.
рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рднрд╛рд╖реЗрдд рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рддрд╛рдирд╛, рдпрд╛ рд▓реЗрдЦрд╛рдЪреА рд▓рд┐рдВрдХ рджреНрдпрд╛.
рдореА рд╕реНрд╡рддрдГ рддреЗ рдЗрдВрдЧреНрд░рдЬреАрдд рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди рдЖрдгрд┐ рдХреНрд░реЙрд╕-рд░реЗрдлрд░рдиреНрд╕ рд╕реЛрдбреЗрди.


рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛