Debian + Postfix + Dovecot + Multidomain + SSL + IPv6 + OpenVPN + рдмрд╣реБ-рдЗрдиреНрдЯрд░рдлреЗрд╕ + SpamAssassin-learn + Bind

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

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдпреА рд╕рдмреИ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд╕рд┐рдХреНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрди, рддрд░ рдпрд╕реНрддреЛ рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рд▓реЗрдЦ рддрдкрд╛рдЗрдБрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред

рд▓реЗрдЦрд▓реЗ рд╕рдмреИ рд╡рд┐рд╡рд░рдгрд╣рд░реВ рд╡реНрдпрд╛рдЦреНрдпрд╛ рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрджреИрдиред рд╡реНрдпрд╛рдЦреНрдпрд╛ рдорд╛рдирдХрдХреЛ рд░реВрдкрдорд╛ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди рд╡рд╛ рдЙрдкрднреЛрдХреНрддрд╛рдХреЛ рджреГрд╖реНрдЯрд┐рдХреЛрдгрдмрд╛рдЯ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рднрдиреЗрд░ рдЬрд╛рдиреНрдЫред

рдореЗрд▓ рд╕рд░реНрднрд░ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдкреНрд░реЗрд░рдгрд╛ рдореЗрд░реЛ рд▓рд╛рдореЛ рд╕рдордпрдХреЛ рд╕рдкрдирд╛ рд╣реЛред рдпреЛ рдореВрд░реНрдЦ рд▓рд╛рдЧреНрди рд╕рдХреНрдЫ, рддрд░ IMHO, рдпреЛ рддрдкрд╛рдИрдВрдХреЛ рдордирдкрд░реНрдиреЗ рдмреНрд░рд╛рдиреНрдбрдмрд╛рдЯ рдирдпрд╛рдБ рдХрд╛рд░рдХреЛ рд╕рдкрдирд╛ рджреЗрдЦреНрдиреБ рднрдиреНрджрд╛ рдзреЗрд░реИ рд░рд╛рдореНрд░реЛ рдЫред

IPv6 рд╕реЗрдЯрдЕрдк рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рджреБрдИрд╡рдЯрд╛ рдкреНрд░реЗрд░рдгрд╛рд╣рд░реВ рдЫрдиреНред рдПрдХ рдЖрдИрдЯреА рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд▓реЗ рдмрд╛рдБрдЪреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░рдиреНрддрд░ рдирдпрд╛рдБ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рд╕рд┐рдХреНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдо рд╕реЗрдиреНрд╕рд░рд╢рд┐рдк рд╡рд┐рд░реБрджреНрдзрдХреЛ рд▓рдбрд╛рдИрдорд╛ рдореЗрд░реЛ рдорд╛рдореВрд▓реА рдпреЛрдЧрджрд╛рди рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред

OpenVPN рд╕реЗрдЯрдЕрдк рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЗрд░рдгрд╛ рднрдиреЗрдХреЛ рд╕реНрдерд╛рдиреАрдп рдореЗрд╕рд┐рдирдорд╛ IPv6 рдХрд╛рдо рдЧрд░реНрди рдорд╛рддреНрд░ рд╣реЛред
рдзреЗрд░реИ рднреМрддрд┐рдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЗрд░рдгрд╛ рднрдиреЗрдХреЛ рдореЗрд░реЛ рд╕рд░реНрднрд░рдорд╛ рдПрдЙрдЯрд╛ рдЗрдиреНрдЯрд░рдлреЗрд╕ "рдврд┐рд▓реЛ рддрд░ рдЕрд╕реАрдорд┐рдд" рд░ рдЕрд░реНрдХреЛ "рдЫрд┐рдЯреЛ рддрд░ рдЯреНрдпрд╛рд░рд┐рдлрдХреЛ рд╕рд╛рде" рдЫред

Bind рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЗрд░рдгрд╛ рднрдиреЗрдХреЛ рдореЗрд░реЛ ISP рд▓реЗ рдПрдХ рдЕрд╕реНрдерд┐рд░ DNS рд╕рд░реНрднрд░ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ, рд░ рдЧреБрдЧрд▓ рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдВ рдЕрд╕рдлрд▓ рд╣реБрдиреНрдЫред рдо рд╡реНрдпрдХреНрддрд┐рдЧрдд рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╕реНрдерд┐рд░ DNS рд╕рд░реНрднрд░ рдЪрд╛рд╣рдиреНрдЫреБред

рд▓реЗрдЦ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЗрд░рдгрд╛ - рдореИрд▓реЗ 10 рдорд╣рд┐рдирд╛ рдЕрдШрд┐ рдорд╕реНрдпреМрджрд╛ рд▓реЗрдЦреЗрдХреЛ рдерд┐рдПрдБ, рд░ рдореИрд▓реЗ рдпрд╕рд▓рд╛рдИ рджреБрдИ рдкрдЯрдХ рд╣реЗрд░реЗрдХреЛ рдЫреБред рд▓реЗрдЦрдХрд▓рд╛рдИ рдирд┐рдпрдорд┐рдд рд░реВрдкрдорд╛ рдЖрд╡рд╢реНрдпрдХ рднрдП рдкрдирд┐, рдЕрд░реВрд▓рд╛рдИ рдкрдирд┐ рдпрд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрдиреЗ рдЙрдЪреНрдЪ рд╕рдореНрднрд╛рд╡рдирд╛ рд╣реБрдиреНрдЫред

рдореЗрд▓ рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рдХреБрдиреИ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рд╕рдорд╛рдзрд╛рди рдЫреИрдиред рддрд░ рдо рдХреЗрд╣рд┐ рд▓реЗрдЦреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБ "рдпрд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рддреНрдпрд╕рдкрдЫрд┐, рдЬрдм рд╕рдмреИ рдХреБрд░рд╛рд▓реЗ рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрджрдЫ, рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд╛рдорд╛рдирд╣рд░реВ рдлреНрдпрд╛рдБрдХреНрдиреБрд╣реЛрд╕реНред"

рдХрдореНрдкрдиреА tech.ru рд╕рдБрдЧ Colocation рд╕рд░реНрднрд░ рдЫред OVH, Hetzner, AWS рд╕рдБрдЧ рддреБрд▓рдирд╛ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред рдпреЛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрди, tech.ru рд╕рдВрдЧ рд╕рд╣рдпреЛрдЧ рдзреЗрд░реИ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд╣реБрдиреЗрдЫред

рдбреЗрдмрд┐рдпрди 9 рд╕рд░реНрднрд░рдорд╛ рд╕реНрдерд╛рдкрд┐рдд рдЫред

рд╕рд░реНрднрд░рдорд╛ реи рдЗрдиреНрдЯрд░рдлреЗрд╕ `eno2` рд░ `eno1` рдЫрдиреНред рдкрд╣рд┐рд▓реЛ рдЕрд╕реАрдорд┐рдд рдЫ, рд░ рджреЛрд╕реНрд░реЛ рдХреНрд░рдорд╢рдГ рдЫрд┐рдЯреЛ рдЫред

рддреНрдпрд╣рд╛рдБ рей рд╡рдЯрд╛ рд╕реНрдерд┐рд░ IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рдЫрдиреН, XX.XX.XX.X3 рд░ XX.XX.XX.X0 рд░ XX.XX.XX.X1 `eno2` рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд░ XX.XX.XX.X1 `eno5` рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ ред

рдЙрдкрд▓рдмреНрдз XXXX:XXXX:XXXX:XXXX::/64 IPv6 рдареЗрдЧрд╛рдирд╛рд╣рд░реВрдХреЛ рдкреВрд▓ рдЬреБрди `eno1` рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рддреЛрдХрд┐рдПрдХреЛ рдЫ рд░ рддреНрдпрд╕рдмрд╛рдЯ XXXX:XXXX:XXXX:XXXX:1:2::/96 рдореЗрд░реЛ рдЕрдиреБрд░реЛрдзрдорд╛ `eno2` рд▓рд╛рдИ рддреЛрдХрд┐рдПрдХреЛ рдерд┐рдпреЛред

рддреНрдпрд╣рд╛рдБ рей рдбреЛрдореЗрдирд╣рд░реВ `domain3.com`, `domain1.com`, `domain2.com` рдЫрдиреНред рддреНрдпрд╣рд╛рдБ `domain3.com` рд░ `domain1.com` рдХреЛ рд▓рд╛рдЧрд┐ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫред

рдорд╕рдБрдЧ рдПрдЙрдЯрд╛ Google рдЦрд╛рддрд╛ рдЫ рдЬрд╕рдорд╛ рдо рдореЗрд░реЛ рдореЗрд▓рдмрдХреНрд╕рд▓рд╛рдИ рд▓рд┐рдЩреНрдХ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБ[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]` (рдореЗрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИ рд░ рд╕реАрдзрд╛ рдЬреАрдореЗрд▓ рдЗрдиреНрдЯрд░рдлреЗрд╕рдмрд╛рдЯ рдореЗрд▓ рдкрдард╛рдЙрдиреЗ)ред
рддреНрдпрд╣рд╛рдБ рдореЗрд▓рдмрдХреНрд╕ рд╣реБрдиреБрдкрд░реНрдЫ[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]`, рдЗрдореЗрд▓рдХреЛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЬрд╕рдмрд╛рдЯ рдо рдореЗрд░реЛ рдЬреАрдореЗрд▓рдорд╛ рд╣реЗрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рд░ `рдХреЛ рддрд░реНрдлрдмрд╛рдЯ рдХреЗрд╣рд┐ рдкрдард╛рдЙрди рд╕рдХреНрд╖рдо рд╣реБрдиреБ рджреБрд░реНрд▓рдн рдЫ[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдорд╛рд░реНрдлрддред

рддреНрдпрд╣рд╛рдБ рдореЗрд▓рдмрдХреНрд╕ рд╣реБрдиреБрдкрд░реНрдЫ[рдИрдореЗрд▓ рд╕реБрд░рдХреНрд╖рд┐рдд]', рдЬреБрди рдЗрднрд╛рдиреЛрднрд▓реЗ рдЖрдлреНрдиреЛ рдЖрдИрдлреЛрдирдмрд╛рдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫрдиреНред

рдкрдард╛рдЗрдПрдХрд╛ рдЗрдореЗрд▓рд╣рд░реВрд▓реЗ рд╕рдмреИ рдЖрдзреБрдирд┐рдХ рдПрдиреНрдЯрд┐рд╕реНрдкреНрдпрд╛рдо рдЖрд╡рд╢реНрдпрдХрддрд╛рд╣рд░реВ рдкреВрд░рд╛ рдЧрд░реНрдиреБрдкрд░реНрдЫред
рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдиреЗрдЯрд╡рд░реНрдХрд╣рд░реВрдорд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЗрдиреНрдХреНрд░рд┐рдкреНрд╕рдирдХреЛ рдЙрдЪреНрдЪрддрдо рд╕реНрддрд░ рд╣реБрдиреБрдкрд░реНрдЫред
рдкрддреНрд░рд╣рд░реВ рдкрдард╛рдЙрди рд░ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рджреБрд╡реИрдХреЛ рд▓рд╛рдЧрд┐ IPv6 рд╕рдорд░реНрдерди рд╣реБрдиреБрдкрд░реНрдЫред
рддреНрдпрд╣рд╛рдБ рдПрдХ SpamAssassin рд╣реБрдиреБрдкрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдЗрдореЗрд▓рд╣рд░реВ рдХрд╣рд┐рд▓реНрдпреИ рдореЗрдЯрд╛рдЙрдБрджреИрдиред рд░ рдпреЛ рдпрд╛ рдд рдмрд╛рдЙрдиреНрд╕ рд╣реБрдиреЗрдЫ рд╡рд╛ рдЫреЛрдбреНрдиреЗрдЫ рд╡рд╛ IMAP "рд╕реНрдкреНрдпрд╛рдо" рдлреЛрд▓реНрдбрд░рдорд╛ рдкрдард╛рдЙрдиреЗрдЫред
SpamAssassin рд╕реНрд╡рдд: рд╕рд┐рдХрд╛рдЗ рдХрдиреНрдлрд┐рдЧрд░ рд╣реБрдиреБрдкрд░реНрдЫ: рдпрджрд┐ рдореИрд▓реЗ рд╕реНрдкреНрдпрд╛рдо рдлреЛрд▓реНрдбрд░рдорд╛ рдПрдЙрдЯрд╛ рдкрддреНрд░ рд╕рд╛рд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдпрд╕рд▓реЗ рдпрд╕рдмрд╛рдЯ рд╕рд┐рдХреНрдиреЗрдЫ; рдпрджрд┐ рдореИрд▓реЗ рд╕реНрдкреНрдпрд╛рдо рдлреЛрд▓реНрдбрд░рдмрд╛рдЯ рдПрдЙрдЯрд╛ рдЕрдХреНрд╖рд░ рд╕рд╛рд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдпрд╕рд▓реЗ рдпрд╕рдмрд╛рдЯ рд╕рд┐рдХреНрдиреЗрдЫред SpamAssassin рддрд╛рд▓рд┐рдордХреЛ рдирддрд┐рдЬрд╛рд▓реЗ рдкрддреНрд░ рд╕реНрдкреНрдпрд╛рдо рдлреЛрд▓реНрдбрд░рдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрдиреНрдЫ рдХрд┐ рд╣реБрдБрджреИрди рднрдиреНрдиреЗ рдХреБрд░рд╛рд▓рд╛рдИ рдкреНрд░рднрд╛рд╡ рдкрд╛рд░реНрдЫред
PHP рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВ рджрд┐рдЗрдПрдХреЛ рд╕рд░реНрднрд░рдорд╛ рдХреБрдиреИ рдкрдирд┐ рдбреЛрдореЗрдирдХреЛ рддрд░реНрдлрдмрд╛рдЯ рдореЗрд▓ рдкрдард╛рдЙрди рд╕рдХреНрд╖рдо рд╣реБрдиреБрдкрд░реНрдЫред
рддреНрдпрд╣рд╛рдБ IPv6 рдирднрдПрдХреЛ рдХреНрд▓рд╛рдЗрдиреНрдЯрдорд╛ IPv6 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рднрдПрдХреЛ Openvpn рд╕реЗрд╡рд╛ рд╣реБрдиреБрдкрд░реНрдЫред

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

============ рдмрд╣реБ-рдЗрдиреНрдЯрд░рдлреЗрд╕ =============

рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ "/etc/network/interfaces" рдорд╛ рд▓реЗрдЦреНрдиреБрдкрд░реНрдЫред

# The loopback network interface
auto lo
iface lo inet loopback

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

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

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

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

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

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

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

рдпреА рд╕реЗрдЯрд┐рдЩрд╣рд░реВ tech.ru рдорд╛ рдХреБрдиреИ рдкрдирд┐ рд╕рд░реНрднрд░рдорд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ (рд╕рдорд░реНрдердирд╕рдБрдЧ рдереЛрд░реИ рд╕рдордиреНрд╡рдпрдХреЛ рд╕рд╛рде) рд░ рдпрд╕рд▓реЗ рддреБрд░реБрдиреНрддреИ рдЬрд╕реНрддреИ рдХрд╛рдо рдЧрд░реНрдиреЗрдЫред

рдпрджрд┐ рддрдкрд╛рдЗрдБрд╕рдБрдЧ Hetzner, OVH рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рдЪреАрдЬрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдЕрдиреБрднрд╡ рдЫ рднрдиреЗ, рдпреЛ рддреНрдпрд╣рд╛рдБ рдлрд░рдХ рдЫред рдЭрдиреН рдЧрд╛рд╣реНрд░реЛред

eno1 рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб #1 рдХреЛ рдирд╛рдо рд╣реЛ (рдврд┐рд▓реЛ рддрд░ рдЕрд╕реАрдорд┐рдд)ред
eno2 рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛рд░реНрдб #2 рдХреЛ рдирд╛рдо рд╣реЛ (рдЫрд┐рдЯреЛ, рддрд░ рдЯреНрдпрд╛рд░рд┐рдл рд╕рдВрдЧ)ред
tun0 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: XXXX::/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 рд╕рдВрдХреЗрдд рдЧрд░рд┐рдПрдХреЛ рдЫ (рдХрд┐рдирднрдиреЗ bind рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрд┐рдд рдЫ) рд░ 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-рдирд┐рд░рдиреНрддрд░" рдкреНрдпрд╛рдХреЗрдЬ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

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" рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдЙрдкрдХрд░рдгрдорд╛ рдкрдард╛рдЗрдиреНрдЫред

рдЖрдИрдУрдПрд╕ рдЧреНрд░рд╛рд╣рдХрд╣рд░реБ рдХреЛ рд▓рд╛рдЧреА рддрдкрд╛рдИрд▓реЗ рдирд┐рдореНрди рдЪрд╛рд▓ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:
"tls-auth" рдЯреНрдпрд╛рдЧрдХреЛ рд╕рд╛рдордЧреНрд░реА рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВ рдмрд┐рдирд╛ рд╣реБрдиреБрдкрд░реНрдЫред
рд░ рддреБрд░реБрдиреНрддреИ "tls-auth" рдЯреНрдпрд╛рдЧ рдЕрдШрд┐ "key-direction 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 рд╣реБрдиреБрдкрд░реНрдЫ)ред
рд░ рдЙрдкрд╕рд░реНрдЧ рдЕрдиреМрдареЛ рдЫ, рдпреЛ tun0 рдиреЗрдЯрд╡рд░реНрдХрд╕рдБрдЧ рдореЗрд▓ рдЦрд╛рдБрджреИрдиред
рддрд░ рдареАрдХ рдЫ, рдо рдпрд╕рд▓рд╛рдИ рддреНрдпрд╕реНрддреИ рдЫреЛрдбреНрдЫреБред

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-рдЕрдиреБрд░реЛрдзрдХреЛ рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд▓ рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рднрдПрдХрд╛рд╣рд░реВ рджреНрд╡рд╛рд░рд╛ рдкрдвреНрди рд╕рдХрд┐рдиреНрдЫ, рдЕрд░реНрдерд╛рддреН, рдЕрдиреБрд░реЛрдз рдЧрд░рд┐рдПрдХреЛ рд╕рд░реНрднрд░ рдорд╛рддреНрд░ред
Http-рдЕрдиреБрд░реЛрдзрдорд╛ рдХрдореНрддрд┐рдорд╛ рдПрдЙрдЯрд╛ URI рд╕рдорд╛рд╡реЗрд╢ рд╣реБрдиреНрдЫред рддреНрдпрд╕рдХрд╛рд░рдг, рдпрджрд┐ рдХреБрдиреИ рджреЗрд╢рд▓реЗ рд╕рдореНрдкреВрд░реНрдг рд╕рд╛рдЗрдЯрдорд╛ рд╣реЛрдЗрди, рддрд░ рд╡рд┐рд╢реЗрд╖ рдкреГрд╖реНрдардорд╛ рдкрд╣реБрдБрдЪ рдкреНрд░рддрд┐рдмрдиреНрдзрд┐рдд рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗ, https рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рдЫред

рдЪрд░рдг # 2 - рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ред
рд╡реЗрдм рд╕рд░реНрднрд░рд▓реЗ рд╕рдбрдХрдорд╛ рд╕рдЬрд┐рд▓реИ рдкрдвреНрди рд╕рдХрд┐рдиреЗ рдЬрд╡рд╛рдл рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
рд╕рдорд╛рдзрд╛рди рдЕрддреНрдпрдиреНрдд рд╕рд░рд▓ рдЫ - рдмреНрд░рд╛рдЙрдЬрд░рд▓реЗ рд╕реНрдерд╛рдиреАрдп рд░реВрдкрдорд╛ рдкреНрд░рддреНрдпреЗрдХ https рд╕рд╛рдЗрдЯрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд╛рди рдирд┐рдЬреА-рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдЬреЛрдбреА рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫред
рд░ рд╕рд╛рдЗрдЯрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрдХреЛ рд▓рд╛рдЧрд┐ рдЕрдиреБрд░реЛрдзрдХреЛ рд╕рд╛рде, рдпрд╕рд▓реЗ рдпрд╕рдХреЛ рд╕реНрдерд╛рдиреАрдп рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдкрдард╛рдЙрдБрдЫред
рд╡реЗрдм рд╕рд░реНрднрд░рд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдореНрдЭрдиреНрдЫ рд░, http-response рдкрдард╛рдЙрдБрджрд╛, рдпрд╕рд▓рд╛рдИ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╕рдБрдЧ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрджрдЫред
рдЕрдм http-рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреНрд▓рд╛рдЗрдиреНрдЯрдХреЛ рдмреНрд░рд╛рдЙрдЬрд░ рдирд┐рдЬреА рдХреБрдЮреНрдЬреАрдХреЛ рдорд╛рд▓рд┐рдХрд▓реЗ рдорд╛рддреНрд░ рдбрд┐рдХреНрд░рд┐рдкреНрдЯ рдЧрд░реНрди рд╕рдХреНрдЫ (рдЕрд░реНрдерд╛рдд, рдЧреНрд░рд╛рд╣рдХ рдЖрдлреИрдВ)ред

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

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

рдЕрдм рддреНрдпрд╣рд╛рдБ https рдХреЛ рд▓рд╛рдЧрд┐ SSL рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рднрдиреНрдиреЗ рдПрдХ рд╕рд░рд▓ рдмреБрдЭрд╛рдЗ рдЫред
рдпрджрд┐ рддрдкрд╛рдЗрдБ рдЖрдлреНрдиреЛ рджрд┐рдорд╛рдЧ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпреЛ рд╕реНрдкрд╖реНрдЯ рд╣реБрдиреЗрдЫ рдХрд┐ рдХрд╕рд░реА рд╡рд┐рд╢реЗрд╖ рд╕реЗрд╡рд╛рд╣рд░реВрд▓реЗ рдпрд╕ рд╕рдВрд░рдЪрдирд╛рдорд╛ рдХреЗрд╣рд┐ рд╣реНрдпрд╛рдХ рдЧрд░реНрди рд╕рдХреНрдЫред рддрд░ рдпрд╕рд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рд░рд╛рдХреНрд╖рд╕реА рдкреНрд░рдпрд╛рд╕рд╣рд░реВ рдЦрд░реНрдЪ рдЧрд░реНрдиреЗрдЫред
рд░ NSA рд╡рд╛ CIA рднрдиреНрджрд╛ рд╕рд╛рдирд╛ рд╕рдВрдЧрдардирд╣рд░реВ - VIP рдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдЕрд╡рд╕реНрдерд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕реНрддрд░ рд╣реНрдпрд╛рдХ рдЧрд░реНрди рд▓рдЧрднрдЧ рдЕрд╕рдореНрднрд╡ рдЫред

рдо ssh рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдердкреНрдиреЗрдЫреБред рддреНрдпрд╣рд╛рдБ рдХреБрдиреИ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВ рдЫреИрдирдиреН, рддреНрдпрд╕реИрд▓реЗ рддрдкрд╛рдИрдВ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ? рд╕рдорд╕реНрдпрд╛ рджреБрдИ рддрд░рд┐рдХрд╛рдорд╛ рд╕рдорд╛рдзрд╛рди рд╣реБрдиреНрдЫред
рд╡рд┐рдХрд▓реНрдк ssh-рджреНрд╡рд╛рд░рд╛-рдкрд╛рд╕рд╡рд░реНрдб:
рдкрд╣рд┐рд▓реЛ рдЬрдбрд╛рдирдХреЛ рд╕рдордпрдорд╛, ssh рдХреНрд▓рд╛рдЗрдиреНрдЯрд▓реЗ рдЪреЗрддрд╛рд╡рдиреА рджрд┐рдиреБрдкрд░реНрдЫ рдХрд┐ рд╣рд╛рдореАрд╕рдБрдЧ ssh рд╕рд░реНрднрд░рдмрд╛рдЯ рдирдпрд╛рдБ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдЫред
рд░ рдердк рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд╕рдордпрдорд╛, рдпрджрд┐ рдЪреЗрддрд╛рд╡рдиреА "ssh рд╕рд░реНрднрд░рдмрд╛рдЯ рдирдпрд╛рдБ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА" рджреЗрдЦрд╛ рдкрд░реНрдпреЛ рднрдиреЗ, рдпрд╕рдХреЛ рдорддрд▓рдм рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдЗрдБрд▓рд╛рдИ рдЫрд┐рд░реНрди рдЦреЛрдЬрд┐рд░рд╣реЗрдХрд╛ рдЫрдиреНред
рд╡рд╛ рддрдкрд╛рдЗрдБ рддрдкрд╛рдЗрдБрдХреЛ рдкрд╣рд┐рд▓реЛ рдЬрдбрд╛рдирдорд╛ рд╕реБрдиреНрдиреБ рднрдПрдХреЛ рдерд┐рдпреЛ, рддрд░ рдЕрдм рддрдкрд╛рдЗрдБ рдмрд┐рдЪреМрд▓рд┐рдпрд╛ рдмрд┐рдирд╛ рд╕рд░реНрднрд░ рд╕рдВрдЧ рд╕рдВрдЪрд╛рд░ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫред
рд╡рд╛рд╕реНрддрд╡рдорд╛, рд╡рд╛рдпрд░рдЯреНрдпрд╛рдкрд┐рдЩрдХреЛ рддрдереНрдп рд╕рдЬрд┐рд▓реИ, рдЫрд┐рдЯреЛ рд░ рд╕рд╣рдЬ рд░реВрдкрдорд╛ рдкреНрд░рдХрдЯ рднрдПрдХреЛ рддрдереНрдпрдХреЛ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдпреЛ рдЖрдХреНрд░рдордг рд╡рд┐рд╢реЗрд╖ рдЧреНрд░рд╛рд╣рдХрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рддреНрд░ рд╡рд┐рд╢реЗрд╖ рдЕрд╡рд╕реНрдерд╛рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рд╡рд┐рдХрд▓реНрдк ssh-by-key:
рд╣рд╛рдореА рдлреНрд▓реНрдпрд╛рд╕ рдбреНрд░рд╛рдЗрдн рд▓рд┐рдиреНрдЫреМрдВ, рдпрд╕рдорд╛ ssh рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рд▓реЗрдЦреНрдЫреМрдВ (рддреНрдпрд╣рд╛рдБ рд╕рд░реНрддрд╣рд░реВ рд░ рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рдзреЗрд░реИ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╕реВрдХреНрд╖реНрдорддрд╛рд╣рд░реВ рдЫрдиреН, рддрд░ рдо рд╢реИрдХреНрд╖рд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓реЗрдЦреНрджреИ рдЫреБ, рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрджреЗрд╢рди рд╣реЛрдЗрди)ред
рд╣рд╛рдореА рдореЗрд╕рд┐рдирдорд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдЫреЛрдбреНрдЫреМрдВ рдЬрд╣рд╛рдБ ssh рдЧреНрд░рд╛рд╣рдХ рд╣реБрдиреЗрдЫ рд░ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдЧреЛрдкреНрдп рд░рд╛рдЦреНрдЫреМрдВред
рд╣рд╛рдореА рдлреНрд▓реНрдпрд╛рд╢ рдбреНрд░рд╛рдЗрднрд▓рд╛рдИ рд╕рд░реНрднрд░рдорд╛ рд▓реНрдпрд╛рдЙрдБрдЫреМрдВ, рдпрд╕рд▓рд╛рдИ рдШреБрд╕рд╛рдЙрдБрдЫреМрдВ, рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдЫреМрдВ, рд░ рдлреНрд▓реНрдпрд╛рд╕ рдбреНрд░рд╛рдЗрдн рдЬрд▓рд╛рдЙрдБрдЫреМрдВ рд░ рдЦрд░рд╛рдиреАрд▓рд╛рдИ рд╣рд╛рд╡рд╛рдорд╛ рдЫрд░реНрдЫреМрдВ (рд╡рд╛ рдХрдорд╕реЗрдХрдо рдпрд╕рд▓рд╛рдИ рд╢реВрдиреНрдпрд╕рдБрдЧ рдврд╛рдБрдЪрд╛рдорд╛)ред
рдпреЛ рд╕рдмреИ рдЫ - рдпрд╕реНрддреЛ рдЕрдкрд░реЗрд╢рди рдкрдЫрд┐ рдпрд╕реНрддреЛ ssh рдЬрдбрд╛рди рд╣реНрдпрд╛рдХ рдЧрд░реНрди рдЕрд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫред рдЕрд╡рд╢реНрдп рдкрдирд┐, резреж рд╡рд░реНрд╖рдорд╛ рд╕реБрдкрд░ рдХрдореНрдкреНрдпреБрдЯрд░рдорд╛ рдЯреНрд░рд╛рдлрд┐рдХ рд╣реЗрд░реНрди рд╕рдореНрднрд╡ рд╣реБрдиреЗрдЫ - рддрд░ рддреНрдпреЛ рдлрд░рдХ рдХрдерд╛ рд╣реЛред

рдо рдЕрдлрдЯреЛрдкрд┐рдХрдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдлреА рдЪрд╛рд╣рдиреНрдЫреБред

рддреНрдпрд╕реИрд▓реЗ рдЕрдм рд╕рд┐рджреНрдзрд╛рдиреНрдд рдерд╛рд╣рд╛ рдЫред рдо рддрдкрд╛рдИрдВрд▓рд╛рдИ 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 рдкреНрд░рдореБрдЦ рд╕рд┐рд░реНрдЬрдирд╛рдХреЛ рд╡рд░реНрд╖ рд╣реЛред
рдЪреЗрди рдЧрд░рд┐рдПрдХреЛ - рдкрджрдирд╛рдо рдХрд┐ рддреНрдпрд╣рд╛рдБ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдЫ (рдкрд╣рд┐рд▓реЛ рд╣рд╛рдореНрд░реЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рд╣реЛ рд░ рдмрд╛рдБрдХреА рднрдиреЗрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдЬрд╛рд░реА рдЧрд░реНрдиреЗ рдХрдореНрдкрдиреАрдмрд╛рдЯ рдЖрдПрдХреЛ рд╣реЛ)ред
crt - рдПрдХ рддрдпрд╛рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ (рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рд╕рдВрдЧ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА) рдЫ рднрдиреЗрд░ рдкрджрдирд╛рдоред

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

рдЕрдм рдкреЛрд╖реНрдЯрдлрд┐рдХреНрд╕рд▓рд╛рдИ рдерд╛рд╣рд╛ рдЫ рдХрд┐ рдореЗрд▓ рдбрднрдХреЛрдЯрд╕рдБрдЧ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдкрдЫрд┐ рдорд╛рддреНрд░ рдердк рдкрдард╛рдЙрдирдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

рдо рд╕рд╛рдБрдЪреНрдЪреИ рдмреБрдЭреНрджрд┐рди рдХрд┐рди рдпреЛ рдпрд╣рд╛рдБ рджреЛрд╣реЛрд░рд┐рдПрдХреЛ рдЫред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ "рднрд░реНрдЪреБрдЕрд▓_рдЯреНрд░рд╛рдиреНрд╕рдкреЛрд░реНрдЯ" рдорд╛ рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рд╕рдмреИ рдХреБрд░рд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░рд┐рд╕рдХреЗрдХрд╛ рдЫреМрдВред

рддрд░ рдкреЛрд╕реНрдЯрдлрд┐рдХреНрд╕ рдкреНрд░рдгрд╛рд▓реА рдзреЗрд░реИ рдкреБрд░рд╛рдиреЛ рдЫ - рд╕рд╛рдпрдж рдпреЛ рдкреБрд░рд╛рдиреЛ рджрд┐рдирд╣рд░реБ рдХреЛ рдПрдХ рдереНрд░реЛрдмреНрдпрд╛рдХ рд╣реЛред

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 рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рд╕рдВрдХреЗрдд рдЧрд░рд┐рдПрдХреЛ рдЫреИрдиред рддреНрдпрд╕рдкрдЫрд┐ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдЙрджреНрдзрд╛рд░рдорд╛ рдЖрдЙрдБрдЫред

рд▓реЗрдЦ рдкрд╣рд┐рд▓реЗ рдиреИ рд╡реНрдпрд╛рдкрдХ рдЫ - рдо 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 рдареЗрдЧрд╛рдирд╛ рд╣реБрдиреБрдкрд░реНрдЫред
OVH рдХреЛ рд▓рд╛рдЧрд┐ - рдХрдиреНрд╕реЛрд▓рдорд╛ rDNS рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред
tech.ru рдХреЛ рд▓рд╛рдЧрд┐ - рд╕рдорд╕реНрдпрд╛ рд╕рдорд░реНрдерди рдорд╛рд░реНрдлрдд рд╣рд▓ рдЧрд░рд┐рдПрдХреЛ рдЫред
AWS рдХреЛ рд▓рд╛рдЧрд┐, рд╕рдорд╕реНрдпрд╛ рд╕рдорд░реНрдерди рдорд╛рд░реНрдлрдд рд╣рд▓ рдЧрд░рд┐рдПрдХреЛ рдЫред
"inet_protocols" рд░ "smtp_bind_address6" - рд╣рд╛рдореА IPv6 рд╕рдорд░реНрдерди рд╕рдХреНрд╖рдо рдЧрд░реНрдЫреМрдВред
IPv6 рдХреЛ рд▓рд╛рдЧреА рддрдкрд╛рдИрд▓реЗ rDNS рджрд░реНрддрд╛ рдЧрд░реНрди рдкрдирд┐ рдЖрд╡рд╢реНрдпрдХ рдЫред
"syslog_name" - рд░ рдпреЛ рд▓рдЧрд╣рд░реВ рдкрдвреНрди рд╕рдЬрд┐рд▓реЛрдХреЛ рд▓рд╛рдЧрд┐ рд╣реЛред

рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдХрд┐рдиреНрдиреБрд╣реЛрд╕реН рдо рдпрд╣рд╛рдБ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреБ.

рдпрд╣рд╛рдБ postfix + dovecot рд▓рд┐рдЩреНрдХ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ.

SPF рд╕реЗрдЯ рдЧрд░реНрджреИред

============= рдвреБрдХреБрд░=============

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

Mysql рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ, рдкреНрдпрд╛рдХреЗрдЬрд╣рд░реВ рдЖрдлреИрдВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИред

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/10-auth.conf"

disable_plaintext_auth = yes
auth_mechanisms = plain login

рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдорд╛рддреНрд░ рдЗрдиреНрдХреНрд░рд┐рдкреНрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/10-mail.conf"

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

рдпрд╣рд╛рдБ рд╣рд╛рдореА рдЕрдХреНрд╖рд░рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рднрдгреНрдбрд╛рд░рдг рд╕реНрдерд╛рди рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВред

рдо рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рднрдгреНрдбрд╛рд░рдг рд░ рдбреЛрдореЗрдирджреНрд╡рд╛рд░рд╛ рд╕рдореВрд╣рдмрджреНрдз рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/10-master.conf"

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

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

рдпреЛ рдореБрдЦреНрдп dovecot рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рд╣реЛред
рдпрд╣рд╛рдБ рд╣рд╛рдореА рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдЬрдбрд╛рдирд╣рд░реВ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдЫреМрдВред
рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдЬрдбрд╛рдирд╣рд░реВ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/10-ssl.conf"

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

ssl рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИред рд╣рд╛рдореА рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВ рдХрд┐ ssl рдЖрд╡рд╢реНрдпрдХ рдЫред
рд░ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЖрдлреИрдВред рд░ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг "рд╕реНрдерд╛рдиреАрдп" рдирд┐рд░реНрджреЗрд╢рди рд╣реЛред рдХреБрди рд╕реНрдерд╛рдиреАрдп IPv4 рдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрд╛ рдХреБрди SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рд╕рдВрдХреЗрдд рдЧрд░реНрджрдЫред

рд╡реИрд╕реЗ, IPv6 рдпрд╣рд╛рдБ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рдо рдкрдЫрд┐ рдпреЛ рднреВрд▓ рд╕рдЪреНрдпрд╛рдЙрдиреЗрдЫреБред
XX.XX.XX.X5 (domain2) - рдХреБрдиреИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫреИрдиред рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрди рддрдкрд╛рдИрдВрд▓реЗ domain1.com рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред
XX.XX.XX.X2 (domain3) - рддреНрдпрд╣рд╛рдБ рдПрдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЫ, рддрдкрд╛рдИрдВ domain1.com рд╡рд╛ domain3.com рдЧреНрд░рд╛рд╣рдХрд╣рд░реВрд▓рд╛рдИ рдЬрдбрд╛рди рдЧрд░реНрди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рдлрд╛рдЗрд▓ "/etc/dovecot/conf.d/15-lda.conf"

protocol lda {
  mail_plugins = $mail_plugins sieve
}

рдпреЛ рднрд╡рд┐рд╖реНрдпрдорд╛ spamassassin рдХреЛ рд▓рд╛рдЧрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреЗрдЫред

рдлрд╛рдЗрд▓ "/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 рдХреЛ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╕рдВрдпреЛрдЬрдирдХреЛ рдмрд╛рд░реЗрдорд╛.
рдо imap рдлреЛрд▓реНрдбрд░рд╣рд░реВрдорд╛ рдЕрдХреНрд╖рд░рд╣рд░реВ рд╕рд╛рд░реНрджрд╛ рд╕реНрдкреНрдпрд╛рдорд╛рд╕рд╛рд╕рд┐рди рд╕рд┐рдХреНрдиреЗ рд╕рд┐рджреНрдзрд╛рдиреНрдд рдкрдвреНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрдЫреБ (рд░ рдо рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░реНрджрд┐рди).

======================================================

рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░рд┐рдПрдХрд╛ рдкрддреНрд░рд╣рд░реВрдХреЛ рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕реНрддрд░ рдХрд╕рд░реА рдмрдврд╛рдЙрдиреЗ рднрдиреНрдиреЗ рдмрд╛рд░реЗрдорд╛ рдкрдирд┐ рдо рд╕рдореБрджрд╛рдпрдорд╛ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рдХрд┐рдирдХрд┐ рдо рдореЗрд▓рдХреЛ рд╡рд┐рд╖рдпрдорд╛ рдЧрд╣рд┐рд░реЛ рд░реВрдкрдорд╛ рдбреБрдмреЗрдХреЛ рдЫреБред

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

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

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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдкрддреНрд░рд╣рд░реВрдХреЛ рдЕрддрд┐рд░рд┐рдХреНрдд, "рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╛рдЪрд╛рд░ рд╕реБрд░реБ рдЧрд░реНрди" рдПрдХ рдорд╛рдирдХ рдкреНрд░рд╕реНрддрд╛рд╡ рдкрддреНрд░ рд╡рд┐рдХрд╛рд╕ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдордзреНрдпреЗ рдПрдХ (рдореЗрд▓рдмрдХреНрд╕) рд▓реЗ рдЕрд░реНрдХреЛ рдореЗрд▓рдмрдХреНрд╕рдорд╛ рдПрдЯреНрдпрд╛рдЪрдореЗрдиреНрдЯ рд╕рд╣рд┐рддрдХреЛ рдкрддреНрд░ рдкрдард╛рдЙрдБрдЫред рдкрддреНрд░рдорд╛ рдкрддреНрд░рд╛рдЪрд╛рд░ рд░ рдореЗрд▓рдмрдХреНрд╕рдХреЛ рдорд╛рд▓рд┐рдХрдХреЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА (рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖рдорд╛ рдирд┐рдЬреА рдХреБрдЮреНрдЬреА рд╕рд╣рд┐рдд) рдХреЛ рд▓рд╛рдЧреА рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рд╕рдВрдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓ рд╕реБрд░реБ рдЧрд░реНрди рдкрд╛рда рдкреНрд░рд╕реНрддрд╛рд╡ рд╕рдорд╛рд╡реЗрд╢ рдЫред

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

рд╕рдбрдХрдорд╛ рдХреБрдЮреНрдЬреАрд╣рд░реВрдХреЛ рдЕрд╡рд░реЛрдзрд╕рдБрдЧ рд▓рдбреНрди, рдкреНрд░реЛрдЯреЛрдХрд▓рд▓реЗ рдлреНрд▓реНрдпрд╛рд╕ рдбреНрд░рд╛рдЗрдн рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдореНрддрд┐рдорд╛ рдПрдЙрдЯрд╛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреА рдкреНрд░рд╕рд╛рд░рдг рдЧрд░реНрдиреЗ рд╕рдореНрднрд╛рд╡рдирд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрдкрд░реНрдЫред

рд░ рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпреЛ рд╕рдмреИ рдХрд╛рдо рдЧрд░реНрджрдЫ (рдкреНрд░рд╢реНрди "рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдХрд╕рд▓реЗ рддрд┐рд░реНрдиреЗрдЫ?"):
10 рд╡рд░реНрд╖рдХреЛ рд▓рд╛рдЧрд┐ $ 3 рдмрд╛рдЯ рд╕реБрд░реБ рд╣реБрдиреЗ рд╣реБрд▓рд╛рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЬрд╕рд▓реЗ рдкреНрд░реЗрд╖рдХрд▓рд╛рдИ dns рдорд╛ рд╕рдВрдХреЗрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреЗрдЫ рдХрд┐ "рдореЗрд░реЛ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдХреБрдЮреНрдЬреАрд╣рд░реВ рддреНрдпрд╣рд╛рдБ рдЫрдиреНред" рд░ рддрд┐рдиреАрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕реБрд░рдХреНрд╖рд┐рдд рдЬрдбрд╛рди рд╕реБрд░реБ рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рджрд┐рдиреЗрдЫрдиреНред рдПрдХреИ рд╕рдордпрдорд╛, рддреНрдпрд╕реНрддрд╛ рдЬрдбрд╛рдирд╣рд░реВ рд╕реНрд╡реАрдХрд╛рд░ рдЧрд░реНрди рдирд┐: рд╢реБрд▓реНрдХ рдЫред
gmail рдЕрдиреНрддрддрдГ рдЖрдлреНрдирд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдореБрджреНрд░реАрдХрд░рдг рдЧрд░реНрджреИрдЫред $10 рдкреНрд░рддрд┐ 3 рд╡рд░реНрд╖рдХреЛ рд▓рд╛рдЧрд┐ - рд╕реБрд░рдХреНрд╖рд┐рдд рдкрддреНрд░рд╛рдЪрд╛рд░ рдЪреНрдпрд╛рдирд▓рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдЕрдзрд┐рдХрд╛рд░ред

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

рд╕рдореНрдкреВрд░реНрдг рд▓реЗрдЦ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди, рдо рдПрдХ рдорд╣рд┐рдирд╛рдХреЛ рд▓рд╛рдЧрд┐ рдПрдХ рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрднрд░ рднрд╛рдбрд╛рдорд╛ рд░ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд╕рд╛рде рдбреЛрдореЗрди рдХрд┐рдиреНрди рдЬрд╛рдБрджреИрдЫреБред

рддрд░ рдЬреАрд╡рди рдкрд░рд┐рд╕реНрдерд┐рддрд┐ рд╡рд┐рдХрд╕рд┐рдд рднрдпреЛ рддреНрдпрд╕реИрд▓реЗ рдпреЛ рд╕рдорд╕реНрдпрд╛ 2 рдорд╣рд┐рдирд╛ рд╕рдореНрдо рддрд╛рдирд┐рдпреЛред
рд░ рддреНрдпрд╕реИрд▓реЗ, рдЬрдм рдорд╕рдБрдЧ рдлреЗрд░рд┐ рдлреБрд░реНрд╕рджрдХреЛ рд╕рдордп рдерд┐рдпреЛ, рдореИрд▓реЗ рдкреНрд░рдХрд╛рд╢рдирд▓рд╛рдИ рдЕрд░реНрдХреЛ рд╡рд░реНрд╖ рддрд╛рдиреНрдиреЗ рдЬреЛрдЦрд┐рдордХреЛ рд╕рдЯреНрдЯрд╛ рдпрд╕ рд▓реЗрдЦрд▓рд╛рдИ рдкреНрд░рдХрд╛рд╢рд┐рдд рдЧрд░реНрдиреЗ рдирд┐рд░реНрдгрдп рдЧрд░реЗрдВред

рдпрджрд┐ рддреНрдпрд╣рд╛рдБ "рддрд░ рдпреЛ рдкрд░реНрдпрд╛рдкреНрдд рд╡рд┐рд╡рд░рдгрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫреИрди" рдЬрд╕реНрддрд╛ рдзреЗрд░реИ рдкреНрд░рд╢реНрдирд╣рд░реВ рдЫрдиреН рднрдиреЗ, рддрдм рддреНрдпрд╣рд╛рдБ рд╕рдореНрднрд╡рддрдГ рдирдпрд╛рдБ рдбреЛрдореЗрди рд░ рдирдпрд╛рдБ SSL рдкреНрд░рдорд╛рдгрдкрддреНрд░рдХреЛ рд╕рд╛рде рд╕рдорд░реНрдкрд┐рдд рд╕рд░реНрднрд░ рд▓рд┐рди рд░ рдпрд╕рд▓рд╛рдИ рдЕрдЭ рд╡рд┐рд╕реНрддреГрдд рд░реВрдкрдорд╛ рд╡рд░реНрдгрди рдЧрд░реНрдиреЗ рд╢рдХреНрддрд┐ рд╣реБрдиреЗрдЫ рд░, рдзреЗрд░реИ рдЬрд╕реЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд░реВрдкрдорд╛, рд╕рдмреИ рдЫреБрдЯреЗрдХрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдгрд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдо рд╣реБрд▓рд╛рдХ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдмрд╛рд░реЗ рд╡рд┐рдЪрд╛рд░рд╣рд░реВрдорд╛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдпреЛ рд╡рд┐рдЪрд╛рд░ рдордирдкрд░реНрдЫ рднрдиреЗ, рдо rfc рдХреЛ рд▓рд╛рдЧрд┐ рдорд╕реНрдпреМрджрд╛ рд▓реЗрдЦреНрдиреЗ рд╢рдХреНрддрд┐ рдЦреЛрдЬреНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБред

рд▓реЗрдЦрдХреЛ рдареВрд▓реЛ рднрд╛рдЧ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрджрд╛, рдпреЛ рд▓реЗрдЦрдХреЛ рд▓рд┐рдЩреНрдХ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдХреБрдиреИ рдЕрдиреНрдп рднрд╛рд╖рд╛рдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрджрд╛, рдпреЛ рд▓реЗрдЦрдХреЛ рд▓рд┐рдЩреНрдХ рдкреНрд░рджрд╛рди рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рдо рдпрд╕рд▓рд╛рдИ рдЕрдВрдЧреНрд░реЗрдЬреАрдорд╛ рдЕрдиреБрд╡рд╛рдж рдЧрд░реНрдиреЗ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреЗрдЫреБ рд░ рдХреНрд░рд╕-рд░реЗрдлрд░реЗрдиреНрд╕ рдЫреЛрдбреНрдиреЗрдЫреБред


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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди