рд╕рд░реНрд╡рд░ рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рдиреЗ рдкрд░ рдирдП рд╕рд╛рд▓ рдХреА рдЫреБрдЯреНрдЯрд┐рдпреЛрдВ рдореЗрдВ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИ!
рдпрд╣ рд▓реЗрдЦ рд╕рд╛рдорд╛рдиреНрдп рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдпрдерд╛рд╕рдВрднрд╡ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ:
- iptables рдкрд░ рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдПрдВ
- рдХреНрд▓рд╕реНрдЯрд░ рдХреЛ
fwbuilder GUI рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
- рдЬрдм
рдХрдиреНрд╡рд░реНрдЯрд░-рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрдиреЗрдХреНрд╢рди рдХреЛ
рдмрдЪрд╛рдПрдВрд╕рд╛рдорд╛рдиреНрдп рд╡рд╛рддрд╛рд╡рд░рдг рдЬрд┐рд╕рдореЗрдВ рдРрд╕рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрд░реЗ рд▓рд┐рдП рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
- рдмреИрдХрдПрдВрдб рдФрд░ рдлреНрд░рдВрдЯреЗрдВрдб рд╕рд░реНрд╡рд░ рд╕реЗ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ
- рдмрд╛рд╣рд░реА рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдмреНрд▓реЙрдХ рдХрд░реЗрдВ
- рд▓рд┐рдирдХреНрд╕-рдЖрдзрд╛рд░рд┐рдд рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП 2 рд╕рд░реНрд╡рд░ (рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлреЗрдбреЛрд░рд╛ 13 x64_86 рдореЗрдВ): fw1 рдФрд░ fw2 рдорд╛рд╕реНрдЯрд░ / рдмреИрдХрдЕрдк рдореЛрдб рдореЗрдВ
рдХреНрд▓рд╕реНрдЯрд░ рдХрд╛рд░реНрдп:
- рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░
- рдЖрдИрдкреА-рдкрддреЛрдВ рдХреЗ рдмрд╛рд╣рд░реА рдмреНрд▓реЙрдХ рдкрд░ рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдкреНрд░рдХрд╛рд╢рди
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЗрд╕ рддрд░рд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
-
ucarp рд╕реЗрд╡рд╛ рдХреНрд▓рд╕реНрдЯрд░ рдХреА рд╕реНрдерд┐рддрд┐ рдкрд░ рдирдЬрд╝рд░ рд░рдЦрддреА рд╣реИ рдФрд░ рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЦреАрдВрдЪрддреА рд╣реИ
- contrackd рд╕реЗрд╡рд╛ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреА рд╣реИ
- fwbuilder iptables рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдХрдЯ рдлрд╛рдЗрд▓ рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рддрд╣рдд
рд╕рд░реНрд╡рд░ рдХреА рддреИрдпрд╛рд░реА
рд╣рдо fw1 рдФрд░ fw2 рдкрд░ рдПрдХ рдиреНрдпреВрдирддрдо рд╕реЗрдЯ рдХреЗ рд╕рд╛рде рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, iptables рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИред
рдЬреЛрдбрд╝рдирд╛:
рдпрдо рд╕реНрдерд╛рдкрд┐рдд ucarp - рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП рджрд┐рд▓ рдХреА рдзрдбрд╝рдХрди
рдпрдо рдХреЙрдирдЯреНрд░реИрдХ-рдЯреВрд▓реНрд╕ - рдХрдиреЗрдХреНрд╢рди рдЯреНрд░реИрдХрд░ рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
yum рд╕реНрдерд╛рдкрд┐рдд pssh (scp рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП)
рд╣рдо / etc / sysconfig / network-script / рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддреЗ рд╣реИрдВред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗрд╡рд▓ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЖрдИрдкреА-рдкрддрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ:
eth0 - рдЖрдВрддрд░рд┐рдХ
eth3 рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреЗ рдмреАрдЪ рдХрдиреЗрдХреНрд╢рди рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИред
рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛рд░рдгреЛрдВ рд╕реЗ, рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд╛ рдХреА рдЬрд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреЛ рд╕реАрдзреЗ рдЗрд╕ рдХреЙрд░реНрдб рд╕реЗ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдЬреИрд╕рд╛ рдХрд┐ рдХреЙрдирд░рд╛рдЯреНрд░реИрдХ рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рд╣реИред
рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
Ucarp рд╕реЗрдЯрдЕрдк
рдЬрдм ucarp рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЪрд▓ рд░рд╣реА рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рд╕рд░реНрд╡рд░ рд╡реАрдЖрд░рдЖрд░рдкреА рдкреИрдХреЗрдЯ рдХреЛ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдПрдбреНрд░реЗрд╕ 224.0.0.18 рдкрд░ рднреЗрдЬреЗрдЧрд╛
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдХреЛ рд╕рд╛рдереА рд╕реЗ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╡рд╣ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдЕрдХреЗрд▓рд╛ рд░рд╣ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ /etc/init.d/ucarp рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИ
UPSCRIPT=/usr/libexec/ucarp/vip-up
рдпрджрд┐ рд╕рд░реНрд╡рд░ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ рдФрд░ рд╕рд╛рдереА рд╕реЗ рдкреИрдХреЗрдЯ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ - рдбрд╛рдЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдмреИрдХрдЕрдк рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЬрд╛рддрд╛ рд╣реИ
DOWNSCRIPT=/usr/libexec/ucarp/vip-down
рдЕрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ / рдбрд╛рдЙрдирд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЕрдкрдбреЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЕрдЧрд▓рд╛, рд╡реАрдЖрдИрдкреА рдкрддреЗ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ рдЬреЛ рдПрдХ рд╕рд░реНрд╡рд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рд╡рд┐рдлрд▓рддрд╛ рд╣реЛрдиреЗ рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред
рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЬреЛ рд╡реАрдЖрдЗрдкреА рдкрддрд╛ рд╣реЛрдЧрд╛, рд╡рд╣ рд╡реАрдЖрд░рдЖрд░рдкреА рдкреИрдХреЗрдЯ рдХреЗ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХреЗ рд▓рд┐рдП рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХрд╛ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХрд╛ рдкрддрд╛ рд╣реЛрдЧрд╛ред
рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдлрд╝рд╛рдЗрд▓реЗрдВ:
/etc/ucarp/vip-common.conf
/etc/ucarp/vip-001.conf
(рд╕реИрджреНрдзрд╛рдВрддрд┐рдХ рд░реВрдк рд╕реЗ рдХрдИ рд╡реАрдЖрдИрдкреА рдкрддреЗ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ)
рдЗрд╕ рддрд░рд╣, ucarp рдЧреЗрдЯрд╡реЗ IP рдкрддреЗ рдХреЗ рд╕рдВрдХреНрд░рдордг рдХреЛ рд╡рд┐рдлрд▓ рд╣реЛрдиреЗ рдкрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░реЗрдЧрд╛ред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, ucarp OpenBSD рдкрд░ рдХрд╛рд░реНрдк рдХреЗ рд╕рдорд╛рди рдирд╣реАрдВ рд╣реИ рдФрд░ рджреЛ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА:
- рдпрджрд┐ рд╡рд┐рдлрд▓рддрд╛, рд╕реНрдерд╛рдиреАрдп рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рднреА рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд╡реЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рд▓рд┐рдП рдПрдЖрд░рдкреА рдмрджрд▓реЗрдВ рдпрд╛ рдХреНрд▓рд╕реНрдЯрд░ рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрдо рдореИрдХ рдмрдирд╛рдПрдВ
- рд╡рд┐рднрд╛рдЬрд┐рдд рдорд╕реНрддрд┐рд╖реНрдХ рдХреЗ рдЬреЛрдЦрд┐рдо рдХреЛ рдХрдо рдХрд░реЗрдВ, рдЕрд░реНрдерд╛рддред рдпрджрд┐ рд╕рдВрднрд╡ рд╣реЛ рддреЛ, рдРрд╕реА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрдЪреЗрдВ рдЬрд╣рд╛рдВ рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░ рд╕реЛрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдирдХрд╛ рд╕рд╛рдереА рдорд░ рдЪреБрдХрд╛ рд╣реИ рдФрд░ рдореБрдЦреНрдп рдмрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВред
рдЪрд╛рдк рдХреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкрд╣рд▓реА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧреАред
рдПрдХ рд╡рд┐рднрд╛рдЬрд┐рдд рдорд╕реНрддрд┐рд╖реНрдХ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рдкрд╣рд▓реЗ рдмреЙрдиреНрдбрд┐рдВрдЧ рдореЗрдВ рд╕рднреА рдХрд╛рдордХрд╛рдЬреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рдВрдпреЛрдЬрди рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ, рдФрд░ рдлрд┐рд░ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рд▓рд┐рдП рд╡рд▓рд╛рди-рдПрд╕ рдХреЛ рдХрд╛рдЯ рд╕рдХрддрд╛ рд╣реВрдВред
рдпрд╣ рдорджрдж рдХрд░реЗрдЧрд╛ рдЕрдЧрд░ рдХрд┐рд╕реА рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рднреМрддрд┐рдХреА рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╣реЛрддрд╛ рд╣реИред
Fwbuilder рдХреЗ рд╕рд╛рде iptables рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
Fwbuilder рд╡реЗрдмрд╕рд╛рдЗрдЯ рдиреЗ рдирд┐рдпрдореЛрдВ рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рдХреЗ рд░реВрдк рдореЗрдВ fwbuilder рдХрд╛ рдЙрдкрдпреЛрдЧ
рдХрд░рдиреЗ рдкрд░ рдХрд╛рдлреА рд╡рд┐рд╕реНрддреГрдд
рдкреНрд░рд▓реЗрдЦрди рджрд┐рдпрд╛ рд╣реИред
рд▓реЗрдХрд┐рди fwbuilder рдпрд╣ рдЬрд╛рдирдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЛ рд╕рдорд╛рдкреНрдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ рдХрд┐ iptables рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рдЙрдкрдпреЛрдЧ рдХрд╛ рдХреНрд░рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
- рдирд┐рдпрдо рдмрдирд╛рдирд╛
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рд╕рдВрдХрд▓рди
- рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рд╕реЗ рд╕реНрдХреИрдк рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреЙрдкреА рдХрд░рдирд╛
- ssh рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЪрд▓рд╛рдирд╛
fwbuilder рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдпрд╣ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╢реНрд░реГрдВрдЦрд▓рд╛рдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдирд┐рдпрдо рдПрдХ-рджреВрд╕рд░реЗ рдХреЛ рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
рдкреНрд░рд▓реЗрдЦрди рдЕрдиреБрднрд╛рдЧ рдкрдврд╝реЗрдВред
рд╣рдо рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдХреНрд▓рд╕реНрдЯрд░ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "fw-рдХреНрд▓рд╕реНрдЯрд░", рдЬрд┐рд╕рдореЗрдВ "iptables рдлрд╝рд╛рдпрд░рд╡реЙрд▓" рдЯрд╛рдЗрдк рдХреЗ рджреЛ рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реЛрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, fw1 рдФрд░ fw2 (рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдирд╛рдо рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╕рд░реНрд╡рд░ рдкрд░ "hostname -s" рдХрдорд╛рдВрдб рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ ред рдЗрд╕реЗ рдмрд╛рдж рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдПрдЧрд╛)
рд░рд╛рдЬреНрдп рд╕рд┐рдВрдХ рд╕рдореВрд╣ рдХреЗ рдЧреБрдгреЛрдВ рдореЗрдВ, рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ: рдХреЙрдирдЯреНрд░реИрдХ рддрд╛рдХрд┐ fwbuilder рдХреЙрдирдЯреНрд░реИрдХ рдкреИрдХреЗрдЬ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдо рдЬреЛрдбрд╝рддрд╛ рд╣реИ
рд╣рдо рд╕рднреА рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЛ рдХреНрд▓рд╕реНрдЯрд░реНрдб рдмрдирд╛рддреЗ рд╣реИрдВред
рдпрд╣ рдХреНрд▓рд╕реНрдЯрд░ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
fw- рдХреНрд▓рд╕реНрдЯрд░: eth0: рд╕рджрд╕реНрдп (рдЗрдВрдЯреНрд░рд╛рдиреЗрдЯ рдЗрдВрдЯрд░рдлрд╝реЗрд╕)
fw- рдХреНрд▓рд╕реНрдЯрд░: eth1: рд╕рджрд╕реНрдп
fw- рдХреНрд▓рд╕реНрдЯрд░: eth3: рд╕рджрд╕реНрдп
рдСрдмреНрдЬреЗрдХреНрдЯ fw-рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рд▓рд┐рдП: eth0: рд╕рджрд╕реНрдп, рд╡реАрдЖрд░рдЖрд░рдкреА рдХреЗ рдкреНрд░рдХрд╛рд░ (рдлрд┐рд░ рд╕реЗ рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдореЛрдВ рдХреЗ рд▓рд┐рдП) рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВред
рдЕрдиреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП, рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИред
рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕реЗрдЯрд┐рдВрдЧ рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЯреИрдм рдкрд░ рдЖрдкрдХреЛ "рд▓реЛрдб iptables рдореЙрдбреНрдпреВрд▓" рдХреЛ рдЫреЛрдбрд╝рдХрд░ рд╕рднреА рдЖрдЗрдЯрдо рдмрдВрдж рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рдпрд╣ рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рд╣реИ рдХрд┐ рд╕рдВрдХрд▓рд┐рдд рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрд╡рдпрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рд╡рд▓рд╛рди-рдПрд╕ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░ рд╕рдХрддреА рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕ рд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рджреМрд░рд╛рди рд╣рдореЗрдВ рдХреБрдЫ рдмрдЧ рдХрд╛ рд╕рд╛рдордирд╛ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред
рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, fwbuilder рдЦреБрдж рд╕рдВрдмрдВрдзрд┐рдд рдФрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдирд┐рдпрдо рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред
рд╕рдВрдХрд▓рди рдХреЗ рдмрд╛рдж, fw1.fw рдФрд░ fw2.fw рд╕реНрдХреНрд░рд┐рдкреНрдЯ рджрд┐рдЦрд╛рдИ рджреЗрдВрдЧреАред
рджреВрд░рджрд░рд╛рдЬ рдХреЗ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП fwbuilder рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЛ рдкреНрд░рдмрдВрдзрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
Conntrack рд╕реЗрдЯрдЕрдк
рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗрдЯрдЕрдк рд╣реИред
рдкреНрд░рд╛рдердорд┐рдХ-backup.sh рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╣реА рд▓реЗрдВ
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
- "рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ" рдЕрдиреБрднрд╛рдЧ рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ
- "рдПрдбреНрд░реЗрд╕ рдЗрдЧреНрдиреЛрд░" рд╕реЗрдХреНрд╢рди рдореЗрдВ, рдЖрдк рдХреНрд▓рд╕реНрдЯрд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ рдХреЗ рд╕рднреА рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдлреЗрд▓рдУрд╡рд░ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рдЬрд╛рдПрдЧрд╛
fwbuilder рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ ip-multicast рдПрдбреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХреНрд╕реЗрд╕ рдирд┐рдпрдо рдЬреЛрдбрд╝ рджреЗрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрд╕реЗ contrackd.conf рдореЗрдВ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред
IP рдкрддреЗ рдХреЗ рдмрд╛рд╣рд░реА рдмреНрд▓реЙрдХ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рдЖрдИрдкреА тАЛтАЛрдкрддреЗ рдХреЗ рдмрд╛рд╣рд░реА рдмреНрд▓реЙрдХ рдХреА рд╡рд┐рдлрд▓рддрд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдХреНрд░рдордг рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдЧреЗрдЯрд╡реЗ рдкрддреЗ рдХреЗ рд▓рд┐рдПред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрджрд┐ рдмрд╛рд╣рд░реА рдкрддреЛрдВ рдХрд╛ рдмреНрд▓реЙрдХ рдХрд╛рдлреА рдмрдбрд╝рд╛ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдкрддреЗ рдХреЗ рд▓рд┐рдП arping рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА рдФрд░ рдЗрд╕рдореЗрдВ рдПрдХ рд▓рдВрдмрд╛ рд╕рдордп рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЕрдЧрд░ рдЖрдк рдмрд╛рд╣рд░реА рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд╡реЗ рдкрд░ рдЙрдкрдХрд░рдг рдирд┐рдпрдВрддреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ arping рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд╕рдХрддреА рд╣реИред
рдПрдХ рд╕рдорд╛рдзрд╛рди рд╣реИ - рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рдкрд░ рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдореИрдХ рдкрддреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдХрд┐рд╕реА рднреА рдХрд╛рдо рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ Google рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рдерд╛, iptables рдХреЗ рд▓рд┐рдП рдХреНрд▓рд╕реНрдЯрд░ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдЫреЛрдбрд╝рдХрд░, рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдХреЛрдИ рджреВрд╕рд░рд╛ рд░рд╛рд╕реНрддрд╛ рд╕реБрдЭрд╛рдПрдЧрд╛ред
рдПрдХ рдЕрдкреНрд░рд┐рдп рдкрд░рд┐рдгрд╛рдо рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдХреЛ рдорд▓реНрдЯреАрдХрд╛рд╕реНрдЯ рдореИрдХ рдкрддреЗ рд╕реЗ рдирд┐рдкрдЯрдирд╛ рд╣реЛрдЧрд╛ред
рдпрд╣ upstart рдФрд░ updown рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ
рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рдмрдЧрд▓ рдореЗрдВ, рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ (рдлрд╛рдЗрд▓реЗрдВ) рдмрдирд╛рдПрдВ рдЬрд┐рд╕рдореЗрдВ рдмрд┐рдирд╛ рдорд╛рд╕реНрдХ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рд▓рд┐рдЦреЗ рд╣реЛрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
eth1.addr.external
eth1 - рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдирд╛рдо
рдмрд╛рд╣рд░реА рдкрддрд╛ рдмреНрд▓реЙрдХ рдХреЗ рд▓рд┐рдП рдмрд╛рдХреА рдирд┐рдпрдореЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкрд╣рд▓реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд▓реАрдкрд┐рдк рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЗрд╕реЗ рдореЗрдВрдЯрд▓ рдЯреЗрдмрд▓ рдореЗрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ
upscript
#!/bin/sh
# - fwbuilder
ROOT="/etc/fw"
# conntrackd, primary
/etc/conntrackd/primary-backup.sh primary
# fwbuilder
$ROOT/$(hostname -s).fw start
# ip-
# $2 $1 ucarp
# , ,
/sbin/ip address add "$2"/24 dev "$1"
# ip-
# /var/log/messages clusterip
iptables -t mangle -I PREROUTING -m state --state INVALID -j DROP
# , *.addr.external
for ADDRFILE in $(ls $ROOT/*.addr.external)
do
DEV=$(basename "$ADDRFILE" | awk -F "." '{print $1}')
for ADDR in $(cat $ROOT/$DEV.addr.external | grep -v ^#)
do
# ip-
/sbin/ip addr add $ADDR/24 dev $DEV
# ip-
iptables -t mangle -A PREROUTING -d "$ADDR" -i "$DEV" -j CLUSTERIP --new --hashmode sourceip --clustermac 01:00:5E:00:01:01 --total-nodes 1 --local-node 1 --hash-init 0
done
done
# arp- 2 , MAC-
arping -A -c 2 -I "$1" "$2"
downscript
рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рд╣рдо рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ IP рдкрддреЗ рд╣рдЯрд╛рддреЗ рд╣реИрдВ рдФрд░ mangle рдЯреЗрдмрд▓ рдХреЛ рд╕рд╛рдл рдХрд░рддреЗ рд╣реИрдВ
#!/bin/sh
ROOT="/etc/fw"
/etc/conntrackd/primary-backup.sh backup
/sbin/ip address del "$2"/24 dev "$1"
for ADDRFILE in $(ls $ROOT/*.addr.*)
do
DEV=$(basename "$ADDRFILE" | awk -F "." '{print $1}')
for ADDR in $(cat $ADDRFILE | grep -v ^#)
do
/sbin/ip addr del $ADDR/24 dev $DEV
done
done
iptables -t mangle -F
$ROOT/$(hostname -s).fw start
рдЙрдкрд░реЛрдХреНрдд рдЪрд░рдгреЛрдВ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рджреЛрдиреЛрдВ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЖрдк ucarp рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред
рд╕рд░реНрд╡рд░реЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╕рдХреНрд░рд┐рдп рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЕрдкрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢реБрд░реВ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рд╕рднреА рдХреНрд▓рд╕реНрдЯрд░ рдЖрдИрдкреА рдкрддреЗ рдЬреБрдЯрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП, iptables рдХреЗ рд▓рд┐рдП рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд░реЛрд▓ рдХрд░реЗрдВред