2010 рдордзреНрдпреЗ рдХрдВрдкрдиреА рд╡рд╛рд░реНрдорд┐рдВрдЧ рддреЗрдереЗ 50 рд╕рд░реНрд╡реНрд╣рд░ рдЖрдгрд┐ рдПрдХ рд╕рд╛рдзреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓ рд╣реЛрддреЗ: рдмреЕрдХрдПрдВрдб, рдлреНрд░рдВрдЯрдПрдВрдб рдЖрдгрд┐ рдлрд╛рдпрд░рд╡реЙрд▓. рд╕рд░реНрд╡реНрд╣рд░рдЪреА рд╕рдВрдЦреНрдпрд╛ рд╡рд╛рдврд▓реА, рдореЙрдбреЗрд▓ рдЕрдзрд┐рдХ рдЧреБрдВрддрд╛рдЧреБрдВрддреАрдЪреЗ рдЭрд╛рд▓реЗ: рд╕реНрдЯреЗрдЬрд┐рдВрдЧ, ACL рд╕рд╣ рдкреГрдердХ VLAN, рдирдВрддрд░ VRF рд╕рд╣ VPN, L2 рд╡рд░ ACL рдЕрд╕рд▓реЗрд▓реЗ VLAN, L3 рд╡рд░ ACL рдЕрд╕рд▓реЗрд▓реЗ VRF. рдбреЛрдХреЗ рдлрд┐рд░рдд рдЖрд╣реЗ? рдирдВрддрд░ рдЕрдзрд┐рдХ рдордЬрд╛ рдпреЗрдИрд▓.

рдЬреЗрд╡реНрд╣рд╛ 16 рд╕рд░реНрд╡реНрд╣рд░ рд╣реЛрддреЗ, рддреЗрд╡реНрд╣рд╛ рдЕрдиреЗрдХ рд╡рд┐рд╖рдо рд╡рд┐рднрд╛рдЧрд╛рдВрд╕рд╣ рдЕрд╢реНрд░реВрдВрд╢рд┐рд╡рд╛рдп рдХрд╛рдо рдХрд░рдгреЗ рдЕрд╢рдХреНрдп рдЭрд╛рд▓реЗ. рдореНрд╣рдгреВрди рдЖрдореНрд╣реА рджреБрд╕рд░рд╛ рдЙрдкрд╛рдп рд╢реЛрдзреВрди рдХрд╛рдврд▓рд╛. рдЖрдореНрд╣реА рдиреЗрдЯрдлрд┐рд▓реНрдЯрд░ рд╕реНрдЯреЕрдХ рдШреЗрддрд▓рд╛, рддреНрдпрд╛рдд рдбреЗрдЯрд╛ рд╕реНрд░реЛрдд рдореНрд╣рдгреВрди рд╕рд▓реНрд▓рд╛рдЧрд╛рд░ рдЬреЛрдбрд▓рд╛ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдЬрд▓рдж рд╡рд┐рддрд░рд┐рдд рдлрд╛рдпрд░рд╡реЙрд▓ рдорд┐рд│рд╛рд▓рд╛. рддреНрдпрд╛рдВрдиреА рд░рд╛рдЙрдЯрд░рд╡рд░ ACL рдмрджрд▓рд▓реЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪрд╛ рдмрд╛рд╣реНрдп рдЖрдгрд┐ рдЕрдВрддрд░реНрдЧрдд рдлрд╛рдпрд░рд╡реЙрд▓ рдореНрд╣рдгреВрди рд╡рд╛рдкрд░ рдХреЗрд▓рд╛. рд╕рд╛рдзрди рдбрд╛рдпрдиреЕрдорд┐рдХрд▓реА рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА BEFW рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реА, рдЬреА рд╕рд░реНрд╡рддреНрд░ рд╡рд╛рдкрд░рд▓реА рдЬрд╛рдд рд╣реЛрддреА: рдЙрддреНрдкрд╛рджрди рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рдЪрд╛ рдкреНрд░рд╡реЗрд╢ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рдкрд╛рд╕реВрди рдиреЗрдЯрд╡рд░реНрдХ рд╡рд┐рднрд╛рдЧрд╛рдВрдирд╛ рдПрдХрдореЗрдХрд╛рдВрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХрд░рдгреЗ.

Consul + iptables = :3

рд╣реЗ рд╕рд░реНрд╡ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдЖрдгрд┐ рдЖрдкрдг рдпрд╛ рдкреНрд░рдгрд╛рд▓реАрдХрдбреЗ рдмрд╛рд░рдХрд╛рдИрдиреЗ рдХрд╛ рд▓рдХреНрд╖ рджреНрдпрд╛рд╡реЗ рд╣реЗ рддреЛ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреЗрд▓. рдЗрд╡реНрд╣рд╛рди рдЕрдЧрд╛рд░рдХреЛрд╡реНрд╣ (annmuor) рд╣реЗ рдХрдВрдкрдиреАрдЪреНрдпрд╛ рдорд┐рдиреНрд╕реНрдХ рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕реЗрдВрдЯрд░рдордзреАрд▓ рджреЗрдЦрднрд╛рд▓ рд╡рд┐рднрд╛рдЧрд╛рдЪреНрдпрд╛ рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдЧрдЯрд╛рдЪреЗ рдкреНрд░рдореБрдЦ рдЖрд╣реЗрдд. рдЗрд╡реНрд╣рд╛рди рдПрдХ SELinux рдЪрд╛рд╣рддрд╛ рдЖрд╣реЗ, рддреНрдпрд╛рд▓рд╛ рдкрд░реНрд▓ рдЖрд╡рдбрддреЛ рдЖрдгрд┐ рдХреЛрдб рд▓рд┐рд╣рд┐рддреЛ. рдорд╛рд╣рд┐рддреА рд╕реБрд░рдХреНрд╖рд╛ рдЧрдЯрд╛рдЪреЗ рдкреНрд░рдореБрдЦ рдореНрд╣рдгреВрди, рддреЛ рд╣реЕрдХрд░реНрд╕рдкрд╛рд╕реВрди рд╡реЙрд░рдЧреЗрдорд┐рдВрдЧрдЪреЗ рд╕рдВрд░рдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдгрд┐ рдХрдВрдкрдиреАрдордзреАрд▓ рд╕рд░реНрд╡ рдЧреЗрдо рд╕рд░реНрд╡реНрд╣рд░рдЪреЗ рдСрдкрд░реЗрд╢рди рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд▓реЙрдЧ, рдмреЕрдХрдЕрдк рдЖрдгрд┐ R&D рд╕рд╣ рдирд┐рдпрдорд┐рддрдкрдгреЗ рдХрд╛рд░реНрдп рдХрд░рддреЛ.

рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдкрд╛рд░реНрд╢реНрд╡рднреВрдореА

рдЖрдореНрд╣реА рддреЗ рдХрд╕реЗ рдХреЗрд▓реЗ рд╣реЗ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧрдгреНрдпрд╛рдкреВрд░реНрд╡реА, рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рдердо рд╕реНрдерд╛рдирд╛рд╡рд░ рдХрд╕реЗ рдЖрд▓реЛ рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрд╛ рд╣реЛрддреА рддреЗ рд╕рд╛рдВрдЧреЗрди. рд╣реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, 9 рд╡рд░реНрд╖реЗ рдорд╛рдЧреЗ рдЬрд╛рдКрдпрд╛: 2010, рд╡рд░реНрд▓реНрдб рдСрдл рдЯрдБрдХреНрд╕ рдиреБрдХрддреЗрдЪ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ. рд╡реЙрд░рдЧреЗрдорд┐рдВрдЧрдордзреНрдпреЗ рдЕрдВрджрд╛рдЬреЗ 50 рд╕рд░реНрд╡реНрд╣рд░ рд╣реЛрддреЗ.

Consul + iptables = :3
рдХрдВрдкрдиреА рд╕рд░реНрд╡реНрд╣рд░ рд╡рд╛рдв рдЪрд╛рд░реНрдЯ.

рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓ рд╣реЛрддреЗ. рддреНрдпрд╛ рдХрд╛рд│рд╛рд╕рд╛рдареА рддреЗ рдЗрд╖реНрдЯрддрдо рд╣реЛрддреЗ.

Consul + iptables = :3
2010 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓.

рд╕рдореЛрд░рдЪреНрдпрд╛ рдЯреЛрдХрд╛рд╡рд░ рд╡рд╛рдИрдЯ рд▓реЛрдХ рдЖрд╣реЗрдд рдЬреНрдпрд╛рдВрдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рддреЛрдбрд╛рдпрдЪреЗ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрд╣реЗ. рдмреЕрдХрдПрдВрдбрд╡рд░ рдХреЛрдгрддреАрд╣реА рдлрд╛рдпрд░рд╡реЙрд▓ рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗрдереЗ 50 рд╕рд░реНрд╡реНрд╣рд░ рдЖрд╣реЗрдд, рдЖрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╕рд░реНрд╡ рдорд╛рд╣рд┐рдд рдЖрд╣реЗрдд. рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЪрд╛рдВрдЧрд▓реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

4 рд╡рд░реНрд╖рд╛рдВрдд, рд╕рд░реНрд╡реНрд╣рд░ рдлреНрд▓реАрдЯ 100 рдкрдЯреАрдиреЗ рд╡рд╛рдвреВрди 5000 рдкрд░реНрдпрдВрдд рдкреЛрд╣реЛрдЪрд▓реЗ. рдкрд╣рд┐рд▓реЗ рд╡реЗрдЧрд│реЗ рдиреЗрдЯрд╡рд░реНрдХ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ - рд╕реНрдЯреЗрдЬрд┐рдВрдЧ: рддреЗ рдЙрддреНрдкрд╛рджрдирд╛рдд рдЬрд╛рдК рд╢рдХрд▓реЗ рдирд╛рд╣реАрдд рдЖрдгрд┐ рддреЗрдереЗ рдЕрдиреЗрдХрджрд╛ рдЕрд╢рд╛ рдЧреЛрд╖реНрдЯреА рдЪрд╛рд▓реВ рд╣реЛрддреНрдпрд╛ рдЬреНрдпрд╛ рдзреЛрдХрд╛рджрд╛рдпрдХ рдЕрд╕реВ рд╢рдХрддрд╛рдд.

Consul + iptables = :3
2014 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓.

рдЬрдбрддреНрд╡рд╛рдиреБрд╕рд╛рд░, рдЖрдореНрд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░рдЪреЗ рд╕рдорд╛рди рддреБрдХрдбреЗ рд╡рд╛рдкрд░рд▓реЗ, рдЖрдгрд┐ рд╕рд░реНрд╡ рдХрд╛рдо рд╡реЗрдЧрд│реНрдпрд╛ VLAN рд╡рд░ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ: ACL VLAN рд▓рд╛ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗрдд, рдЬреЗ рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреНрдпрд╛ рдХрдиреЗрдХреНрд╢рдирд▓рд╛ рдкрд░рд╡рд╛рдирдЧреА рджреЗрддрд╛рдд рдХрд┐рдВрд╡рд╛ рдирд╛рдХрд╛рд░рддрд╛рдд.

2016 рдордзреНрдпреЗ, рд╕рд░реНрд╡реНрд╣рд░рдЪреА рд╕рдВрдЦреНрдпрд╛ 8000 рд╡рд░ рдкреЛрд╣реЛрдЪрд▓реА. рд╡реЙрд░рдЧреЗрдорд┐рдВрдЧрдиреЗ рдЗрддрд░ рд╕реНрдЯреБрдбрд┐рдУ рд╢реЛрд╖рд▓реЗ рдЖрдгрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд▓рдЧреНрди рдиреЗрдЯрд╡рд░реНрдХ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ. рддреЗ рдЖрдордЪреЗ рдЖрд╣реЗрдд рдЕрд╕реЗ рджрд┐рд╕рддреЗ, рдкрд░рдВрддреБ рдлрд╛рд░рд╕реЗ рдирд╛рд╣реА: VLAN рд╕рд╣рд╕рд╛ рднрд╛рдЧреАрджрд╛рд░рд╛рдВрд╕рд╛рдареА рдХрд╛рд░реНрдп рдХрд░рдд рдирд╛рд╣реА, рддреБрдореНрд╣рд╛рд▓рд╛ VRF рд╕рд╣ VPN рд╡рд╛рдкрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреЗ, рдЕрд▓рдЧрд╛рд╡ рдЕрдзрд┐рдХ рдХреНрд▓рд┐рд╖реНрдЯ рд╣реЛрддреЛ. ACL рдЗрдиреНрд╕реБрд▓реЗрд╢рди рдорд┐рд╢реНрд░рдг рд╡рд╛рдврд▓реЗ.

Consul + iptables = :3
2016 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓.

2018 рдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕, рдорд╢реАрдиреНрд╕рдЪрд╛ рддрд╛рдлрд╛ 16 рдкрд░реНрдпрдВрдд рд╡рд╛рдврд▓рд╛ рд╣реЛрддрд╛. рддреЗрдереЗ 000 рд╡рд┐рднрд╛рдЧ рд╣реЛрддреЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рдЙрд░реНрд╡рд░рд┐рдд рдореЛрдЬрд▓реЗ рдирд╛рд╣реА, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрд░реНрдерд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХреЗрд▓рд╛ рдЧреЗрд▓рд╛ рд╣реЛрддрд╛. рдХрдВрдЯреЗрдирд░ рдиреЗрдЯрд╡рд░реНрдХ (рдХреБрдмрд░реНрдиреЗрдЯреНрд╕), DevOps, VPN рджреНрд╡рд╛рд░реЗ рдХрдиреЗрдХреНрдЯ рдХреЗрд▓реЗрд▓реЗ рдХреНрд▓рд╛рдЙрдб рдиреЗрдЯрд╡рд░реНрдХ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, IVS рд╡рд░реВрди, рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ рдЖрд╣реЗрдд. рдмрд░реЗрдЪ рдирд┐рдпрдо рд╣реЛрддреЗ - рддреЗ рд╡реЗрджрдирд╛рджрд╛рдпрдХ рд╣реЛрддреЗ.

Consul + iptables = :3
2018 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдореЙрдбреЗрд▓ рдЖрдгрд┐ рдЕрд▓рдЧрд╛рд╡ рдкрджреНрдзрддреА.

рдЖрдпрд╕реЛрд▓реЗрд╢рдирд╕рд╛рдареА рдЖрдореНрд╣реА рд╡рд╛рдкрд░рд▓реЗ: L2 рд╡рд░ ACL рд╕рд╣ VLAN, L3 рд╡рд░ ACL рд╕рд╣ VRF, VPN рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА. рдЦреВрдк рдЬрд╛рд╕реНрдд.

рд╕рдорд╕реНрдпрд╛

рдкреНрд░рддреНрдпреЗрдХрдЬрдг ACL рдЖрдгрд┐ VLAN рд╕рд╣ рд░рд╛рд╣рддреЛ. рдХрд╛рдп рдЪреВрдХ рдЖрд╣реЗ? рд╡реЗрджрдирд╛ рд▓рдкрд╡рдд рдпрд╛ рдкреНрд░рд╢реНрдирд╛рдЪреЗ рдЙрддреНрддрд░ рд╣реЕрд░реЛрд▓реНрдб рджреЗрдИрд▓.

Consul + iptables = :3

рдЕрдиреЗрдХ рд╕рдорд╕реНрдпрд╛ рд╣реЛрддреНрдпрд╛, рдкрдг рдкрд╛рдЪ рдореЛрдареНрдпрд╛ рд╣реЛрддреНрдпрд╛.

  • рдирд╡реАрди рдирд┐рдпрдорд╛рдВрд╕рд╛рдареА рднреМрдорд┐рддреАрдп рдХрд┐рдВрдордд рд╡рд╛рдв. рдкреНрд░рддреНрдпреЗрдХ рдирд╡реАрди рдирд┐рдпрдорд╛рд▓рд╛ рдЖрдзреАрдЪреНрдпрд╛ рдирд┐рдпрдорд╛рдкреЗрдХреНрд╖рд╛ рдЬреЛрдбрдгреНрдпрд╛рд╕рд╛рдареА рдЬрд╛рд╕реНрдд рд╡реЗрд│ рд▓рд╛рдЧрд▓рд╛, рдХрд╛рд░рдг рдЖрдзреАрдкрд╛рд╕реВрди рдЕрд╕рд╛ рдирд┐рдпрдо рдЖрд╣реЗ рдХрд╛ рд╣реЗ рдкрд╛рд╣рдгреЗ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрддреЗ.
  • рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдлрд╛рдпрд░рд╡реЙрд▓ рдирд╛рд╣реА. рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╕реЗ рддрд░реА рдПрдХрдореЗрдХрд╛рдВрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реЗ рдХреЗрд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ рдЖрдгрд┐ рдЖрдд рдЖрдзреАрдЪ рдкреБрд░реЗрд╢реА рд╕рдВрд╕рд╛рдзрдиреЗ рдирд╡реНрд╣рддреА.
  • рдирд┐рдпрдо рдмрд░реЗрдЪ рджрд┐рд╡рд╕ рд▓рд╛рдЧреВ рд╣реЛрддреЗ. рдСрдкрд░реЗрдЯрд░ рдПрдХрд╛ рддрд╛рд╕рд╛рдд рдПрдХ рд╕реНрдерд╛рдирд┐рдХ рдирд┐рдпрдо рд╣рд╛рддрд╛рдиреЗ рд▓рд┐рд╣реВ рд╢рдХрддрд╛рдд. рдЬрд╛рдЧрддрд┐рдХ рдПрдХрд╛рд▓рд╛ рдЕрдиреЗрдХ рджрд┐рд╡рд╕ рд▓рд╛рдЧрд▓реЗ.
  • рдСрдбрд┐рдЯрд┐рдВрдЧ рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рдЕрдбрдЪрдгреА. рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯрдкрдгреЗ, рддреЗ рд╢рдХреНрдп рдирд╡реНрд╣рддреЗ. рдкрд╣рд┐рд▓реЗ рдирд┐рдпрдо 2010 рдордзреНрдпреЗ рдкрд░рдд рд▓рд┐рд╣рд┐рд▓реЗ рдЧреЗрд▓реЗ рд╣реЛрддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреЗ рдмрд╣реБрддреЗрдХ рд▓реЗрдЦрдХ рдпрд╛рдкреБрдвреЗ рдХрдВрдкрдиреАрд╕рд╛рдареА рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реАрдд.
  • рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛ рдирд┐рдпрдВрддреНрд░рдгрд╛рдЪреА рдирд┐рдореНрди рдкрд╛рддрд│реА. рд╣реА рдореБрдЦреНрдп рд╕рдорд╕реНрдпрд╛ рдЖрд╣реЗ - рдЖрдкрд▓реНрдпрд╛ рджреЗрд╢рд╛рдд рдХрд╛рдп рдЪрд╛рд▓рд▓реЗ рдЖрд╣реЗ рд╣реЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЪрд╛рдВрдЧрд▓реЗ рдорд╛рд╣рд┐рдд рдирд╡реНрд╣рддреЗ.

2018 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрднрд┐рдпрдВрддрд╛ рдЕрд╕реЗ рджрд┐рд╕рд▓реЗ рдЬреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдиреЗ рдРрдХрд▓реЗ: тАЬрдХрд╛рд╣реА ACL рд╣рд╡реЗ рдЖрд╣реЗ.тАЭ

Consul + iptables = :3

рдЙрдкрд╛рдп

2018 рдЪреНрдпрд╛ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдпрд╛рдмрд╛рдмрдд рдХрд╛рд╣реАрддрд░реА рдХрд░рд╛рдпрдЪреЗ рдард░рд╡рд▓реЗ рд╣реЛрддреЗ.

рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪреА рдХрд┐рдВрдордд рд╕рддрдд рд╡рд╛рдврдд рдЖрд╣реЗ. рд╕реБрд░реБрд╡рд╛рддреАрдЪрд╛ рдореБрджреНрджрд╛ рдЕрд╕рд╛ рд╣реЛрддрд╛ рдХреА рдореЛрдареНрдпрд╛ рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░рд╛рдВрдиреА рд╡реЗрдЧрд│реНрдпрд╛ VLAN рдЖрдгрд┐ ACL рд▓рд╛ рд╕рдорд░реНрдерди рджреЗрдгреЗ рдмрдВрдж рдХреЗрд▓реЗ рдХрд╛рд░рдг рдбрд┐рд╡реНрд╣рд╛рдЗрд╕реЗрд╕рдЪреА рдореЗрдорд░реА рд╕рдВрдкрд▓реА.

рдЙрдкрд╛рдп: рдЖрдореНрд╣реА рдорд╛рдирд╡реА рдШрдЯрдХ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓рд╛ рдЖрдгрд┐ рдЬрд╛рд╕реНрддреАрдд рдЬрд╛рд╕реНрдд рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рддрд░рддреВрдж рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХреЗрд▓реА.

рдирд╡реАрди рдирд┐рдпрдо рд▓рд╛рдЧреВ рд╣реЛрдгреНрдпрд╛рд╕ рдмрд░рд╛рдЪ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ. рдЙрдкрд╛рдп: рдирд┐рдпрдорд╛рдВрдЪреНрдпрд╛ рд╡рд╛рдкрд░рд╛рд╕ рдЧрддреА рджреНрдпрд╛, рддреЗ рд╡рд┐рддрд░рд┐рдд рдЖрдгрд┐ рд╕рдорд╛рдВрддрд░ рдХрд░рд╛. рдпрд╛рд╕рд╛рдареА рд╡рд┐рддрд░реАрдд рдкреНрд░рдгрд╛рд▓реА рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реБрди рдирд┐рдпрдо рд╕реНрд╡рддрдГрдЪ рд╡рд┐рддрд░реАрдд рдХреЗрд▓реЗ рдЬрд╛рддреАрд▓, rsync рдХрд┐рдВрд╡рд╛ SFTP рд╢рд┐рд╡рд╛рдп рд╣рдЬрд╛рд░ рд╕рд┐рд╕реНрдЯрдорд▓рд╛.

рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреНрдпреЗ рдлрд╛рдпрд░рд╡реЙрд▓ рдирд╛рд╣реА. рдПрдХрд╛рдЪ рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рд╕реЗрд╡рд╛ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реНрдпрд╛рд╡рд░ рд╡рд┐рднрд╛рдЧрд╛рдВрдордзреАрд▓ рдлрд╛рдпрд░рд╡реЙрд▓ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдпреЗрдК рд▓рд╛рдЧрд▓рд╛. рдЙрдкрд╛рдп: рд╣реЛрд╕реНрдЯ рд╕реНрддрд░рд╛рд╡рд░ рдлрд╛рдпрд░рд╡реЙрд▓ рд╡рд╛рдкрд░рд╛ - рд╣реЛрд╕реНрдЯ-рдЖрдзрд╛рд░рд┐рдд рдлрд╛рдпрд░рд╡реЙрд▓. рдЬрд╡рд│рдЬрд╡рд│ рд╕рд░реНрд╡рддреНрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд▓рд┐рдирдХреНрд╕ рдЖрд╣реЗ рдЖрдгрд┐ рд╕рд░реНрд╡рддреНрд░ рдЖрдордЪреНрдпрд╛рдХрдбреЗ iptables рдЖрд╣реЗрдд, рд╣реА рд╕рдорд╕реНрдпрд╛ рдирд╛рд╣реА.

рдСрдбрд┐рдЯрд┐рдВрдЧ рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рдЕрдбрдЪрдгреА. рдЙрдкрд╛рдп: рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдЖрдгрд┐ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рд╕рд╛рдареА рд╕рд░реНрд╡ рдирд┐рдпрдо рдПрдХрд╛рдЪ рдард┐рдХрд╛рдгреА рдареЗрд╡рд╛, рдЬреЗрдгреЗрдХрд░реВрди рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдЪреЗ рдСрдбрд┐рдЯ рдХрд░реВ рд╢рдХрддреЛ.

рдкрд╛рдпрд╛рднреВрдд рд╕реБрд╡рд┐рдзрд╛рдВрд╡рд░ рдирд┐рдпрдВрддреНрд░рдгрд╛рдЪреА рдХрдореА рдкрд╛рддрд│реА. рдЙрдкрд╛рдп: рд╕рд░реНрд╡ рд╕реЗрд╡рд╛рдВрдЪреА рдпрд╛рджреА рдШреНрдпрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдордзреАрд▓ рдкреНрд░рд╡реЗрд╢.

рд╣реА рддрд╛рдВрддреНрд░рд┐рдХ рдкреНрд░рдХреНрд░рд┐рдпреЗрдкреЗрдХреНрд╖рд╛ рдкреНрд░рд╢рд╛рд╕рдХреАрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЖрд╣реЗ. рдХрд╛рд╣реАрд╡реЗрд│рд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЖрдард╡рдбреНрдпрд╛рддреВрди 200-300 рдирд╡реАрди рд░рд┐рд▓реАрдЭ рдЕрд╕рддрд╛рдд, рд╡рд┐рд╢реЗрд╖рдд: рдЬрд╛рд╣рд┐рд░рд╛рддреА рдЖрдгрд┐ рд╕реБрдЯреНрдЯреАрдЪреНрдпрд╛ рд╡реЗрд│реА. рд╢рд┐рд╡рд╛рдп, рд╣реЗ рдлрдХреНрдд рдЖрдордЪреНрдпрд╛ DevOps рдЪреНрдпрд╛ рдПрдХрд╛ рдЯреАрдорд╕рд╛рдареА рдЖрд╣реЗ. рдмрд░реНтАНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд╢рдирд╛рдВрд╕рд╣, рдХреЛрдгрддреЗ рдкреЛрд░реНрдЯ, рдЖрдпрдкреА рдЖрдгрд┐ рдПрдХрддреНрд░реАрдХрд░рдг рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рд╣реЗ рдкрд╛рд╣рдгреЗ рдЕрд╢рдХреНрдп рдЖрд╣реЗ. рдореНрд╣рдгреВрди, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рд╢реЗрд╖ рдкреНрд░рд╢рд┐рдХреНрд╖рд┐рдд рд╕реЗрд╡рд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХрд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рдЬреНрдпрд╛рдВрдиреА рд╕рдВрдШрд╛рдВрдирд╛ рд╡рд┐рдЪрд╛рд░рд▓реЗ: "рддрд░реАрд╣реА рддреЗрдереЗ рдХрд╛рдп рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдореНрд╣реА рддреЗ рдХрд╛ рдЖрдгрд▓реЗ?"

рдЖрдореНрд╣реА рд▓реЙрдиреНрдЪ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХ рдЧреЛрд╖реНрдЯреАрдирдВрддрд░, 2019 рдордзреНрдпреЗ рдиреЗрдЯрд╡рд░реНрдХ рдЕрднрд┐рдпрдВрддрд╛ рдпрд╛рд╕рд╛рд░рдЦреЗ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реЗ.

Consul + iptables = :3

рд╡рд╛рдгрд┐рдЬреНрдп

рдЖрдореНтАНрд╣реА рдард░рд╡рд▓реЗ рдХреА рд╕реЗрд╡рд╛ рд╡реНтАНрдпрд╡рд╕реНтАНрдерд╛рдкрдХрд╛рдВрдЪреНтАНрдпрд╛ рдорджрддреАрдиреЗ рдЖрдореНтАНрд╣рд╛рд▓рд╛ рдЬреЗ рдХрд╛рд╣реА рд╕рд╛рдкрдбрд▓реЗ рддреЗ рдЖрдореНрд╣реА рдХреЙрдиреНрд╕реБрд▓рдордзреНтАНрдпреЗ рдареЗрд╡реВ рдЖрдгрд┐ рддреЗрдереВрди iptables рдирд┐рдпрдо рд▓рд┐рд╣реВ.

рдЖрдореНрд╣реА рд╣реЗ рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рдард░рд╡рд▓реЗ?

  • рдЖрдореНрд╣реА рд╕рд░реНрд╡ рд╕реЗрд╡рд╛, рдиреЗрдЯрд╡рд░реНрдХ рдЖрдгрд┐ рд╡рд╛рдкрд░рдХрд░реНрддреЗ рдЧреЛрд│рд╛ рдХрд░реВ.
  • рддреНрдпрд╛рд╡рд░ рдЖрдзрд╛рд░рд┐рдд iptables рдирд┐рдпрдо рдмрдирд╡реВ.
  • рдЖрдореНрд╣реА рдирд┐рдпрдВрддреНрд░рдг рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдХрд░рддреЛ.
  • ....
  • рдирдлрд╛.

Consul рд╣реЗ рд░рд┐рдореЛрдЯ API рдирд╛рд╣реА, рддреЗ рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдбрд╡рд░ рдЪрд╛рд▓реВ рд╢рдХрддреЗ рдЖрдгрд┐ iptables рд╡рд░ рд▓рд┐рд╣реВ рд╢рдХрддреЗ. рдЬреЗ рдХрд╛рд╣реА рдЙрд░рд▓реЗ рдЖрд╣реЗ рддреЗ рдореНрд╣рдгрдЬреЗ рд╕реНрд╡рдпрдВрдЪрд▓рд┐рдд рдирд┐рдпрдВрддреНрд░рдгреЗ рдЖрдгрдгреЗ рдЬреЗ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдЧреЛрд╖реНрдЯреА рд╕рд╛рдл рдХрд░рддреАрд▓ рдЖрдгрд┐ рдмрд╣реБрддреЗрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛ рдЬрд╛рддреАрд▓! рдЖрдореНрд╣реА рдЬрд╛рддрд╛рдирд╛ рдмрд╛рдХреАрдЪреЗ рдХрд╛рдо рдХрд░реВ.

рдХреЙрдиреНрд╕реБрд▓ рдХрд╛?

рд╕реНрд╡рддрдГрд▓рд╛ рдЪрд╛рдВрдЧрд▓реЗ рд╕рд┐рджреНрдз рдХреЗрд▓реЗ рдЖрд╣реЗ. 2014-15 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рддреЗ Vault рд╕рд╛рдареА рдмреЕрдХрдПрдВрдб рдореНрд╣рдгреВрди рд╡рд╛рдкрд░рд▓реЗ, рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдкрд╛рд╕рд╡рд░реНрдб рд╕рд╛рдард╡рддреЛ.

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

P2P рдХрдиреЗрдХреНрд╢рди рдмрджрд▓рд╛рдЪреНрдпрд╛ рдкреНрд░рд╕рд╛рд░рд╛рд▓рд╛ рдЧрддреА рджреЗрддрд╛рдд. P2P рд╕рд╣, рд╕рд░реНрд╡ рдмрджрд▓ рддреНрд╡рд░реАрдд рдпреЗрддрд╛рдд, рддрд╛рд╕ рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА.

рд╕реЛрдпреАрд╕реНрдХрд░ REST API. рдЖрдореНрд╣реА Apache ZooKeeper рджреЗрдЦреАрд▓ рдорд╛рдирд▓реЗ, рдкрд░рдВрддреБ рддреНрдпрд╛рдд REST API рдирд╛рд╣реА, рдореНрд╣рдгреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рдХреНрд░реЕрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрддреАрд▓.

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

Go рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ, рдЬреЛ Wargaming рд╕реНрдЯреЕрдХрдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ. рдЖрдореНрд╣рд╛рд▓рд╛ рд╣реА рднрд╛рд╖рд╛ рдЖрд╡рдбрддреЗ, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХ рдЧреЛ рдбреЗрд╡реНрд╣рд▓рдкрд░ рдЖрд╣реЗрдд.

рд╢рдХреНрддрд┐рд╢рд╛рд▓реА ACL рдкреНрд░рдгрд╛рд▓реА. рдХреМрдиреНрд╕реБрд▓рдордзреНрдпреЗ, рдХреЛрдг рдХрд╛рдп рд▓рд┐рд╣рд┐рддреЗ рдпрд╛рд╡рд░ рдирд┐рдпрдВрддреНрд░рдг рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рддреБрдореНрд╣реА ACL рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛. рдЖрдореНрд╣реА рд╣рдореА рджреЗрддреЛ рдХреА рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рдЗрддрд░ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЧреЛрд╖реНрдЯреАрд╢реА рдУрд╡реНрд╣рд░рд▓реЕрдк рд╣реЛрдгрд╛рд░ рдирд╛рд╣реАрдд рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдордзреНрдпреЗ рд╕рдорд╕реНрдпрд╛ рдпреЗрдгрд╛рд░ рдирд╛рд╣реАрдд.

рдкрдг Consul рдордзреНрдпреЗ рджреЗрдЦреАрд▓ рддреНрдпрд╛рдЪреЗ рджреЛрд╖ рдЖрд╣реЗрдд.

  • рддреБрдордЪреНрдпрд╛рдХрдбреЗ рд╡реНрдпрд╡рд╕рд╛рдп рдЖрд╡реГрддреНрддреА рдЕрд╕рд▓реНрдпрд╛рд╢рд┐рд╡рд╛рдп рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреНрдпреЗ рдореЛрдЬрдд рдирд╛рд╣реА. рд╣реЗ рдХреЗрд╡рд│ рдлреЗрдбрд░реЗрд╢рдирджреНрд╡рд╛рд░реЗ рдореЛрдЬрддрд╛ рдпреЗрдК рд╢рдХрддреЗ.
  • рдиреЗрдЯрд╡рд░реНрдХ рдЖрдгрд┐ рд╕рд░реНрд╡реНрд╣рд░ рд▓реЛрдбрдЪреНрдпрд╛ рдЧреБрдгрд╡рддреНрддреЗрд╡рд░ рдЦреВрдк рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ. рдиреЗрдЯрд╡рд░реНрдХрдордзреНрдпреЗ рдХрд╛рд╣реА рдЕрдВрддрд░ рдЕрд╕рд▓реНрдпрд╛рд╕, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЕрд╕рдорд╛рди рд╡реЗрдЧ рдЕрд╕рд▓реНрдпрд╛рд╕ рд╡реНрдпрд╕реНрдд рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдХреЙрдиреНрд╕реБрд▓ рд╕рд░реНрд╡реНрд╣рд░ рдореНрд╣рдгреВрди рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА. рд╣реЗ P2P рдХрдиреЗрдХреНрд╢рди рдЖрдгрд┐ рдЕрджреНрдпрддрди рд╡рд┐рддрд░рдг рдореЙрдбреЗрд▓рдореБрд│реЗ рдЖрд╣реЗ.
  • рдЙрдкрд▓рдмреНрдзрддреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдд рдЕрдбрдЪрдг. рдХреЙрдиреНрд╕реБрд▓рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдд рддреЛ рдЕрд╕реЗ рдореНрд╣рдгреВ рд╢рдХрддреЛ рдХреА рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ, рдкрд░рдВрддреБ рддреЛ рдЦреВрдк рдкреВрд░реНрд╡реА рдорд░рдг рдкрд╛рд╡рд▓рд╛.

рдЖрдореНрд╣реА Consul рд╡рд╛рдкрд░рддрд╛рдирд╛ рдпрд╛рдкреИрдХреА рдмрд╣реБрддреЗрдХ рд╕рдорд╕реНрдпрд╛ рд╕реЛрдбрд╡рд▓реНрдпрд╛, рдореНрд╣рдгреВрдирдЪ рдЖрдореНрд╣реА рддреЗ рдирд┐рд╡рдбрд▓реЗ. рдХрдВрдкрдиреАрдХрдбреЗ рдкрд░реНрдпрд╛рдпреА рдмреЕрдХрдПрдВрдбрдЪреА рдпреЛрдЬрдирд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЖрдореНрд╣реА рд╕рдорд╕реНрдпрд╛рдВрдирд╛ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рдгреНрдпрд╛рд╕ рд╢рд┐рдХрд▓реЛ рдЖрд╣реЛрдд рдЖрдгрд┐ рд╕рдзреНрдпрд╛ рдХреЙрдиреНрд╕реБрд▓рд╕реЛрдмрдд рд░рд╛рд╣рдд рдЖрд╣реЛрдд.

рдХреЙрдиреНрд╕реБрд▓ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ

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

Consul + iptables = :3

рдХреНрд▓рд╛рдпрдВрдЯ рдХреЛрдгрддреНрдпрд╛рд╣реА рдХреНрд░рдорд╛рдиреЗ рд╕рд░реНрд╡реНрд╣рд░рд╢реА рдХрдиреЗрдХреНрдЯ рд╣реЛрддрд╛рдд: рд╕рдорд╛рди рдПрдЬрдВрдЯ, рдлрдХреНрдд рдзреНрд╡рдЬрд╛рд╕рд╣ server = false.

Consul + iptables = :3

рдпрд╛рдирдВрддрд░, рдХреНрд▓рд╛рдпрдВрдЯрд▓рд╛ P2P рдХрдиреЗрдХреНрд╢рдирдЪреА рдпрд╛рджреА рдорд┐рд│рддреЗ рдЖрдгрд┐ рдЖрдкрд╛рдкрд╕рд╛рдд рдХрдиреЗрдХреНрд╢рди рддрдпрд╛рд░ рдХрд░рддрд╛рдд.

Consul + iptables = :3

рдЬрд╛рдЧрддрд┐рдХ рд╕реНрддрд░рд╛рд╡рд░, рдЖрдореНрд╣реА рдЕрдиреЗрдХ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ. рддреЗ P2P рд▓рд╛ рдЬреЛрдбрддрд╛рдд рдЖрдгрд┐ рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдд.

Consul + iptables = :3

рдЬреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рджреБрд╕рд░реНтАНрдпрд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреВрди рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рд╛рдпрдЪрд╛ рдЕрд╕рддреЛ, рддреЗрд╡реНрд╣рд╛ рд╡рд┐рдирдВрддреА рд╕рд░реНрд╡реНрд╣рд░рдХрдбреВрди рд╕рд░реНрд╡реНрд╣рд░рдХрдбреЗ рдЬрд╛рддреЗ. рдпрд╛ рдпреЛрдЬрдиреЗрд▓рд╛ рдореНрд╣рдгрддрд╛рдд Serf рдкреНрд░реЛрдЯреЛрдХреЙрд▓. Consul рд╕рд╛рд░рдЦреЗ Serf рдкреНрд░реЛрдЯреЛрдХреЙрд▓, HashiCorp рдиреЗ рд╡рд┐рдХрд╕рд┐рдд рдХреЗрд▓реЗ рдЖрд╣реЗ.

рдХреЙрдиреНрд╕реБрд▓ рдмрджреНрджрд▓ рдХрд╛рд╣реА рдорд╣рддреНрд╡рд╛рдЪреЗ рддрдереНрдп

рдХреЙрдиреНрд╕реБрд▓рдХрдбреЗ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреЗ рд╡рд░реНрдгрди рдХрд░рдгрд╛рд░реЗ рджрд╕реНрддрдРрд╡рдЬ рдЖрд╣реЗрдд. рдореА рдлрдХреНрдд рдирд┐рд╡рдбрдХ рддрдереНрдпреЗ рджреЗрдИрди рдЬреЗ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рд░рдЦреЗ рдЖрд╣реЗрдд.

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

рддреБрдореНрд╣рд╛рд▓рд╛ рдХреНрд╖реИрддрд┐рдЬ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╣рд╡реЗ рдЖрд╣реЗ рдХрд╛? рд╕реЙрд░реА, рдирд╛рд╣реА.

рджреБрд╕рд░реНтАНрдпрд╛ рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдЪреА рд╡рд┐рдирдВрддреА рдорд╛рд╕реНрдЯрд░рдХрдбреВрди рдорд╛рд╕реНрдЯрд░рдХрдбреЗ рдЬрд╛рддреЗ, рддреА рдХреЛрдгрддреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдЖрд▓реА рдпрд╛рдЪреА рдкрд░реНрд╡рд╛ рди рдХрд░рддрд╛. рдирд┐рд╡рдбрд▓реЗрд▓реНрдпрд╛ рдорд╛рд╕реНрдЯрд░рд▓рд╛ 100% рд▓реЛрдб рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреЛ, рдлреЙрд░рд╡рд░реНрдб рд╡рд┐рдирдВрддреНрдпрд╛рдВрд╡рд░ рд▓реЛрдб рд╡рдЧрд│рддрд╛. рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреАрд▓ рд╕рд░реНрд╡ рд╕рд░реНрд╡реНрд╣рд░рдХрдбреЗ рдбреЗрдЯрд╛рдЪреА рдЕрджреНрдпрдпрд╛рд╡рдд рдкреНрд░рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдлрдХреНрдд рдПрдХрдЪ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддреЛ.

рд╕реНрдХреЗрд▓ рдХрд░рдгреНрдпрд╛рдЪрд╛ рдПрдХрдореЗрд╡ рдорд╛рд░реНрдЧ рдореНрд╣рдгрдЬреЗ рдХреНрд▓рд╛рдпрдВрдЯрд╡рд░ рд╕реНрдЯреЗрд▓ рдореЛрдб рд╕рдХреНрд╖рдо рдХрд░рдгреЗ.

рдЬреБрдиреНрдпрд╛ рдореЛрдбрдордзреНрдпреЗ, рддреБрдореНрд╣реА рдХреЛрд░рдорд╢рд┐рд╡рд╛рдп рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдК рд╢рдХрддрд╛. рд╣рд╛ рдПрдХ рдореЛрдб рдЖрд╣реЗ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдореНрд╣реА рдбреЗрдЯрд╛рдЪреА рд╕реБрд╕рдВрдЧрддрддрд╛ рд╕реЛрдбреВрди рджреЗрддреЛ, рдкрд░рдВрддреБ рдиреЗрд╣рдореАрдкреЗрдХреНрд╖рд╛ рдереЛрдбреЗ рд╡реЗрдЧрд╛рдиреЗ рд╡рд╛рдЪрддреЛ рдЖрдгрд┐ рдХреЛрдгрддрд╛рд╣реА рд╕рд░реНрд╡реНрд╣рд░ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрддреЛ. рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХрдЪ, рдХреЗрд╡рд│ рдорд╛рд╕реНрдЯрд░рджреНрд╡рд╛рд░реЗ рд░реЗрдХреЙрд░реНрдбрд┐рдВрдЧ.

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

рд╡реНрдпрд╡рд╣рд╛рд░рд╛рдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдСрдкрд░реЗрд╢рдиреНрд╕рдЪреНрдпрд╛ рдЕрдгреВрдкрдгрд╛рдЪреА рд╣рдореА рджрд┐рд▓реА рдЬрд╛рдд рдирд╛рд╣реА. рд▓рдХреНрд╖рд╛рдд рдареЗрд╡рд╛ рдХреА рдЖрдкрдг рдПрдХрдЯреЗрдЪ рдЧреЛрд╖реНрдЯреА рдмрджрд▓реВ рд╢рдХрдд рдирд╛рд╣реА. рддреБрдореНрд╣рд╛рд▓рд╛ рддреЗ рд╡реЗрдЧрд│реНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рд╣рд╡реЗ рдЕрд╕рд▓реНрдпрд╛рд╕, рд▓реЙрдХрд╕рд╣ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░рд╛.

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

ACL рджреЗрдЦреАрд▓ рдкреНрд░рд╡реЗрд╢рд╛рдЪреА рд╣рдореА рджреЗрдд тАЛтАЛрдирд╛рд╣реА (рдЕрдиреЗрдХ рдкреНрд░рдХрд░рдгрд╛рдВрдордзреНрдпреЗ). ACL рдХрджрд╛рдЪрд┐рдд рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдХрд╛рд░рдг рддреЗ рдПрдХрд╛ рдлреЗрдбрд░реЗрд╢рди рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреНрдпреЗ - ACL рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░рдордзреНрдпреЗ (рдкреНрд░рд╛рдердорд┐рдХ DC) рд╕рдВрдЧреНрд░рд╣рд┐рдд рдЖрд╣реЗ. рдЬрд░ рдбреАрд╕реА рддреБрдореНрд╣рд╛рд▓рд╛ рдЙрддреНрддрд░ рджреЗрдд рдирд╕реЗрд▓ рддрд░ ACL рдХрд╛рдо рдХрд░рдгрд╛рд░ рдирд╛рд╣реА.

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

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

рдЖрдореНрд╣рд╛рд▓рд╛ рд╣реА рд╕рдорд╕реНрдпрд╛ рдЖрд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рддреА рдЯрд╛рд│рдгреНрдпрд╛рд╕рд╛рдареА рдбреЗрдЯрд╛ рдХреЗрдВрджреНрд░рд╛рдВрдЪреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рдЧ рдкреБрдиреНрд╣рд╛ рддрдпрд╛рд░ рдХрд░рд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ.

Consul Enterprise рдЪреНрдпрд╛ рд╡реНрдпрд╡рд╕рд╛рдп рдЖрд╡реГрддреНрддреАрдордзреНрдпреЗ рд╡рд░реАрд▓рдкреИрдХреА рдХрд╛рд╣реА рддреЛрдЯреЗ рдирд╛рд╣реАрдд. рдпрд╛рдд рдЕрдиреЗрдХ рдЙрдкрдпреБрдХреНрдд рдХрд╛рд░реНрдпреЗ рдЖрд╣реЗрдд: рдорддрджрд╛рд░ рдирд┐рд╡рдбрдгреЗ, рд╡рд┐рддрд░рдг, рд╕реНрдХреЗрд▓рд┐рдВрдЧ. рдлрдХреНрдд рдПрдХ "рдкрдг" рдЖрд╣реЗ - рд╡рд┐рддрд░рд┐рдд рдкреНрд░рдгрд╛рд▓реАрд╕рд╛рдареА рдкрд░рд╡рд╛рдирд╛ рдкреНрд░рдгрд╛рд▓реА рдЦреВрдк рдорд╣рд╛рдЧ рдЖрд╣реЗ.

рд▓рд╛рдЗрдл рд╣реЕрдХрд┐рдВрдЧ: rm -rf /var/lib/consul - рдПрдЬрдВрдЯ рд╕рд░реНрд╡ рд░реЛрдЧ рдПрдХ рдмрд░рд╛. рддреБрдордЪреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рдХрд╛рдо рдХрд░рдд рдирд╕рд▓реНрдпрд╛рд╕, рдлрдХреНрдд рддреБрдордЪрд╛ рдбреЗрдЯрд╛ рд╣рдЯрд╡рд╛ рдЖрдгрд┐ рдХреЙрдкреАрдордзреВрди рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛. рдмрд╣реБрдзрд╛, рдХреЙрдиреНрд╕реБрд▓ рдХрд╛рдо рдХрд░реЗрд▓.

BEFW

рдЖрддрд╛ рдЖрдкрдг Consul рдордзреНрдпреЗ рдХрд╛рдп рдЬреЛрдбрд▓реЗ рдЖрд╣реЗ рдпрд╛рдмрджреНрджрд▓ рдмреЛрд▓реВрдпрд╛.

BEFW рд╕рд╛рдареА рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдЖрд╣реЗ BAckEndFрдЗрд░реЗWрд╕рд░реНрд╡ рдЬреЗрд╡реНрд╣рд╛ рдореА рддреНрдпрд╛рдд рдкреНрд░рдердо рдЪрд╛рдЪрдгреА рдХрдорд┐рдЯ рдареЗрд╡рдгреНрдпрд╛рд╕рд╛рдареА рднрд╛рдВрдбрд╛рд░ рддрдпрд╛рд░ рдХреЗрд▓реЗ рддреЗрд╡реНрд╣рд╛ рдорд▓рд╛ рдХрд╕реЗ рддрд░реА рдЙрддреНрдкрд╛рджрдирд╛рдЪреЗ рдирд╛рд╡ рджреНрдпрд╛рд╡реЗ рд▓рд╛рдЧрд▓реЗ. рд╣реЗ рдирд╛рд╡ рд░рд╛рд╣рддреЗ.

рдирд┐рдпрдо рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕

рдирд┐рдпрдо iptables рд╕рд┐рдВрдЯреЕрдХреНрд╕рдордзреНрдпреЗ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЖрд╣реЗрдд.

  • -рдПрди BEFW
  • -P рдЗрдирдкреБрдЯ рдбреНрд░реЙрдк
  • -рдПрдХ рдЗрдирдкреБрдЯ -m рд░рд╛рдЬреНрдп-рд░рд╛рдЬреНрдп рд╕рдВрдмрдВрдзрд┐рдд, рд╕реНрдерд╛рдкрд┐рдд -j рд╕реНрд╡реАрдХрд╛рд░
  • -рдПрдХ рдЗрдирдкреБрдЯ -i lo -j рд╕реНрд╡реАрдХрд╛рд░рд╛
  • -рдПрдХ рдЗрдирдкреБрдЯ -j BEFW

рд╕рд░реНрд╡ рдХрд╛рд╣реА BEFW рд╕рд╛рдЦрд│реАрдд рдЬрд╛рддреЗ, рд╡рдЧрд│рддрд╛ ESTABLISHED, RELATED рдЖрдгрд┐ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ. рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛рд╣реАрд╣реА рдЕрд╕реВ рд╢рдХрддреЗ, рд╣реЗ рдлрдХреНрдд рдПрдХ рдЙрджрд╛рд╣рд░рдг рдЖрд╣реЗ.

BEFW рдХрд╕реЗ рдЙрдкрдпреБрдХреНрдд рдЖрд╣реЗ?

рд╕реЗрд╡рд╛

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

Consul + iptables = :3

Consul рд╡рд░ рдЪрд╛рд▓реВ рдЕрд╕рд▓реЗрд▓реА рдЖрдгрд┐ рдиреЛрдВрджрдгреАрдХреГрдд рдЕрд╕рд▓реЗрд▓реА рдХреЛрдгрддреАрд╣реА рд╕реЗрд╡рд╛ iptables рдирд┐рдпрдорд╛рдд рдмрджрд▓рддреЗ. рдЖрдордЪреНрдпрд╛рдХрдбреЗ SSH - рдУрдкрди рдкреЛрд░реНрдЯ 22 рдЖрд╣реЗ. рдмреЕрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЛрдкреА рдЖрд╣реЗ: рдХрд░реНрд▓ рдЖрдгрд┐ iptables, рдЗрддрд░ рдХрд╢рд╛рдЪреАрд╣реА рдЧрд░рдЬ рдирд╛рд╣реА.

рдЧреНрд░рд╛рд╣рдХ

рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдирд╛рд╣реА рддрд░ рдирд┐рд╡рдбрдХрдкрдгреЗ рдкреНрд░рд╡реЗрд╢ рдХрд╕рд╛ рдЙрдШрдбрд╛рдпрдЪрд╛? рд╕реЗрд╡реЗрдЪреНрдпрд╛ рдирд╛рд╡рд╛рдиреЗ KV рд╕реНрдЯреЛрд░реЗрдЬрдордзреНрдпреЗ IP рд╕реВрдЪреА рдЬреЛрдбрд╛.

Consul + iptables = :3

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

рдкреНрд░рд╡реЗрд╢

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

Consul + iptables = :3

рдЧрдЯ

рдЖрдореНрд╣реА рдкреНрд░рддреНрдпреЗрдХ рд╡реЗрд│реА рдкреНрд░рд╡реЗрд╢рд╛рд╕рд╛рдареА рд╣рдЬрд╛рд░реЛ рдЖрдпрдкреА рд▓рд┐рд╣рд┐рд▓реНрдпрд╛рд╕, рдЖрдореНрд╣реА рдердХреВрди рдЬрд╛рдК. рдЪрд▓рд╛ рдЧреНрд░реБрдкрд┐рдВрдЧрд╕рд╣ рдпреЗрдК рдпрд╛ - KV рдордзреНрдпреЗ рдПрдХ рд╡реЗрдЧрд│рд╛ рдЙрдкрд╕рдВрдЪ. рдЪрд▓рд╛ рддреНрдпрд╛рд▓рд╛ рдЙрдкрдирд╛рд╡ (рдХрд┐рдВрд╡рд╛ рдЧрдЯ) рдореНрд╣рдгреВ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рддрддреНрддреНрд╡рд╛рдиреБрд╕рд╛рд░ рддреЗрдереЗ рдЧрдЯ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░реВ.

Consul + iptables = :3

рдЪрд▓рд╛ рдХрдиреЗрдХреНрдЯ рдХрд░реВрдпрд╛: рдЖрддрд╛ рдЖрдкрдг P2P рд╕рд╛рдареА рдирд╛рд╣реА рддрд░ рд╕рдВрдкреВрд░реНрдг рдЧрдЯ рдХрд┐рдВрд╡рд╛ рдЕрдиреЗрдХ рдЧрдЯрд╛рдВрд╕рд╛рдареА SSH рдЙрдШрдбреВ рд╢рдХрддреЛ. рддреНрдпрд╛рдЪ рдкреНрд░рдХрд╛рд░реЗ, TTL рдЖрд╣реЗ - рддреБрдореНрд╣реА рдЧреНрд░реБрдкрдордзреНрдпреЗ рдЕреЕрдб рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдЧреНрд░реБрдкрдордзреВрди рддрд╛рддреНрдкреБрд░рддреЗ рдХрд╛рдвреВрди рдЯрд╛рдХреВ рд╢рдХрддрд╛.

Consul + iptables = :3

рдПрдХрддреНрд░реАрдХрд░рдг

рдЖрдордЪреА рд╕рдорд╕реНрдпрд╛ рдорд╛рдирд╡реА рдШрдЯрдХ рдЖрдгрд┐ рдСрдЯреЛрдореЗрд╢рди рдЖрд╣реЗ. рдЖрддрд╛рдкрд░реНрдпрдВрдд рдЖрдореНрд╣реА рд╣реЗ рдЕрд╢рд╛ рдкреНрд░рдХрд╛рд░реЗ рд╕реЛрдбрд╡рд▓реЗ рдЖрд╣реЗ.

Consul + iptables = :3

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

рдЖрдореНрд╣реА befw-sync рд▓рд┐рд╣рд┐рд▓реЗ, рдПрдХ рд╕реЛрдкрд╛ рдЙрдкрд╛рдп рдЬреЛ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЛ. рдкреНрд░рдердо, рд╕рд┐рдВрдХ рдХреБрдХреАрдЬ puppetdb рджреНрд╡рд╛рд░реЗ рдНрдХреНрд╕реЗрд╕ рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рддреЗрдереЗ HTTP API рдХреЙрдиреНрдлрд┐рдЧрд░ рдХреЗрд▓реЗ рдЖрд╣реЗ: рдЖрдореНрд╣реА рд╡рд┐рдирдВрддреА рдХрд░рддреЛ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХреЛрдгрддреНрдпрд╛ рд╕реЗрд╡рд╛ рдЖрд╣реЗрдд, рдХрд╛рдп рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ. рдордЧ рддреЗ рдХреЙрдиреНрд╕реБрд▓рд▓рд╛ рд╡рд┐рдирдВрддреА рдХрд░рддрд╛рдд.

рдПрдХреАрдХрд░рдг рдЖрд╣реЗ рдХрд╛? рд╣реЛрдп: рддреНрдпрд╛рдВрдиреА рдирд┐рдпрдо рд▓рд┐рд╣рд┐рд▓реЗ рдЖрдгрд┐ рдкреБрд▓ рд╡рд┐рдирдВрддреНрдпрд╛ рд╕реНрд╡реАрдХрд╛рд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджрд┐рд▓реА. рддреБрдореНрд╣рд╛рд▓рд╛ рдПрдХрд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреЛрд░реНрдЯрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ рдХрд┐рдВрд╡рд╛ рдХрд╛рд╣реА рдЧрдЯрд╛рдордзреНрдпреЗ рд╣реЛрд╕реНрдЯ рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ? рд╡рд┐рдирдВрддреА рдХрд░рд╛, рдкреБрдирд░рд╛рд╡рд▓реЛрдХрди рдХрд░рд╛ - рдпрд╛рдкреБрдвреЗ рдирд╛рд╣реА тАЬрдЗрддрд░ 200 ACL рд╢реЛрдзрд╛ рдЖрдгрд┐ рддреНрдпрд╛рдмрджреНрджрд▓ рдХрд╛рд╣реАрддрд░реА рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛.тАЭ

рд╕рд░реНрд╡реЛрддреНрддрдореАрдХрд░рдг

рд░рд┐рдХрд╛рдореНрдпрд╛ рдирд┐рдпрдо рд╕рд╛рдЦрд│реАрд╕рд╣ рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯрд▓рд╛ рдкрд┐рдВрдЧ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 0,075 ms рд▓рд╛рдЧрддрд╛рдд.

Consul + iptables = :3

рдпрд╛ рд╕рд╛рдЦрд│реАрдд 10 iptables рдкрддреНрддреЗ рдЬреЛрдбреВ. рдкрд░рд┐рдгрд╛рдореА, рдкрд┐рдВрдЧ 000 рдкрдЯ рд╡рд╛рдвреЗрд▓: iptables рдкреВрд░реНрдгрдкрдгреЗ рд░реЗрдЦреАрдп рдЖрд╣реЗ, рдкреНрд░рддреНрдпреЗрдХ рдкрддреНрддреНрдпрд╛рд╡рд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдереЛрдбрд╛ рд╡реЗрд│ рд▓рд╛рдЧрддреЛ.

Consul + iptables = :3

рдлрд╛рдпрд░рд╡реЙрд▓рд╕рд╛рдареА рдЬрд┐рдереЗ рдЖрдореНрд╣реА рд╣рдЬрд╛рд░реЛ ACLs рд╕реНрдерд▓рд╛рдВрддрд░рд┐рдд рдХрд░рддреЛ, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдмрд░реЗрдЪ рдирд┐рдпрдо рдЖрд╣реЗрдд рдЖрдгрд┐ рдпрд╛рдореБрд│реЗ рд╡рд┐рд▓рдВрдм рд╣реЛрддреЛ. рд╣реЗ рдЧреЗрдорд┐рдВрдЧ рдкреНрд░реЛрдЯреЛрдХреЙрд▓рд╕рд╛рдареА рд╡рд╛рдИрдЯ рдЖрд╣реЗ.

рдкрдг рдЖрдореНрд╣реА рдареЗрд╡рд▓реЗ рддрд░ ipset рдордзреНрдпреЗ 10 рдкрддреНрддреЗ рдкрд┐рдВрдЧ рдЕрдЧрджреА рдХрдореА рд╣реЛрдИрд▓.

Consul + iptables = :3

рдореБрджреНрджрд╛ рдЕрд╕рд╛ рдЖрд╣реЗ рдХреА ipset рд╕рд╛рдареА тАЬOтАЭ (рдЕрд▓реНрдЧреЛрд░рд┐рджрдо рдЬрдЯрд┐рд▓рддрд╛) рдиреЗрд╣рдореА 1 рдЪреНрдпрд╛ рд╕рдорд╛рди рдЕрд╕рддреЗ, рдХрд┐рддреАрд╣реА рдирд┐рдпрдо рдЕрд╕рд▓реЗ рддрд░реАрд╣реА. рдЦрд░реЗ рдЖрд╣реЗ, рдПрдХ рдорд░реНрдпрд╛рджрд╛ рдЖрд╣реЗ - рддреЗрдереЗ 65535 рдкреЗрдХреНрд╖рд╛ рдЬрд╛рд╕реНрдд рдирд┐рдпрдо рдЕрд╕реВ рд╢рдХрдд рдирд╛рд╣реАрдд. рд╕рдзреНрдпрд╛ рдЖрдореНрд╣реА рдпрд╛рд╕рд╣ рдЬрдЧрддреЛ: рддреБрдореНрд╣реА рддреНрдпрд╛рдВрдирд╛ рдПрдХрддреНрд░ рдХрд░реВ рд╢рдХрддрд╛, рддреНрдпрд╛рдВрдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░реВ рд╢рдХрддрд╛, рдПрдХрд╛рдордзреНрдпреЗ рджреЛрди ipsets рдмрдирд╡реВ рд╢рдХрддрд╛.

рд╕рд╛рдард╡рдг

рдкреБрдирд░рд╛рд╡реГрддреНрддреА рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреА рддрд╛рд░реНрдХрд┐рдХ рдирд┐рд░рдВрддрд░рддрд╛ рдореНрд╣рдгрдЬреЗ ipset рдордзреНрдпреЗ рд╕реЗрд╡реЗрд╕рд╛рдареА рдХреНрд▓рд╛рдпрдВрдЯрдЪреА рдорд╛рд╣рд┐рддреА рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рдгреЗ.

Consul + iptables = :3

рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╕рдорд╛рди рдПрд╕рдПрд╕рдПрдЪ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рдПрдХрд╛рдЪ рд╡реЗрд│реА 100 рдЖрдпрдкреА рд▓рд┐рд╣рд┐рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рдЬреНрдпрд╛ ipsetрд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрд╛рдпрдЪрд╛ рдЖрд╣реЗ рддреНрдпрд╛рдЪреЗ рдирд╛рд╡ рд╕реЗрдЯ рдХрд░рддреЛ рдЖрдгрд┐ рдЦрд╛рд▓реАрд▓ рдирд┐рдпрдо DROP. рд╣реЗ рдПрдХрд╛ рдирд┐рдпрдорд╛рдд рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ "рдпреЗрдереЗ рдХреЛрдг рдирд╛рд╣реА, рдбреНрд░реЙрдк рдХрд░рд╛", рдкрд░рдВрддреБ рддреЗ рдЕрдзрд┐рдХ рд╕реНрдкрд╖реНрдЯ рдЖрд╣реЗ.

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

рд╕рд░реНрд╡рд╕рд╛рдзрд╛рд░рдг рдпреЛрдЬрдирд╛

рдЖрдХреГрддреАрдЪреНрдпрд╛ рд╕реНрд╡рд░реВрдкрд╛рдд, рдореА рдЬреЗ рдХрд╛рд╣реА рдмреЛрд▓рд▓реЛ рддреЗ рдЕрд╕реЗ рджрд┐рд╕рддреЗ.

Consul + iptables = :3

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

рдкрд░рд╡рд╛рдирдЧреА рджреНрдпрд╛ рдЖрдгрд┐ рдирдХрд╛рд░ рджреНрдпрд╛

рдЬрдЧрд╛рд▓рд╛ рддреНрд╡рд░реАрдд рд╡рд╛рдЪрд╡рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ рддреНрд╡рд░реАрдд рдЕрдХреНрд╖рдо рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╕рд░реНрд╡ рд╕рд╛рдЦрд│реНрдпрд╛рдВрдЪреНрдпрд╛ рд╕реБрд░реВрд╡рд╛рддреАрд╕ рдЖрдореНрд╣реА рджреЛрди ipsets рдХреЗрд▓реЗ: rules_allow ╨╕ rules_deny. рд╣реЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ?

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

Consul + iptables = :3

рдЖрдореНрд╣реА рддреЗ рдХреЙрдиреНрд╕реБрд▓рдХрдбреЗ рдкрд╛рдард╡рддреЛ, 2,5 рд╕реЗрдХрдВрдж рдерд╛рдВрдмрд╛ рдЖрдгрд┐ рддреЗ рдкреВрд░реНрдг рдЭрд╛рд▓реЗ. Consul P2P рджреНрд╡рд╛рд░реЗ рддреНрд╡рд░реАрдд рд╡рд┐рддрд░рдг рдХрд░рдд рдЕрд╕рд▓реНрдпрд╛рдиреЗ, рддреЗ рдЬрдЧрд╛рдЪреНрдпрд╛ рдХреЛрдгрддреНрдпрд╛рд╣реА рднрд╛рдЧрд╛рдд, рд╕рд░реНрд╡рддреНрд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ.

рдПрдХрджрд╛ рдореА рдлрд╛рдпрд░рд╡реЙрд▓рдЪреНрдпрд╛ рдЪреБрдХреАрдореБрд│реЗ WOT рдкреВрд░реНрдгрдкрдгреЗ рдерд╛рдВрдмрд╡рд▓реЗ. rules_allow - рдЕрд╢рд╛ рдХреЗрд╕реЗрд╕рд╕рд╛рдареА рд╣рд╛ рдЖрдордЪрд╛ рд╡рд┐рдорд╛ рдЖрд╣реЗ. рдЬрд░ рдЖрдореНрд╣реА рдлрд╛рдпрд░рд╡реЙрд▓рд╕рд╣ рдХреБрдареЗрддрд░реА рдЪреВрдХ рдХреЗрд▓реА рдЕрд╕реЗрд▓, рдХрд╛рд╣реАрддрд░реА рдХреБрдареЗрддрд░реА рдЕрд╡рд░реЛрдзрд┐рдд рдХреЗрд▓реЗ рдЕрд╕реЗрд▓ рддрд░ рдЖрдореНрд╣реА рдиреЗрд╣рдореА рд╕рд╢рд░реНрдд рдкрд╛рдард╡реВ рд╢рдХрддреЛ 0.0/0рд╕рд░реНрд╡рдХрд╛рд╣реА рдкрдЯрдХрди рдЙрдЪрд▓рдгреНрдпрд╛рд╕рд╛рдареА. рдирдВрддрд░ рдЖрдореНрд╣реА рд╣рд╛рддрд╛рдиреЗ рд╕рд░реНрд╡рдХрд╛рд╣реА рдареАрдХ рдХрд░реВ.

рдЗрддрд░ рд╕рдВрдЪ

рддреБрдореНрд╣реА рд╕реНрдкреЗрд╕рдордзреНрдпреЗ рдЗрддрд░ рдХреЛрдгрддреЗрд╣реА рд╕реЗрдЯ рдЬреЛрдбреВ рд╢рдХрддрд╛ $IPSETS$.

Consul + iptables = :3

рдХрд╢рд╛рд╕рд╛рдареА? рдХрдзреАрдХрдзреА рдПрдЦрд╛рджреНрдпрд╛рд▓рд╛ ipset рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдХреНрд▓рд╕реНрдЯрд░рдЪреНрдпрд╛ рдХрд╛рд╣реА рднрд╛рдЧрд╛рдЪреНрдпрд╛ рд╢рдЯрдбрд╛рдЙрдирдЪреЗ рдЕрдиреБрдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА. рдХреЛрдгреАрд╣реА рдХреЛрдгрддрд╛рд╣реА рд╕реЗрдЯ рдЖрдгреВ рд╢рдХрддреЛ, рддреНрдпрд╛рдВрдирд╛ рдирд╛рд╡ рджреЗрдК рд╢рдХрддреЛ рдЖрдгрд┐ рддреЗ рдХреЙрдиреНрд╕реБрд▓рдХрдбреВрди рдШреЗрддрд▓реЗ рдЬрд╛рддреАрд▓. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рд╕реЗрдЯ рдПрдХрддрд░ iptables рдирд┐рдпрдорд╛рдВрдордзреНрдпреЗ рд╕рд╣рднрд╛рдЧреА рд╣реЛрдК рд╢рдХрддрд╛рдд рдХрд┐рдВрд╡рд╛ рд╕рдВрдШ рдореНрд╣рдгреВрди рдХрд╛рд░реНрдп рдХрд░реВ рд╢рдХрддрд╛рдд NOOP: рдбрд┐рдордирджреНрд╡рд╛рд░реЗ рд╕рд╛рддрддреНрдп рд░рд╛рдЦрд▓реЗ рдЬрд╛рдИрд▓.

рд╡рд╛рдкрд░рдХрд░реНрддреЗ

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

рдЖрдореНрд╣реА рдХрд╛рдп рдХреЗрд▓реЗ? рдкрддреНрддрд╛ рдорд┐рд│рддрд╛рдЪ рдЖрдореНрд╣реА рдЕрдбрдХрд▓реЛ. рд╕рд╣рд╕рд╛ рд╣реЗ dot1x, Wi-Fi рдХрд┐рдВрд╡рд╛ VPN рдЕрд╕рддреЗ - рд╕рд░реНрд╡рдХрд╛рд╣реА RADIUS рдордзреВрди рдЬрд╛рддреЗ. рдкреНрд░рддреНрдпреЗрдХ рд╡рд╛рдкрд░рдХрд░реНрддреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡рд╛рдиреЗ рдПрдХ рдЧрдЯ рддрдпрд╛рд░ рдХрд░рддреЛ рдЖрдгрд┐ рддреНрдпрд╛рдд рддреНрдпрд╛рдЪреНрдпрд╛ dhcp.lease рдкреНрд░рдорд╛рдгреЗ TTL рдЕрд╕рд▓реЗрд▓рд╛ IP рдареЗрд╡рддреЛ - рддреЛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╣реЛрддрд╛рдЪ, рдирд┐рдпрдо рдирд╛рд╣реАрд╕рд╛ рд╣реЛрдИрд▓.

Consul + iptables = :3

рдЖрддрд╛ рдЖрдореНрд╣реА рд╡рд╛рдкрд░рдХрд░реНрддрд╛рдирд╛рд╡рд╛рдиреЗ рдЗрддрд░ рдЧрдЯрд╛рдВрдкреНрд░рдорд╛рдгреЗ рд╕реЗрд╡рд╛рдВрдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдЙрдШрдбреВ рд╢рдХрддреЛ. рдЬреЗрд╡реНрд╣рд╛ рд╣реЛрд╕реНрдЯрдирд╛рд╡реЗ рдмрджрд▓рддрд╛рдд рддреЗрд╡реНрд╣рд╛ рдЖрдореНрд╣реА рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╡реЗрджрдирд╛ рджреВрд░ рдХреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдЖрдореНрд╣реА рдиреЗрдЯрд╡рд░реНрдХ рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрдХрдбреВрди рдУрдЭреЗ рдХрд╛рдвреВрди рдЯрд╛рдХрд▓реЗ рдЖрд╣реЗ рдХрд╛рд░рдг рддреНрдпрд╛рдВрдирд╛ рдпрд╛рдкреБрдвреЗ рд╕рд┐рд╕реНрдХреЛрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА. рдЖрддрд╛ рдЕрднрд┐рдпрдВрддреЗ рд╕реНрд╡рддрдГрдЪ рддреНрдпрд╛рдВрдЪреНрдпрд╛ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░ рдкреНрд░рд╡реЗрд╢ рдиреЛрдВрджрд╡рддрд╛рдд.

рдЗрдиреНрд╕реБрд▓реЗрд╢рди

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

Consul + iptables = :3

рдпреЛрдЬрдирд╛ рдЬрд▓рдж рдЖрдгрд┐ рд╕реЛрдкреНрдпрд╛ рдкрджреНрдзрддреАрдиреЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ: рдЖрдореНрд╣реА рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реВрди рд╕рд░реНрд╡ ACL рдХрд╛рдвреВрди рдЯрд╛рдХрддреЛ, рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЕрдирд▓реЛрдб рдХрд░рддреЛ рдЖрдгрд┐ рд╡реЗрдЧрд│реНрдпрд╛ VLAN рдЪреА рд╕рдВрдЦреНрдпрд╛ рдХрдореА рдХрд░рддреЛ.

рдЕрдЦрдВрдбрддрд╛ рдирд┐рдпрдВрддреНрд░рдг

рдкреВрд░реНрд╡реА, рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЯреНрд░рд┐рдЧрд░ рд╣реЛрддрд╛ рдЬреНрдпрд╛рдиреЗ рдХреЛрдгреАрддрд░реА рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рдореЕрдиреНрдпреБрдЕрд▓реА рдмрджрд▓рд▓реНрдпрд╛рд╡рд░ рдЕрд╣рд╡рд╛рд▓ рджрд┐рд▓рд╛. рдореА рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдореЛрдард╛ рд▓рд┐рдВрдЯрд░ рд▓рд┐рд╣рд┐рдд рд╣реЛрддреЛ, рддреЗ рдХрдареАрдг рд╣реЛрддреЗ. рдЕрдЦрдВрдбрддрд╛ рдЖрддрд╛ BEFW рджреНрд╡рд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХреЗрд▓реА рдЬрд╛рддреЗ. рддреНрдпрд╛рдиреЗ рдмрдирд╡рд▓реЗрд▓реЗ рдирд┐рдпрдо рдмрджрд▓рдгрд╛рд░ рдирд╛рд╣реАрдд рдпрд╛рдЪреА рддреЛ рдЖрд╡реЗрд╢рд╛рдиреЗ рдЦрд╛рддреНрд░реА рдХрд░рддреЛ. рдЬрд░ рдХреЛрдгреА рдлрд╛рдпрд░рд╡реЙрд▓ рдирд┐рдпрдо рдмрджрд▓рд▓реЗ рддрд░ рддреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдмрджрд▓реЗрд▓. тАЬрдореА рдкрдЯрдХрди рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗрдЯ рдХреЗрд▓реА рдЬреЗрдгреЗрдХрд░реВрди рдореА рдШрд░реВрди рдХрд╛рдо рдХрд░реВ рд╢рдХреЗрдитАЭтАФрдЕрд╕реЗ рдХреЛрдгрддреЗрд╣реА рдкрд░реНрдпрд╛рдп рдирд╛рд╣реАрдд.

BEFW рд╕реЗрд╡рд╛рдВрдордзреВрди ipset рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рддреЗ рдЖрдгрд┐ befw.conf рдордзреАрд▓ рд╕реВрдЪреА, BEFW рдЪреЗрдирдордзреАрд▓ рд╕реЗрд╡рд╛рдВрдЪреЗ рдирд┐рдпрдо. рдкрд░рдВрддреБ рддреЗ рдЗрддрд░ рд╕рд╛рдЦрд│реА рдЖрдгрд┐ рдирд┐рдпрдо рдЖрдгрд┐ рдЗрддрд░ рдЖрдпрдкрд╕реЗрдЯрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдд рдирд╛рд╣реА.

рдХреНрд░реЕрд╢ рд╕рдВрд░рдХреНрд╖рдг

BEFW рдиреЗрд╣рдореА рд╕реНрдЯреЗрдЯ.рдмрд┐рди рдмрд╛рдпрдирд░реА рд╕реНрдЯреНрд░рдХреНрдЪрд░рдордзреНрдпреЗ рд╢реЗрд╡рдЯрдЪреА рдЬреНрдЮрд╛рдд рдЪрд╛рдВрдЧрд▓реА рд╕реНрдерд┐рддреА рдереЗрдЯ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдХрд░рддреЗ. рдЬрд░ рдХрд╛рд╣реА рдЪреВрдХ рдЭрд╛рд▓реА, рддрд░ рддреА рдиреЗрд╣рдореА рдпрд╛ state.bin рд╡рд░ рдкрд░рдд рдпреЗрддреЗ.

Consul + iptables = :3

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

рдЧрдВрднреАрд░ рдкрд░рд┐рд╕реНрдерд┐рддреАрдВрдордзреНрдпреЗ, рд╣реА рд╣рдореА рдЖрд╣реЗ рдХреА рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдХрд╛рд░реНрдпрд░рдд рдлрд╛рдпрд░рд╡реЙрд▓ рдЕрд╕реЗрд▓. рдкреНрд░рд╢рд╛рд╕рдХ рдпреЗрдИрд▓ рдЖрдгрд┐ рддреНрдпрд╛рдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░реЗрд▓ рдпрд╛ рдЖрд╢реЗрдиреЗ рдЖрдореНрд╣реА рд╕рд░реНрд╡ рдЧреНрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЙрдШрдбрддреЛ. рдПрдЦрд╛рджреНрдпрд╛ рджрд┐рд╡рд╢реА рдореА рд╣реЗ рдХреЙрдиреНрдлрд┐рдЧрдордзреНрдпреЗ рдареЗрд╡реЗрди, рдкрд░рдВрддреБ рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдлрдХреНрдд рддреАрди рдЧреНрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдЖрд╣реЗрдд: 10/8, 172/12 рдЖрдгрд┐ 192.168/16. рдЖрдордЪреНрдпрд╛ рдХреЙрдиреНрд╕реБрд▓рдордзреНрдпреЗ, рд╣реЗ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рдЖрд╣реЗ рдЬреЗ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдгрдЦреА рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдгреНрдпрд╛рдд рдорджрдд рдХрд░рддреЗ.

рдбреЗрдореЛ: рдЕрд╣рд╡рд╛рд▓рд╛рджрд░рдореНрдпрд╛рди, рдЗрд╡реНрд╣рд╛рди BEFW рдЪрд╛ рдбреЗрдореЛ рдореЛрдб рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЛ. рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдкрд╛рд╣рдгреЗ рд╕реЛрдкреЗ рдЖрд╣реЗ ╨▓╨╕╨┤╨╡╨╛. рдбреЗрдореЛ рд╕реНрддреНрд░реЛрдд рдХреЛрдб рдЙрдкрд▓рдмреНрдз рдЖрд╣реЗ GitHub рд╡рд░.

рддреЗрдереЗ рдЙрдкрд╛рд╕рдиреЗрдЪреНрдпрд╛

рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрдврд│рд▓реЗрд▓реНрдпрд╛ рдмрдЧрдмрджреНрджрд▓ рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рд╛рдВрдЧреЗрди.

ipset рдЬреЛрдбрд╛ рд╕реЗрдЯ 0.0.0.0/0. рддреБрдореНрд╣реА ipset рдордзреНрдпреЗ 0.0.0.0/0 рдЬреЛрдбрд▓реНрдпрд╛рд╕ рдХрд╛рдп рд╣реЛрдИрд▓? рд╕рд░реНрд╡ рдЖрдпрдкреА рдЬреЛрдбрд▓реЗ рдЬрд╛рддреАрд▓ рдХрд╛? рдЗрдВрдЯрд░рдиреЗрдЯ рд╕реБрд╡рд┐рдзрд╛ рдЙрдкрд▓рдмреНрдз рд╣реЛрдИрд▓ рдХрд╛?

рдирд╛рд╣реА, рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдмрдЧ рдорд┐рд│реЗрд▓ рдЬреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣рд╛рд▓рд╛ рджреЛрди рддрд╛рд╕рд╛рдВрдЪрд╛ рдбрд╛рдЙрдирдЯрд╛рдЗрдо рдЦрд░реНрдЪ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧреЗрд▓. рд╢рд┐рд╡рд╛рдп, рдмрдЧ 2016 рдкрд╛рд╕реВрди рдХрд╛рдо рдХрд░рдд рдирд╛рд╣реА, рддреЛ RedHat Bugzilla рдордзреНрдпреЗ #1297092 рдХреНрд░рдорд╛рдВрдХрд╛рдЦрд╛рд▓реА рд╕реНрдерд┐рдд рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣рд╛рд▓рд╛ рддреЛ рдЕрдкрдШрд╛рддрд╛рдиреЗ рд╕рд╛рдкрдбрд▓рд╛ - рдПрдХрд╛ рд╡рд┐рдХрд╕рдХрд╛рдЪреНрдпрд╛ рдЕрд╣рд╡рд╛рд▓рд╛рддреВрди.

рддреЛ рдЖрддрд╛ BEFW рдордзреНрдпреЗ рдПрдХ рдХрдбрдХ рдирд┐рдпрдо рдЖрд╣реЗ 0.0.0.0/0 рджреЛрди рдкрддреНрддреНрдпрд╛рдВрдордзреНрдпреЗ рдмрджрд▓рддреЗ: 0.0.0.0/1 ╨╕ 128.0.0.0/1.

ipset рдкреБрдирд░реНрд╕рдВрдЪрдпрд┐рдд рд╕реЗрдЯ < рдлрд╛рдЗрд▓. рддреБрдореНрд╣реА рд╕рд╛рдВрдЧрд╛рд▓ рддреЗрд╡реНрд╣рд╛ ipset рдХрд╛рдп рдХрд░рддреЗ restore? рддреБрдореНрд╣рд╛рд▓рд╛ рдЕрд╕реЗ рд╡рд╛рдЯрддреЗ рдХреА рддреЗ iptables рдкреНрд░рдорд╛рдгреЗрдЪ рдХрд╛рд░реНрдп рдХрд░рддреЗ? рддреЛ рдбреЗрдЯрд╛ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░реЗрд▓?

рдЕрд╕реЗ рдХрд╛рд╣реАрд╣реА рдирд╛рд╣реА - рддреЗ рд╡рд┐рд▓реАрди рд╣реЛрддреЗ рдЖрдгрд┐ рдЬреБрдиреЗ рдкрддреНрддреЗ рдХреБрдареЗрд╣реА рдЬрд╛рдд рдирд╛рд╣реАрдд, рддреБрдореНрд╣реА рдкреНрд░рд╡реЗрд╢ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдд рдирд╛рд╣реА.

рдЕрд▓рдЧрд╛рд╡ рдЪрд╛рдЪрдгреА рдХрд░рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХ рдмрдЧ рдЖрдврд│рд▓рд╛. рдЖрддрд╛ рдПрдХ рдРрд╡рдЬреА рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рдЖрд╣реЗ - рддреНрдпрд╛рдРрд╡рдЬреА restore рдЖрдпреЛрдЬрд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ create tempрдордЧ restore flush temp ╨╕ restore temp. рд╕реНрд╡реЕрдкрдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА: рдЕрдгреБрддреНрд╡рд╛рд╕рд╛рдареА, рдХрд╛рд░рдг рдЖрдкрдг рддреЗ рдкреНрд░рдердо рдХреЗрд▓реЗ рддрд░ flush рдЖрдгрд┐ рдпрд╛ рдХреНрд╖рдгреА рдХрд╛рд╣реА рдкреЕрдХреЗрдЯ рдпреЗрдИрд▓, рддреЗ рдЯрд╛рдХреВрди рджрд┐рд▓реЗ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдХрд╛рд╣реАрддрд░реА рдЪреВрдХ рд╣реЛрдИрд▓. рддреНрдпрд╛рдореБрд│реЗ рддрд┐рдереЗ рдереЛрдбреА рдХрд╛рд│реА рдЬрд╛рджреВ рдЖрд╣реЗ.

consul kv get -datacenter=other. рдореА рдореНрд╣рдЯрд▓реНрдпрд╛рдкреНрд░рдорд╛рдгреЗ, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд╛рдЯрддреЗ рдХреА рдЖрдореНрд╣реА рдХрд╛рд╣реА рдбреЗрдЯрд╛ рд╡рд┐рдЪрд╛рд░рдд рдЖрд╣реЛрдд, рдкрд░рдВрддреБ рдЖрдореНрд╣рд╛рд▓рд╛ рдПрдХрддрд░ рдбреЗрдЯрд╛ рдорд┐рд│реЗрд▓ рдХрд┐рдВрд╡рд╛ рдПрд░рд░ рдорд┐рд│реЗрд▓. рдЖрдореНрд╣реА рд╕реНрдерд╛рдирд┐рдХ рдкрд╛рддрд│реАрд╡рд░ рдХреЙрдиреНрд╕реБрд▓рджреНрд╡рд╛рд░реЗ рд╣реЗ рдХрд░реВ рд╢рдХрддреЛ, рдкрд░рдВрддреБ рдпрд╛ рдкреНрд░рдХрд░рдгрд╛рдд рджреЛрдиреНрд╣реА рдЧреЛрдарддреАрд▓.

рд╕реНрдерд╛рдирд┐рдХ рдХреЙрдиреНрд╕реБрд▓ рдХреНрд▓рд╛рдпрдВрдЯ рд╣реЗ HTTP API рд╡рд░ рд░реЕрдкрд░ рдЖрд╣реЗ. рдкрд░рдВрддреБ рддреЗ рдлрдХреНрдд рд╣рдБрдЧ рд╣реЛрддреЗ рдЖрдгрд┐ Ctrl+C, рдХрд┐рдВрд╡рд╛ Ctrl+Z, рдХрд┐рдВрд╡рд╛ рдХрд╢рд╛рд▓рд╛рд╣реА рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдд рдирд╛рд╣реА. kill -9 рдкреБрдвреАрд▓ рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ. рдЖрдореНрд╣реА рдПрдХ рдореЛрдард╛ рдХреНрд▓рд╕реНрдЯрд░ рддрдпрд╛рд░ рдХрд░рдд рдЕрд╕рддрд╛рдирд╛ рдЖрдореНрд╣рд╛рд▓рд╛ рдпрд╛рдЪрд╛ рд╕рд╛рдордирд╛ рдХрд░рд╛рд╡рд╛ рд▓рд╛рдЧрд▓рд╛. рдкрд░рдВрддреБ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрджреНрдпрд╛рдк рдЙрдкрд╛рдп рдирд╛рд╣реА; рдЖрдореНрд╣реА рдХреЙрдиреНрд╕реБрд▓рдордзреНрдпреЗ рд╣реА рддреНрд░реБрдЯреА рджреВрд░ рдХрд░рдгреНрдпрд╛рдЪреА рддрдпрд╛рд░реА рдХрд░рдд рдЖрд╣реЛрдд.

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

рдирд╛рд╣реА, рддреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА рдЖрдгрд┐ рджреЗрдЦрд░реЗрдЦ рдХрд╛рд╣реАрд╣реА рджрд░реНрд╢рд╡рдгрд╛рд░ рдирд╛рд╣реА: рдХреЙрдиреНрд╕реБрд▓ рдореНрд╣рдгреЗрд▓ рдХреА рдПрдХ рд╡рдЪрдирдмрджреНрдзрддрд╛ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рдЖрд╣реЗ, рдПрдХ рдиреЗрддрд╛ рд╕рд╛рдкрдбрд▓рд╛ рдЖрд╣реЗ, рд╕рд░реНрд╡ рдХрд╛рд╣реА рдареАрдХ рдЖрд╣реЗ.

рдЖрдореНрд╣реА рдпрд╛рд▓рд╛ рдХрд╕реЗ рд╕рд╛рдореЛрд░реЗ рдЬрд╛рдК? service consul restart рдкреНрд░рддреНрдпреЗрдХ рддрд╛рд╕рд╛рд▓рд╛ рдХреНрд░реЙрдирдордзреНрдпреЗ. рдЖрдкрд▓реНрдпрд╛рдХрдбреЗ 50 рд╕рд░реНрд╡реНрд╣рд░ рдЕрд╕рд▓реНрдпрд╛рд╕, рдХреЛрдгрддреАрд╣реА рдореЛрдареА рдЧреЛрд╖реНрдЯ рдирд╛рд╣реА. рдЬреЗрд╡реНрд╣рд╛ рддреНрдпрд╛рдкреИрдХреА 16 рдЕрд╕рддреАрд▓, рддреЗрд╡реНрд╣рд╛ рддреЗ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рддреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕рдордЬреЗрд▓.

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

рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдлрд╛рдпрджреЗ рдорд┐рд│рд╛рд▓реЗ:

  • рд╕рд░реНрд╡ рд▓рд┐рдирдХреНрд╕ рдорд╢реАрдирдЪреЗ 100% рдХрд╡реНрд╣рд░реЗрдЬ.
  • рдЧрддреА.
  • рдСрдЯреЛрдореЗрд╢рди.
  • рдЖрдореНрд╣реА рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдЖрдгрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЕрднрд┐рдпрдВрддреНрдпрд╛рдВрдирд╛ рдЧреБрд▓рд╛рдордЧрд┐рд░реАрддреВрди рдореБрдХреНрдд рдХреЗрд▓реЗ.
  • рдПрдХрддреНрд░реАрдХрд░рдгрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛ рджрд┐рд╕реВ рд▓рд╛рдЧрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдЬреНрдпрд╛ рдЬрд╡рд│рдЬрд╡рд│ рдЕрдорд░реНрдпрд╛рдж рдЖрд╣реЗрдд: рдЕрдЧрджреА рдХреБрдмрд░рдиреЗрдЯрд╕рд╣, рдЕрдЧрджреА рдЕреЕрдиреНрд╕рд┐рдмрд▓рд╕рд╣, рдЕрдЧрджреА рдкрд╛рдпрдердирд╕рд╣ рджреЗрдЦреАрд▓.

рдорд┐рдирд┐рдиреНрд╕: Consul, рдЬреНрдпрд╛рд╕рд╣ рдЖрдореНрд╣рд╛рд▓рд╛ рдЖрддрд╛ рд░рд╛рд╣рд╛рдпрдЪреЗ рдЖрд╣реЗ, рдЖрдгрд┐ рддреНрд░реБрдЯреАрдЪреА рдЙрдЪреНрдЪ рдХрд┐рдВрдордд. рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдПрдХрджрд╛ рд╕рдВрдзреНрдпрд╛рдХрд╛рд│реА 6 рд╡рд╛рдЬрддрд╛ (рд░рд╢рд┐рдпрд╛рдордзреАрд▓ рдкреНрд░рд╛рдЗрдо рдЯрд╛рдЗрдо) рдореА рдиреЗрдЯрд╡рд░реНрдХрдЪреНрдпрд╛ рд╕реВрдЪреАрдордзреНрдпреЗ рдХрд╛рд╣реАрддрд░реА рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рдд рд╣реЛрддреЛ. рдЖрдореНрд╣реА рддреНрдпрд╛рд╡реЗрд│реА BEFW рдордзреНрдпреЗ рдлрдХреНрдд рдЗрдиреНрд╕реБрд▓реЗрд╢рди рдмрдирд╡рдд рд╣реЛрддреЛ. рдореА рдХреБрдареЗрддрд░реА рдЪреВрдХ рдХреЗрд▓реА рдЖрд╣реЗ, рдЕрд╕реЗ рджрд┐рд╕рддреЗ рдХреА рдореА рдЪреБрдХреАрдЪрд╛ рдореБрдЦрд╡рдЯрд╛ рджрд░реНрд╢рд╡рд┐рд▓рд╛ рдЖрд╣реЗ, рдкрд░рдВрддреБ рд╕рд░реНрд╡рдХрд╛рд╣реА рджреЛрди рд╕реЗрдХрдВрджрд╛рдд рдкрдбрд▓реЗ. рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рдЙрдЬрд│рддреЗ, рдбреНрдпреБрдЯреАрд╡рд░реАрд▓ рд╕рд╣рд╛рдпреНрдпрдХ рд╡реНрдпрдХреНрддреА рдзрд╛рд╡рдд рдпреЗрддреЗ: "рдЖрдордЪреНрдпрд╛рдХрдбреЗ рд╕рд░реНрд╡ рдХрд╛рд╣реА рдЖрд╣реЗ!" рдЕрд╕реЗ рдХрд╛ рдШрдбрд▓реЗ, рд╣реЗ рд╡реНрдпрд╡рд╕рд╛рдпрд╛рд▓рд╛ рд╕рдордЬрд╛рд╡реВрди рд╕рд╛рдВрдЧрд┐рддрд▓реНрдпрд╛рд╡рд░ рд╡рд┐рднрд╛рдЧрдкреНрд░рдореБрдЦ рдзреВрд╕рд░ рдЭрд╛рд▓реЗ.

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

рдХрд┐рдВрдордд рдореА рдПрдХрдЯреНрдпрд╛рдиреЗ 400 рддрд╛рд╕ рдХреЛрдб рд▓рд┐рд╣рд┐рд▓рд╛. рдорд╛рдЭреА 4 рд▓реЛрдХрд╛рдВрдЪреА рдЯреАрдо рдкреНрд░рддреНрдпреЗрдХрд╛рдЪреНрдпрд╛ рдорджрддреАрд╕рд╛рдареА рдорд╣рд┐рдиреНрдпрд╛рддреВрди 10 рддрд╛рд╕ рдЦрд░реНрдЪ рдХрд░рддреЗ. рдХреЛрдгрддреНрдпрд╛рд╣реА рдирд╡реАрди рдкрд┐рдвреАрдЪреНрдпрд╛ рдлрд╛рдпрд░рд╡реЙрд▓рдЪреНрдпрд╛ рдХрд┐рдорддреАрдЪреНрдпрд╛ рддреБрд▓рдиреЗрдд, рддреЗ рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ.

рдпреЛрдЬрдирд╛. рдХреЙрдиреНрд╕реБрд▓ рдмрджрд▓рдгреНрдпрд╛рд╕рд╛рдареА рдХрд┐рдВрд╡рд╛ рдкреВрд░рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкрд░реНрдпрд╛рдпреА рд╡рд╛рд╣рддреВрдХ рд╢реЛрдзрдгреЗ рд╣реА рджреАрд░реНрдШрдХрд╛рд▓реАрди рдпреЛрдЬрдирд╛ рдЖрд╣реЗ. рдХрджрд╛рдЪрд┐рдд рддреЛ рдХрд╛рдлреНрдХрд╛ рдХрд┐рдВрд╡рд╛ рддрддреНрд╕рдо рдХрд╛рд╣реАрддрд░реА рдЕрд╕реЗрд▓. рдкрдг рдпреЗрддреНрдпрд╛ рдХрд╛рд╣реА рд╡рд░реНрд╖рд╛рдВрдд рдЖрдореНрд╣реА рдХреМрдиреНрд╕рд┐рд▓рд╡рд░ рд░рд╛рд╣реВ.

рддрд╛рддреНрдХрд╛рд│ рдпреЛрдЬрдирд╛: Fail2ban рд╕рд╣ рдПрдХрддреНрд░реАрдХрд░рдг, рдореЙрдирд┐рдЯрд░рд┐рдВрдЧрд╕рд╣, nftables рд╕рд╣, рд╢рдХреНрдпрддреЛ рдЗрддрд░ рд╡рд┐рддрд░рдгрд╛рдВрд╕рд╣, рдореЗрдЯреНрд░рд┐рдХреНрд╕, рдкреНрд░рдЧрдд рдирд┐рд░реАрдХреНрд╖рдг, рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди. Kubernetes рд╕рдорд░реНрдерди рджреЗрдЦреАрд▓ рдпреЛрдЬрдирд╛рдВрдордзреНрдпреЗ рдХреБрдареЗрддрд░реА рдЖрд╣реЗ, рдХрд╛рд░рдг рдЖрддрд╛ рдЖрдордЪреНрдпрд╛рдХрдбреЗ рдЕрдиреЗрдХ рдХреНрд▓рд╕реНрдЯрд░реНрд╕ рдЖрдгрд┐ рдЗрдЪреНрдЫрд╛ рдЖрд╣реЗрдд.

рдпреЛрдЬрдирд╛рдВрдордзреВрди рдЕрдзрд┐рдХ:

  • рд░рд╣рджрд╛рд░реАрддреАрд▓ рд╡рд┐рд╕рдВрдЧрддреА рд╢реЛрдзрд╛;
  • рдиреЗрдЯрд╡рд░реНрдХ рдирдХрд╛рд╢рд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди;
  • рдХреБрдмрд░реНрдиреЗрдЯреНрд╕ рд╕рдорд░реНрдерди;
  • рд╕рд░реНрд╡ рдкреНрд░рдгрд╛рд▓реАрдВрд╕рд╛рдареА рдкреЕрдХреЗрдЬреЗрд╕ рдПрдХрддреНрд░ рдХрд░рдгреЗ;
  • рд╡реЗрдм-UI.

рдЖрдореНрд╣реА рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдЪрд╛ рд╡рд┐рд╕реНрддрд╛рд░, рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдЖрдгрд┐ рдСрдкреНрдЯрд┐рдорд╛рдпрдЭреЗрд╢рди рд╡рд╛рдврд╡рд┐рдгреНрдпрд╛рд╡рд░ рд╕рддрдд рдХрд╛рдо рдХрд░рдд рдЖрд╣реЛрдд.

рдкреНрд░рдХрд▓реНрдкрд╛рдд рд╕рд╛рдореАрд▓ рд╡реНрд╣рд╛. рдкреНрд░рдХрд▓реНрдк рдЫрд╛рди рдирд┐рдШрд╛рд▓рд╛, рдкрд░рдВрддреБ, рджреБрд░реНрджреИрд╡рд╛рдиреЗ, рддреЛ рдЕрдЬреВрдирд╣реА рдПрдХ-рд╡реНрдпрдХреНрддреА рдкреНрд░рдХрд▓реНрдк рдЖрд╣реЗ. рд▓рд╛ рдпреЗ GitHub рдЖрдгрд┐ рдХрд╛рд╣реАрддрд░реА рдХрд░рдгреНрдпрд╛рдЪрд╛ рдкреНрд░рдпрддреНрди рдХрд░рд╛: рд╡рдЪрди рджреНрдпрд╛, рдЪрд╛рдЪрдгреА рдХрд░рд╛, рдХрд╛рд╣реАрддрд░реА рд╕реБрдЪрд╡рд╛, рддреБрдордЪреЗ рдореВрд▓реНрдпрд╛рдВрдХрди рджреНрдпрд╛.

рджрд░рдореНрдпрд╛рди рдЖрдореНрд╣реА рддрдпрд╛рд░реА рдХрд░рдд рдЖрд╣реЛрдд рд╕реЗрдВрдЯ рд╣рд╛рдпрд▓реЛрдб++, рдЬреЗ рд╕реЗрдВрдЯ рдкреАрдЯрд░реНрд╕рдмрд░реНрдЧ рдпреЗрдереЗ 6 рдЖрдгрд┐ 7 рдПрдкреНрд░рд┐рд▓ рд░реЛрдЬреА рд╣реЛрдгрд╛рд░ рдЖрд╣реЗ рдЖрдгрд┐ рдЖрдореНрд╣реА рдЙрдЪреНрдЪ-рд▓реЛрдб рд╕рд┐рд╕реНрдЯрдордЪреНрдпрд╛ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдирд╛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддреЛ рдЕрд╣рд╡рд╛рд▓рд╛рд╕рд╛рдареА рдЕрд░реНрдЬ рдХрд░рд╛. рдЕрдиреБрднрд╡реА рд╕реНрдкреАрдХрд░реНрд╕рдирд╛ рдХрд╛рдп рдХрд░рд╛рд╡реЗ рд╣реЗ рдЖрдзреАрдЪ рдорд╛рд╣рд┐рдд рдЖрд╣реЗ, рдкрд░рдВрддреБ рдЬреЗ рдирд╡реАрди рдмреЛрд▓рдд рдЖрд╣реЗрдд рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА рдХрд┐рдорд╛рди рд╢рд┐рдлрд╛рд░рд╕ рдХрд░рддреЛ рдкреНрд░рдпрддреНрди рдХрд░рдгреЗ. рд╕рдВрдореЗрд▓рдирд╛рдд рд╡рдХреНрддрд╛ рдореНрд╣рдгреВрди рд╕рд╣рднрд╛рдЧреА рд╣реЛрдгреНрдпрд╛рдЪреЗ рдЕрдиреЗрдХ рдлрд╛рдпрджреЗ рдЖрд╣реЗрдд. рдЖрдкрдг рдХреЛрдгрддреЗ рд╡рд╛рдЪреВ рд╢рдХрддрд╛, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд╢реЗрд╡рдЯреА рд╣рд╛ рд▓реЗрдЦ.

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

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