рд╣рд╛ рд▓реЗрдЦ рдЖрдзреБрдирд┐рдХ рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдХрд╕рд╛ рд╕реЗрдЯ рдХрд░рд╛рдпрдЪрд╛ рдпрд╛рдмрджреНрджрд▓ рдЖрд╣реЗ.
рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ + рдбреЛрд╡реНрд╣рдХреЛрдЯ. 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
"рдЯреЗрдмрд▓" рдирд┐рдпрдорд╛рдВрдмрджреНрджрд▓ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓:
============= 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
рд╣реЗ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдирд╛рд╣реА - рдореА рдХрдиреЗрдХреНрд╢рди рдПрдиреНрдХреНрд░рд┐рдкреНрдЯ рдХрд░рдгреНрдпрд╛рдЪреА рд╣реА рдкрджреНрдзрдд рдирд┐рд╡рдбрд▓реА.
============= рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ =============
рдореБрдЦреНрдп рдкреЕрдХреЗрдЬ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ:
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" - рдЖрдгрд┐ рд╣реЗ рд▓реЙрдЧ рд╡рд╛рдЪрдгреНрдпрд╛рдЪреНрдпрд╛ рд╕реБрд▓рднрддреЗрд╕рд╛рдареА рдЖрд╣реЗ.
рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдЦрд░реЗрджреА рдХрд░рд╛
============= рдХрдмреВрддрд░ =============
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 рд╕реЗрдЯрд┐рдВрдЧреНрдЬ рд▓реЗрдЦрд╛рдд рдкреВрд░реНрд╡реА рд╡рд╛рдкрд░рд▓реЗ рд╣реЛрддреЗ.
============= рд╕рдорд╛рдЬрд╛рд▓рд╛ рдЖрд╡рд╛рд╣рди =============
рдореА рдлреЙрд░рд╡рд░реНрдб рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреА рдкрд╛рддрд│реА рдХрд╢реА рд╡рд╛рдврд╡рд╛рдпрдЪреА рдпрд╛рдмрджреНрджрд▓ рд╕рдореБрджрд╛рдпрд╛рдордзреНрдпреЗ рдПрдХ рдХрд▓реНрдкрдирд╛ рджреЗрдЦреАрд▓ рдЯрд╛рдХреВ рдЗрдЪреНрдЫрд┐рддреЛ. рдореА рдореЗрд▓рдЪреНрдпрд╛ рд╡рд┐рд╖рдпрд╛рдд рдЦреВрдк рдордЧреНрди рдЕрд╕рд▓реНрдпрд╛рдиреЗ.
рдЬреЗрдгреЗрдХрд░реВрди рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддреНрдпрд╛рдЪреНрдпрд╛ рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ (рдЖрдЙрдЯрд▓реБрдХ, рдердВрдбрд░рдмрд░реНрдб, рдмреНрд░рд╛рдЙрдЭрд░-рдкреНрд▓рдЧрдЗрди, ...) рдХреА рдПрдХ рдЬреЛрдбреА рддрдпрд╛рд░ рдХрд░реВ рд╢рдХреЗрд▓. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЖрдгрд┐ рдЦрд╛рдЬрдЧреА. рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ - DNS рд╡рд░ рдкрд╛рдард╡рд╛. рдЦрд╛рдЬрдЧреА - рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ рдмрдЪрдд рдХрд░рд╛. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╛рдкреНрддрдХрд░реНрддреНрдпрд╛рд▓рд╛ рдкрд╛рдард╡рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рдЕрд╕рддреАрд▓.
рдЖрдгрд┐ рдЕрд╢рд╛ рдЕрдХреНрд╖рд░рд╛рдВрд╕рд╣ рд╕реНрдкреЕрдордкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА (рд╣реЛрдп, рдореЗрд▓ рд╕рд░реНрд╡реНрд╣рд░ рд╕рд╛рдордЧреНрд░реА рдкрд╛рд╣рдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА) - рддреБрдореНрд╣рд╛рд▓рд╛ 3 рдирд┐рдпрдо рд▓рд╛рдЧреВ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓:
- рдЕрдирд┐рд╡рд╛рд░реНрдп рд╡рд╛рд╕реНрддрд╡рд┐рдХ DKIM рд╕реНрд╡рд╛рдХреНрд╖рд░реА, рдЕрдирд┐рд╡рд╛рд░реНрдп SPF, рдЕрдирд┐рд╡рд╛рд░реНрдп rDNS.
- рдЕрдБрдЯрд┐рд╕реНрдкреЕрдо рдкреНрд░рд╢рд┐рдХреНрд╖рдг рд╡рд┐рд╖рдпрд╛рд╡рд░реАрд▓ рдиреНрдпреВрд░рд▓ рдиреЗрдЯрд╡рд░реНрдХ + рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рддреНрдпрд╛рдЪрд╛ рдбреЗрдЯрд╛рдмреЗрд╕.
- рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЕрд╕рд╛ рдЕрд╕рд╛рд╡рд╛ рдХреА рдкрд╛рдард╡рдгрд╛рд░реНтАНрдпрд╛ рдмрд╛рдЬреВрдиреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдгрд╛рд░реНтАНрдпрд╛ рдмрд╛рдЬреВрдкреЗрдХреНрд╖рд╛ 100 рдкрдЯ рдЬрд╛рд╕реНрдд CPU рдкреЙрд╡рд░ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рдирд╡рд░ рдЦрд░реНрдЪ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддреНрд░рд╛рдВрд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, "рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА" рдПрдХ рдорд╛рдирдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рд╛. рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдкреИрдХреА рдПрдХ (рдореЗрд▓рдмреЙрдХреНрд╕) рджреБрд╕рд░реНрдпрд╛ рдореЗрд▓рдмреЙрдХреНрд╕рд▓рд╛ рд╕рдВрд▓рдЧреНрдирдХ рдЕрд╕рд▓реЗрд▓реЗ рдкрддреНрд░ рдкрд╛рдард╡рддреЗ. рдкрддреНрд░рд╛рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдордЬрдХреВрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдЖрдгрд┐ рдореЗрд▓рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдорд╛рд▓рдХрд╛рдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА (рдХреНрд▓рд╛рдпрдВрдЯрдЪреНрдпрд╛ рдмрд╛рдЬреВрд▓рд╛ рдЦрд╛рдЬрдЧреА рдХреАрд╕рд╣) рдЖрд╣реЗ.
рдЖрдкрдг рдкреНрд░рддреНрдпреЗрдХ рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рд╡рд┐рд╢реЗрд╖рдд: рджреЛрди рдХреА рджреЗрдЦреАрд▓ рдмрдирд╡реВ рд╢рдХрддрд╛. рдкреНрд░рд╛рдкреНрддрдХрд░реНрддрд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╣реА рдСрдлрд░ рд╕реНрд╡реАрдХрд╛рд░реВ рд╢рдХрддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкрд╛рдард╡реВ рд╢рдХрддреЛ (рд╡рд┐рд╢реЗрд╖рдд: рдпрд╛ рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░рд╛рд╕рд╛рдареА рджреЗрдЦреАрд▓ рдмрдирд╡рд▓реЗрд▓рд╛). рдкреБрдвреЗ, рдкрд╣рд┐рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдг рдкрддреНрд░ рдкрд╛рдард╡рддреЛ (рджреБрд╕рд▒реНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреАрд╕рд╣ рдХреВрдЯрдмрджреНрдз рдХреЗрд▓реЗрд▓реЗ) - рдЬреЗ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рджреБрд╕рд░рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рд╕рдВрдкреНрд░реЗрд╖рдг рдЪреЕрдиреЗрд▓ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдорд╛рдиреВ рд╢рдХрддреЛ. рдкреБрдвреЗ, рджреБрд╕рд░рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рдПрдХ рдирд┐рдпрдВрддреНрд░рдг рдкрддреНрд░ рдкрд╛рдард╡рддреЛ - рдЖрдгрд┐ рдирдВрддрд░ рдкрд╣рд┐рд▓рд╛ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдЪреЕрдиреЗрд▓рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдорд╛рдиреВ рд╢рдХрддреЛ.
рд░рд╕реНрддреНрдпрд╛рд╡рд░реАрд▓ рдХрд│рд╛ рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА, рдкреНрд░реЛрдЯреЛрдХреЙрд▓рдиреЗ рдлреНрд▓реЕрд╢ рдбреНрд░рд╛рдЗрд╡реНрд╣ рд╡рд╛рдкрд░реВрди рдХрд┐рдорд╛рди рдПрдХ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреА рдкреНрд░рд╕рд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
рдЖрдгрд┐ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреА рдЧреЛрд╖реНрдЯ рдореНрд╣рдгрдЬреЗ рд╣реЗ рд╕рд░реНрд╡ рдХрд╛рд░реНрдп рдХрд░рддреЗ (рдкреНрд░рд╢реНрди "рддреНрдпрд╛рд╕рд╛рдареА рдХреЛрдг рдкреИрд╕реЗ рджреЗрдИрд▓?"):
10 рд╡рд░реНрд╖рд╛рдВрд╕рд╛рдареА $3 рдкрд╛рд╕реВрди рд╕реБрд░реВ рд╣реЛрдгрд╛рд░реА рдкреЛрд╕реНрдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛. рдЬреЗ рдкреНрд░реЗрд╖рдХрд╛рд▓рд╛ dns рдордзреНрдпреЗ рд╕реВрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓ рдХреА "рдорд╛рдЭреНрдпрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХрд│рд╛ рддреЗрдереЗ рдЖрд╣реЗрдд." рдЖрдгрд┐ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрдиреЗрдХреНрд╢рди рд╕реБрд░реВ рдХрд░рдгреНрдпрд╛рдЪреА рд╕рдВрдзреА рджреЗрддреАрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЕрд╢рд╛ рдХрдиреЗрдХреНрд╢рди рд╕реНрд╡реАрдХрд╛рд░рдгреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ.
gmail рд╢реЗрд╡рдЯреА рддреНрдпрд╛рдЪреНрдпрд╛ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдВрдЪреА рдХрдорд╛рдИ рдХрд░рдд рдЖрд╣реЗ. $10 рдкреНрд░рддрд┐ 3 рд╡рд░реНрд╖рд╛рдВрд╕рд╛рдареА - рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╡реНрдпрд╡рд╣рд╛рд░ рдЪреЕрдиреЗрд▓ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдЕрдзрд┐рдХрд╛рд░.
============= рдирд┐рд╖реНрдХрд░реНрд╖ =============
рд╕рдВрдкреВрд░реНрдг рд▓реЗрдЦрд╛рдЪреА рдЪрд╛рдЪрдгреА рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдПрдХрд╛ рдорд╣рд┐рдиреНрдпрд╛рд╕рд╛рдареА рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░ рднрд╛рдбреНрдпрд╛рдиреЗ рдШреЗрдгрд╛рд░ рдЖрд╣реЗ рдЖрдгрд┐ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╣ рдбреЛрдореЗрди рдЦрд░реЗрджреА рдХрд░рдгрд╛рд░ рдЖрд╣реЗ.
рдкрд░рдВрддреБ рдЬреАрд╡рди рдкрд░рд┐рд╕реНрдерд┐рддреА рд╡рд┐рдХрд╕рд┐рдд рдЭрд╛рд▓реА рдореНрд╣рдгреВрди рд╣реА рд╕рдорд╕реНрдпрд╛ 2 рдорд╣рд┐рдиреНрдпрд╛рдВрдкрд░реНрдпрдВрдд рдУрдврд▓реА рдЧреЗрд▓реА.
рдЖрдгрд┐ рдореНрд╣рдгреВрди, рдЬреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдкреБрдиреНрд╣рд╛ рдореЛрдХрд│рд╛ рд╡реЗрд│ рдорд┐рд│рд╛рд▓рд╛ рддреЗрд╡реНрд╣рд╛, рдкреНрд░рдХрд╛рд╢рди рдЖрдгрдЦреА рдПрдХ рд╡рд░реНрд╖ рдЦреЗрдЪреВрди рдЬрд╛рдгреНрдпрд╛рдЪрд╛ рдзреЛрдХрд╛ рдкрддреНрдХрд░рдгреНрдпрд╛рдРрд╡рдЬреА рдореА рд▓реЗрдЦ рдЖрд╣реЗ рддрд╕рд╛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдирд┐рд░реНрдгрдп рдШреЗрддрд▓рд╛.
рдЬрд░ "рдкрд░рдВрддреБ рдпрд╛рдЪреЗ рдкреБрд░реЗрд╢рд╛ рддрдкрд╢реАрд▓рд╛рдд рд╡рд░реНрдгрди рдХреЗрд▓реЗрд▓реЗ рдирд╛рд╣реА" рдЕрд╕реЗ рдмрд░реЗрдЪ рдкреНрд░рд╢реНрди рдЕрд╕рддреАрд▓, рддрд░ рдХрджрд╛рдЪрд┐рдд рдирд╡реАрди рдбреЛрдореЗрди рдЖрдгрд┐ рдирд╡реАрди SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рд╕рд╣ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрд╡реНрд╣рд░ рдШреЗрдгреНрдпрд╛рдЪреА рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХрд░рдгреНрдпрд╛рдЪреА рддрд╛рдХрдж рдЕрд╕реЗрд▓ рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рд╕рд░реНрд╡ рдЧрд╣рд╛рд│ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рддрдкрд╢реАрд▓ рдУрд│рдЦрд╛.
рдорд▓рд╛ рдкреЛрд╕реНрдЯрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдмрджреНрджрд▓рдЪреНрдпрд╛ рдХрд▓реНрдкрдирд╛рдВрдмрджреНрджрд▓ рдЕрднрд┐рдкреНрд░рд╛рдп рджреЗрдЦреАрд▓ рдорд┐рд│рд╡рд╛рдпрдЪрд╛ рдЖрд╣реЗ. рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд▓реНрдкрдирд╛ рдЖрд╡рдбрд▓реНрдпрд╛рд╕, рдореА rfc рд╕рд╛рдареА рдорд╕реБрджрд╛ рд▓рд┐рд╣рд┐рдгреНрдпрд╛рдЪреА рддрд╛рдХрдж рд╢реЛрдзрдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди.
рд▓реЗрдЦрд╛рдЪрд╛ рдореЛрдард╛ рднрд╛рдЧ рдХреЙрдкреА рдХрд░рддрд╛рдирд╛, рдпрд╛ рд▓реЗрдЦрд╛рдЪреА рд▓рд┐рдВрдХ рджреНрдпрд╛.
рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рднрд╛рд╖реЗрдд рднрд╛рд╖рд╛рдВрддрд░ рдХрд░рддрд╛рдирд╛, рдпрд╛ рд▓реЗрдЦрд╛рдЪреА рд▓рд┐рдВрдХ рджреНрдпрд╛.
рдореА рд╕реНрд╡рддрдГ рддреЗ рдЗрдВрдЧреНрд░рдЬреАрдд рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░реЗрди рдЖрдгрд┐ рдХреНрд░реЙрд╕-рд░реЗрдлрд░рдиреНрд╕ рд╕реЛрдбреЗрди.
рд╕реНрддреНрд░реЛрдд: www.habr.com