рд▓рд┐рдирдХреНрд╕ рдкрд░ рдЗрдирдмрд╛рдЙрдВрдб рдФрд░ рдЖрдЙрдЯрдмрд╛рдЙрдВрдб рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреИрд╕реЗ рдореИрдВрдиреЗ рд▓рд┐рдирдХреНрд╕ рдореЗрдВ рдЗрдирдХрдорд┐рдВрдЧ рдФрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдгрд╛рд▓реА рдмрдирд╛рдИред
рдЯреНрд░реИрдлрд┐рдХ рдЕрдХрд╛рдЙрдВрдЯрд┐рдВрдЧ рдХреА рддрд░рд╣, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдХрд╛рд░реНрдп рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╣рд░ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдУрд░ рдмрдврд╝ рд░рд╣рд╛ рд╣реИ, рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдирд╛ рдкреНрд░рддреНрдпреЗрдХ рд╕рд┐рд╕реНрдЯрдо / рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдп рд╣реИред

рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреНрдпрд╛ рд╣реИрдВ?

рдЗрд╕ рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдпрд╛рддрд╛рдпрд╛рдд рд╕реАрдорд┐рдд рдХреНрдпреЛрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рд▓рдЧрднрдЧ 50 рдиреМрдХрд░рд┐рдпреЛрдВ рдХреЗ рдореЗрд░реЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЬреЛ рдЙрдмрдВрдЯреВ рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдПрдХ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрд╕рдПрдордмреА рдкреНрд░реЛрдЯреЛрдХреЙрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рд╕рд░реНрд╡рд░ рдкрд░ рд╕реНрдерд╛рдиреАрдп рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдореЗрд░рд╛ рд▓рдХреНрд╖реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЙрдирдХреЗ рдмреАрдЪ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рдЙрдЪрд┐рдд рд╕рд╛рдЭрд╛рдХрд░рдг рдХреЗ рд╕рд╛рде рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдбреЗрдЯрд╛ рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╣реИред

рдореЗрд░реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдореНрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
1. рд╕реНрдХреНрд╡реАрдб рдкреНрд░реЙрдХреНрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддрд┐рдмрдВрдзред
рдпрд╣ рд╡рд┐рдзрд┐ рдЖрдкрдХреЛ рд▓рдЪреАрд▓реЗ рдврдВрдЧ рд╕реЗ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рд╕рднреА www, рдПрдлрд╝рдЯреАрдкреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИред
2. iproute2 рд╕реЗ рдЯреНрд░реИрдлрд┐рдХ рдХрдВрдЯреНрд░реЛрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ред
рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдмрд╣реБрдд рд╣реА рд▓рдЪреАрд▓рд╛ рдФрд░ рдЗрд╖реНрдЯрддрдо рддрд░реАрдХрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдкрд┐рдЫрд▓реЗ рдкрджреНрдзрддрд┐ рдХреА рддрд░рд╣, WWW рдпрд╛рддрд╛рдпрд╛рдд рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
3. рдмреЗрд╢рдХ, iptables рдХреЗ рд▓рд┐рдП тАУm рд╕реАрдорд╛ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИ - рд▓реЗрдХрд┐рди рдореИрдВ рдЗрд╕реЗ рдЕрд╕реНрд╡реАрдХрд╛рд░реНрдп рдорд╛рдирддрд╛ рд╣реВрдВред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВрдиреЗ iproute2 рдкреИрдХреЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреА рд╡рд┐рдзрд┐ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ред

рдХреНрдпрд╛, рдХрд╣рд╛рдБ рдФрд░ рдХреИрд╕реЗ?

рдЬреИрд╕рд╛ рдХрд┐ рдкрд╣рд▓реЗ рд╣реА рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдореИрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ: рдУрдПрд╕ рдЙрдмрдВрдЯреВ 10.04, рдХрд░реНрдиреЗрд▓ 2.6.32-30ред рд╕рд░реНрд╡рд░ рдореЗрдВ 3 рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВ: eth0 - рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ, eth1 - рдкреНрд░рджрд╛рддрд╛ 1, eth2 - рдкреНрд░рджрд╛рддрд╛ 2ред

рдЙрджреНрджреЗрд╢реНрдп: рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдХрдХреНрд╖рд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рд╕рд╛рде рдЖрдиреЗ рд╡рд╛рд▓реЗ рдФрд░ рдмрд╛рд╣рд░ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдирд╛ред рд╕реНрдерд╛рдиреАрдп рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рди рдХрд░реЗрдВред

рд╕рд┐рджреНрдзрд╛рдВрдд рдХреА рдмрд┐рдЯ

рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдЬрд╣рд╛рдВ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ youtube.com рдХреЗ рд╕рд╛рде рд╕рдВрдмрдВрдз рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рдПрдЪрдбреА рдЧреБрдгрд╡рддреНрддрд╛ рдореЗрдВ рдХреБрдЫ рд╡реАрдбрд┐рдпреЛ рджреЗрдЦ рд░рд╣рд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕рд░реНрд╡рд░ рд╕реЗ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ youtube.comред рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рд╕рднреА рдЯреНрд░реИрдлрд╝рд┐рдХ рд╣рдорд╛рд░реЗ рдкреНрд░рд╡реЗрд╢ рджреНрд╡рд╛рд░ рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рд╣рдо рдЖрдВрддрд░рд┐рдХ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╢реЗрдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдХреЗ рдЗрд╕ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рдкреНрд░рд╕рд╛рд░рдг рдЧрддрд┐ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕реА рддрд░рд╣ рдХреА рд╕реНрдерд┐рддрд┐ рддрдм рд╣реЛрддреА рд╣реИ рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЫреБрдЯреНрдЯреА рдкрд░ рдПрдХ рдлреЛрдЯреЛ рд░рд┐рдкреЛрд░реНрдЯ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ 5000x3500 рдкрд┐рдХреНрд╕рд▓ рдХреЗ рдПрдХ рд╕рдВрдХрд▓реНрдк рдореЗрдВ 300 рдлреЛрдЯреЛ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдХреБрдЫ рдСрдирд▓рд╛рдЗрди рдлреЛрдЯреЛ рд╕реНрдЯреЛрд░реЗрдЬ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдПред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдПрдХ рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рддрд┐рдмрдВрдз рдкреНрд░рдгрд╛рд▓реА рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреВрд░реЗ рдЪреИрдирд▓ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдЧрд╛ рдФрд░ рдмрд╛рдХреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рд╕рд╛рдорд╛рдиреНрдп рдЧрддрд┐ рдкреНрд░рджрд╛рди рдирд╣реАрдВ рдХреА рдЬрд╛рдПрдЧреАред рд▓реЗрдХрд┐рди рд╣рдо рд╕рд░реНрд╡рд░ рджреНрд╡рд╛рд░рд╛ рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдЧрддрд┐ рдХреЛ рд╕реАрдорд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ NAT рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЗрдВрдЯрд░рдиреЗрдЯ рддрдХ рдкрд╣реБрдВрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдЖрдХрд╛рд░ рджреЗрдиреЗ рдХрд╛ рдХрд╛рдо рдПрдбреНрд░реЗрд╕ рдЯреНрд░рд╛рдВрд╕рд▓реЗрд╢рди рдХреЗ рдмрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЕрдм рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдкрддреЗ рд╡рд╛рд▓реЗ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдкреИрдХреЗрдЯ рдирд╣реАрдВ рд╣реЛрдВрдЧреЗред

рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ IFB рдбрд┐рд╡рд╛рдЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдЬрд┐рд╕рдиреЗ рдХреНрд▓рд╛рдЗрдВрдЯ рд╕реЗ рд╕рднреА рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд░реАрдбрд╛рдпрд░реЗрдХреНрдЯ рдХрд┐рдпрд╛ред

рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рдмрдВрдзрди рд╕рд┐рджреНрдзрд╛рдВрдд рдореЗрдВ, рд╣рдо рдХреЗрд╡рд▓ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдЖрдВрддрд░рд┐рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ eth0 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╣реЛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рднреЗрдЬрд╛ рдЧрдпрд╛ рдЯреНрд░реИрдлрд╝рд┐рдХ рдмрд╛рд╣рд░реА рдЗрдВрдЯрд░рдлрд╝реЗрд╕ eth1 рдХреЗ рд╕рд╛рдкреЗрдХреНрд╖ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рдкреВрд░реНрд╡рдЧрд╛рдореА рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдореИрдВрдиреЗ рдЖрдВрддрд░рд┐рдХ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ eth0 рдФрд░ рд╕реАрдорд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ ifb0 рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рддрдХ рд╕реАрдорд┐рдд рдХрд░ рджрд┐рдпрд╛ред

рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреЗрдЯрд╡реЗ рдкрд░ рдЙрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╕реАрдорд┐рдд рд╕рдВрдкреВрд░реНрдг рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдмреНрдЬреЗ рдХреЗ рджреМрд░рд╛рди, рд╡рд╣ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ ssh рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХреЗ рдФрд░ рдЗрд╕рд▓рд┐рдП рдХрд┐ рдЙрд╕рдХреЗ рд▓рд┐рдП рдкрд┐рдВрдЧ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдореИрдВрдиреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреА:
  1. ICMP
  2. udp, ssh
  3. рдЯреАрд╕реАрдкреА рд╕реНрдкреЛрд░реНрдЯ 80
  4. рдмрд╛рдХреА рдЕрд╡рд░реНрдЧреАрдХреГрдд рдпрд╛рддрд╛рдпрд╛рдд

рдкреИрд░рд╛рдореАрдЯрд░ рдЬрд┐рддрдирд╛ рдХрдо рд╣реЛрдЧрд╛, рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЙрддрдиреА рд╣реА рдЕрдзрд┐рдХ рд╣реЛрдЧреАред

рдЕрдиреБрд╢рд╛рд╕рди, рдХрдХреНрд╖рд╛рдПрдВ, рдлрд┐рд▓реНрдЯрд░

рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА рдиреЛрдЯ рдХрд┐рдпрд╛ рд╣реИ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ eth0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рд╕реАрдорд┐рдд рд╣реЛрдВрдЧреЗ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ - ifbb рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ред

Ifb0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдирд┐рдпрдВрддреНрд░рдг рдореЙрдбреНрдпреВрд▓ рд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
/sbin/modprobe ifb
рдореЙрдбреНрдпреВрд▓ рдХреЛ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
/sbin/ip link set dev ifb0 up
рдлрд┐рд░, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣рдЯрд╛ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рд╕рднреА рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдЗрд╕ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:
/sbin/tc qdisc add dev eth0 ingress
/sbin/tc filter add dev eth0 parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev ifb0

рдЕрдм рдЖрдк eth0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдФрд░ ifb0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рд╕реБрд░рдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрдХреНрд╖рд╛рдПрдВ рдФрд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрдкрдпреЛрдЧ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
  1. рддрдерд╛рдХрдерд┐рдд рд░реВрдЯ рдХрддрд╛рд░ рд╣реИрдВрдбрд▓рд░ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ
  2. рдПрдХ рд╡рд░реНрдЧ рдЗрд╕ рдЕрдиреБрд╢рд╛рд╕рди рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдбреЗрдЯрд╛ рдХреЗ рдЕрдзрд┐рдХрддрдо рдереНрд░реВрдкреБрдЯ рдкрд░ рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИ рдЬреЛ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред
  3. рдПрдХ рдлрд╝рд┐рд▓реНрдЯрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдХреБрдЫ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдкреНрд░рддреНрдпреЗрдХ рдкреИрдХреЗрдЬ рдХреЛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдЧ рдХреЛ рд╕реМрдВрдкрддрд╛ рд╣реИ

рд╡рд░реНрдЧреЛрдВ рдХреЛ рдирд╕реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдЕрдЧрд░ рдХрдХреНрд╖рд╛ 1: 1 Mbit рдХреА рдЕрдзрд┐рдХрддрдо рдмреИрдВрдбрд╡рд┐рдбреНрде рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ, рддреЛ рдХрдХреНрд╖рд╛ 1: 1, рдЬреЛ рдЗрд╕рдХрд╛ рдЙрдкрд╡рд░реНрдЧ рд╣реИ, рдЕрдкрдиреЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреА рдЧрддрд┐ рд╕реАрдорд╛ рд╕реЗ рдЕрдзрд┐рдХ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреАред

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ

рд╕рднреА рдпрд╛рддрд╛рдпрд╛рдд рдЬреЛрдбрд╝рддреЛрдбрд╝ eth0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдкрд░ рд░реВрдЯ рдХрддрд╛рд░ рд╣реИрдВрдбрд▓рд░ рдмрдирд╛рдПрдВ:
/sbin/tc qdisc add dev eth0 root handle 1: htb default 900

рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд╣рдордиреЗ рд░реВрдЯ рдХрддрд╛рд░ рд╣реИрдВрдбрд▓рд░ рдХреЛ eth0 рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛, рдЗрд╕реЗ рдирдВрдмрд░ 1 рд╕реМрдВрдкрд╛: рдФрд░ рд╕рднреА рдЕрд╡рд░реНрдЧреАрдХреГрдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдХрдХреНрд╖рд╛ 900 рдореЗрдВ рднреЗрдЬрдиреЗ рдХреЗ рд╕рд╛рде HTB рдЕрдиреБрд╕реВрдЪрдХ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛ред

рдлрд┐рд░ рдЗрдВрдЯрд░рдлреЗрд╕ рд╕реНрдкреАрдб рдХреЗ рдмрд░рд╛рдмрд░ рдЪреИрдирд▓ рдЪреМрдбрд╝рд╛рдИ рдХреЗ рд╕рд╛рде 1: 1 рдЪрд╛рдЗрд▓реНрдб рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ:
/sbin/tc class add dev eth0 parent 1: classid 1:1 htb rate 100Mbit burst 15k
рдмрд╛рдж рдХреЗ рд╕рднреА рд╡рд░реНрдЧ рдЙрд╕ рд╡рд░реНрдЧ рдХреЗ рдЙрдкрд╡рд░реНрдЧ рд╣реЛрдВрдЧреЗ рдЬреЛ рд╣рдордиреЗ рдЕрднреА рдмрдирд╛рдП рд╣реИрдВред рдпрд╣ рд╣рдореЗрдВ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рджрд░реЛрдВ рдХреА рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдФрд░ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред

рдЖрдЗрдП рд╕реНрдерд╛рдиреАрдп рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд▓рд╛рд╕ рдмрдирд╛рдПрдВ, рдЧрдВрддрд╡реНрдп рдХрд╛ рдкрддрд╛ рдпрд╛ рд╕реНрд░реЛрдд рдХрд╛ рдкрддрд╛ рдЬрд┐рд╕рдореЗрдВ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдВрддрд░рд┐рдХ рдкрддрд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрд╕рдПрд╕рдПрдЪ, рдПрд╕рдПрдордмреА, рдПрдлрдЯреАрдкреА, рдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВрдбрдмреНрд▓реНрдпреВ рдЬреИрд╕реЗ рд╕рд░реНрд╡рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИред рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╡рд░реНрдгрд┐рдд рдЧрддрд┐ 50Mbit рд╣реИ, рд▓реЗрдХрд┐рди рдпрджрд┐ рдореВрд▓ рд╡рд░реНрдЧ рдХреА рдкреНрд░рд╡рд╛рд╣ рджрд░ 100Mbit рд╕реЗ рдХрдо рдирд╣реАрдВ рд╣реИ, рддреЛ рд╣рдо рдЕрдзрд┐рдХрддрдо рдбреЗрдЯрд╛ рдЕрдВрддрд░рдг рдЧрддрд┐ рдХреЗ рд░реВрдк рдореЗрдВ 80Mbit рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред
/sbin/tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50Mbit ceil 80Mbit burst 15k

рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЧрддрд┐ рдЙрд╕ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧреА рдЬреЛ рдкреНрд░рджрд╛рддрд╛ рд╣рдореЗрдВ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ 15Mbit рд╣реИред
/sbin/tc class add dev eth0 parent 1:1 classid 1:100 htb rate 15Mbit burst 15k

рднрд▓реЗ рд╣реА рдкреНрд░рджрд╛рддрд╛ рдПрдХ рдЙрдЪреНрдЪ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП 18Mbit, рдореИрдВ рдПрдХ "рдирд░рдо" рдЯреНрд░реИрдлрд┐рдХ рдкреНрд░рддрд┐рдмрдВрдз рдХреЗ рд▓рд┐рдП 1-2 Mbit рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╢реЗрдкрд░ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдЧрддрд┐ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕рднреА рдбреЗрдЯрд╛ рдкреИрдХреЗрдЯ рдЬреЛ рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП рдХрд┐рд╕реА рднреА рд╡рд░реНрдЧ рдореЗрдВ рдирд╣реАрдВ рдЖрдПрдВрдЧреЗ, рднреЗрдЬреЗ рдЬрд╛рдПрдВрдЧреЗред
/sbin/tc class add dev eth0 parent 1:1 classid 1:900 htb rate 56Kbit ceil 128Kbit

рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдПрдХ рдЖрдмрдВрдЯрд┐рдд рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рдпрд╛, рдФрд░ рдлрд┐рд░ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЙрдкрд╡рд░реНрдЧреЛрдВ рдХреЛ рдмрдирд╛рдпрд╛ рд╣реИ рддрд╛рдХрд┐ рд╣рдо рдиреЗрдЯрд╡рд░реНрдХ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдВ
/sbin/tc class add dev eth0 parent 1:100 classid 1:101 htb rate 4Mbit ceil 6Mbit

рдЗрд╕ рдХрдорд╛рдВрдб рдХреЗ рд╕рд╛рде, рд╣рдордиреЗ рдирдВрдмрд░ 1: 101 рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд░реНрдЧ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд┐рдпрд╛, рдЬреЛ рдХрд┐ рдирдВрдмрд░ 1: 100 рдХреЗ рд╕рд╛рде рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрдкрд╡рд░реНрдЧ рд╣реИ рдФрд░ 4Mbit рдореЗрдВ рдХрдХреНрд╖рд╛ рдХреА рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдореВрд▓ рд╡рд░реНрдЧ рд╕реЗ рдореБрдХреНрдд рдмреИрдВрдбрд╡рд┐рдбреНрде рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, 6Mbit рдХреА рдЧрддрд┐ рд╕реЗ рдХрдХреНрд╖рд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдбреЗрдЯрд╛ рдХрд╛ рдЕрдзрд┐рдХрддрдо рдкрд╛рд░рд┐рдд рд╣реЛрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

рдЕрдЧрд▓рд╛, рд╣рдо рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрд╡рд░реНрдЧ рдмрдирд╛рддреЗ рд╣реИрдВ:
# PRIO 1 -> icmp traffic -
/sbin/tc class add dev eth0 parent 1:101 classid 1:102 htb rate 33kbit ceil 6Mbit prio 1
# PRIO 2 -> udp, ssh
/sbin/tc class add dev eth0 parent 1:101 classid 1:103 htb rate 33kbit ceil 6Mbit prio 2
# PRIO 3 -> tcp sport 80 тАУ WWW
/sbin/tc class add dev eth0 parent 1:101 classid 1:104 htb rate 33kbit ceil 6Mbit prio 3
# PRIO 4 -> unclassified traffic тАУ , ,
/sbin/tc class add dev eth0 parent 1:101 classid 1:105 htb rate 33kbit ceil 6Mbit prio 4


рдХрдХреНрд╖рд╛рдПрдВ рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдЬреЛ рдХреБрдЫ рдорд╛рдирджрдВрдбреЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░реЗрдЧрд╛ред

рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред
рдЙрдирдореЗрдВ рд╕реЗ рд╕рдмрд╕реЗ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ u32 рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рд╣реИрдВ , рдЬреЛ рдЖрдкрдХреЛ рдЧрдВрддрд╡реНрдп рдпрд╛ рдкреНрд░реЗрд╖рдХ рдкрддреЗ, рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЧрдП рдкреНрд░реЛрдЯреЛрдХреЙрд▓, рдкреЛрд░реНрдЯ рдирдВрдмрд░ рдФрд░ рдЗрд╕реА рддрд░рд╣, рдФрд░ iptables рд▓реЗрдмрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреИрдХреЗрдЯ рдХреЛ рд╡рд░реНрдЧреАрдХреГрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдкрд╣рд▓реЗ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, PREROUTING рд╢реНрд░реГрдВрдЦрд▓рд╛ рдореЗрдВ iptables рдХреЗ рд╕рд╛рде рдкреИрдХреЗрдЯреЛрдВ рдХреЛ рдЪрд┐рд╣реНрдирд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛, рдФрд░ рдлрд┐рд░ рд╡рд╛рдВрдЫрд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд▓реЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЖрдЧреЗ рдХреЗ рдкреИрдХреЗрдЯреЛрдВ рдХреЗ рд▓рд┐рдП tc рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдореИрдВрдиреЗ u32 рдХреНрд▓рд╛рд╕рд┐рдлрд╛рдпрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд┐рдпрд╛ред

рд╣рдо icmp рдХреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕рдмрд╕реЗ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХрдХреНрд╖рд╛ 1: 102 рдкрд░ рднреЗрдЬрддреЗ рд╣реИрдВ
/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.10.78 \
match ip protocol 1 0xff flowid 1:102


рдпреВрдбреАрдкреА рдФрд░ рдПрд╕рдПрд╕рдПрдЪ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдХрдХреНрд╖рд╛ 1: 103 рдореЗрдВ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.10.78 \
match ip protocol 17 0xff flowid 1:103
/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 2 u32 match ip dst 192.168.10.78 \
match ip protocol 6 0xff match ip sport 22 0xffff flowid 1:103


Tcp рдкреЛрд░реНрдЯ 80 рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ WWW рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рдХреНрд▓рд╛рд╕ 1: 104 рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 3 u32 match ip dst 192.168.10.78 \
match ip protocol 6 0xff match ip sport 80 0xffff flowid 1:104


рдЯреНрд░реИрдлрд╝рд┐рдХ рдЬреЛ рдХрд┐рд╕реА рднреА рд╕реНрдерд┐рддрд┐ рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ рдЙрд╕реЗ рдХрдХреНрд╖рд╛ 1: 105 рдкрд░ рднреЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
/sbin/tc filter add dev eth0 protocol ip parent 1:0 prio 4 u32 match ip dst 192.168.10.78 flowid 1:105

рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддреА рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡рд░реНрдЧ рдХреЛ рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдореВрд▓ рд╢реНрд░реЗрдгреА рд╕реЗ рдЕрдзрд┐рдХрддрдо рдмреИрдВрдбрд╡рд┐рдбреНрде рдЙрдзрд╛рд░ рд▓реЗрдиреЗ рдХреА рд╕рдВрднрд╛рд╡рдирд╛ рдХреЗ рд╕рд╛рде рдПрдХ рдиреНрдпреВрдирддрдо рдмреИрдВрдбрд╡рд┐рдбреНрде рдЖрд╡рдВрдЯрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП, рдпрджрд┐ рд╡рд░реНрдЧ рдЖрдИрд╕реАрдкреАрдбрдмреНрд▓реНрдпреВ рдЯреНрд░реИрдлрд┐рдХ рд╕реЗ tcp рдкреЛрд░реНрдЯ 80 рд╕реЗ рднрд░рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рдПрдХ рдЖрдИрд╕реАрдПрдордкреА рдкреИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдЧреБрдЬрд░рддрд╛ рд╣реИ WWW рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрдо рдкреНрд░рд╛рдердорд┐рдХрддрд╛, рдЗрд╕рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛ рдХреЛ рджреЗрдЦрддреЗ рд╣реБрдП рдЗрд╕реЗ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рдЖрдЙрдЯрдЧреЛрдЗрдВрдЧ рдЯреНрд░реИрдлрд┐рдХ рдХреЛ рд╕реАрдорд┐рдд рдХрд░реЗрдВ

рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдиреЗ рд╡рд╛рд▓реЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рд▓рд┐рдП рд╡рд╣реА рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдХреЗрд╡рд▓ ifb0 рд╡рд░реНрдЪреБрдЕрд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЯреНрд░реИрдлрд╝рд┐рдХ рдХреЗ рдЧрдВрддрд╡реНрдп рдХреЛ рднреА рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛: dst 192.168.10.78 рдХреЗ рдмрдЬрд╛рдп, рдЖрдкрдХреЛ рдХреНрд░рдорд╢рдГ src 192.168.10.78 рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

рд╕реНрд╡рдЪрд╛рд▓рди рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреА рд╣реИ

рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЧрддрд┐ рд╕реАрдорд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдиреЗ рдХреА рдЬрд╝рд░реВрд░рдд рд╣реИ рдЬреЛ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рдкрддреЗ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддреА рд╣реИ рдЬрд┐рдирдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдЗрди рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рддрд┐рдмрдВрдз рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред

 root@mixer:/etc/rc.d/shape# cat ./users #CLIENT IP DOWN CEIL UP CEIL PROVIDER ID user1 192.168.10.78 1Mbit 2Mbit 1Mbit 4Mbit mageal 10 user2 192.168.10.44 1Mbit 1Mbit 2Mbit 3Mbit ukrtel 11 


рдлрд╝рд╛рдЗрд▓ рдПрдХ рдлрд╝реАрд▓реНрдб рд╣реИ, рдЬрд┐рд╕реЗ рдЯреИрдм рдпрд╛ рд╕реНрдкреЗрд╕ рджреНрд╡рд╛рд░рд╛ рдЕрд▓рдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдирд┐рдореНрди рдорд╛рди рд╣реЛрддреЗ рд╣реИрдВ:
рдЧреНрд░рд╛рд╣рдХ - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдоред рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рдореЗрдВ рдЖрд╕рд╛рдиреА рдХреА рдЬрд░реВрд░рдд рд╣реИ
рдиреЗрдЯрд╡рд░реНрдХ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛
рдбрд╛рдЙрдирд▓реЛрдб - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рджрд░
CEIL - рдЕрднрд┐рднрд╛рд╡рдХ рд╡рд░реНрдЧ рдореЗрдВ рдЗрд╕ рдмреИрдВрдб рдХреА рдЙрдкрд▓рдмреНрдзрддрд╛ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреА рдЕрдзрд┐рдХрддрдо рдЧрддрд┐
рдпреВрдкреА - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рджрд░
CEIL - рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдиреЗ рд╡рд╛рд▓реЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЗ рд▓рд┐рдП CEIL рдХреЗ рд╕рдорд╛рди
рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ - рдЬреЛ рдкреНрд░рджрд╛рддрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдпрджрд┐ рдХрдИ рд╣реИрдВ)
рдЖрдИрдбреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдХрдХреНрд╖рд╛ рд╕рдВрдЦреНрдпрд╛ рд╣реИред рдиреАрдЪреЗ рд╡рд░реНрдЧ рд╕рдВрдЦреНрдпрд╛ рдкрд░ рдЕрдзрд┐рдХред
рдореИрдВ рдХрдИ рдмреИрд╢ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рднреА рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд░рддрд╛ рд╣реВрдВред

root@steel:/etc/rc.d/shape# cat ./rc.shape

#!/bin/bash
. /etc/init.d/functions
/sbin/modprobe ifb
/sbin/ip link set dev ifb0 up

TC="/sbin/tc"
DEV_P1_DOWN="eth0"
DEV_P1_UP="ifb0"

stop(){
$TC qdisc del dev $DEV_P1_DOWN root
$TC qdisc del dev $DEV_P1_UP root
$TC qdisc del dev $DEV_P1_DOWN ingress
}
start(){
#
$TC qdisc del dev $DEV_P1_DOWN root
$TC qdisc del dev $DEV_P1_UP root
$TC qdisc del dev $DEV_P1_DOWN ingress

## ifb0
$TC qdisc add dev $DEV_P1_DOWN ingress
$TC filter add dev $DEV_P1_DOWN parent ffff: protocol ip u32 match u32 0 0 action mirred egress redirect dev $DEV_P1_UP

#

. /etc/rc.d/shape/rc.shape.down.classes
. /etc/rc.d/shape/rc.shape.up.classes

# , 50 80.
$TC filter add dev $DEV_P1_UP protocol ip parent 1:0 prio 1 u32 match ip dst 10.0.0.1 flowid 1:10
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 1 u32 match ip src 10.0.0.1 flowid 1:10

#
. /etc/rc.d/shape/rc.shape.filters
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart|reload)
start
;;
*)
msg_usage "${0##*/} {restart|start|stop}"
RETVAL=1
esac


рдЕрдЧрд▓рд╛ рдХреЛрдб рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

рдХрдХреНрд╖рд╛рдПрдВ

root@steel:/etc/rc.d/shape# cat ./rc.shape.down.classes

#!/bin/bash
## DOWNLOAD CLASSES
##########################################################
#
$TC qdisc add dev $DEV_P1_DOWN root handle 1: htb default 900

#
$TC class add dev $DEV_P1_DOWN parent 1: classid 1:1 htb rate 100Mbit burst 15k

# (SERVER -> CLIENTS)
$TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:10 htb rate 50Mbit ceil 80Mbit burst 15k

# (SERVER -> CLIENTS)
$TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:100 htb rate 15Mbit burst 15k

# (SERVER -> CLIENTS)
$TC class add dev $DEV_P1_DOWN parent 1:1 classid 1:900 htb rate 128Kbit ceil 128Kbit

root@steel:/etc/rc.d/shape# cat ./rc.shape.up.classes
#!/bin/bash

## UPLOAD CLASSES
#############################################################
#
$TC qdisc add dev ifb0 root handle 1: htb default 900

#
$TC class add dev ifb0 parent 1: classid 1:1 htb rate 100Mbit burst 15k
# (CLIENTS -> SERVER)
$TC class add dev $DEV_P1_UP parent 1:1 classid 1:10 htb rate 50Mbit ceil 80Mbit burst 15k

# (CLIENTS -> SERVER)
$TC class add dev $DEV_P1_UP parent 1:1 classid 1:100 htb rate 5Mbit burst 15k
# (CLIENTS -> SERVER)
$TC class add dev $DEV_P1_UP parent 1:1 classid 1:900 htb rate 128Kbit ceil 128Kbit


рдФрд░ рдлрд┐рд▓реНрдЯрд░:

root@steel:/etc/rc.d/shape# cat ./rc.shape.filters
#!/bin/bash
# тАЬusersтАЭ
while read LINE
do
set -- $LINE
if [[ $1 =~ '^\#' ]]
then
continue
fi
################################################################
CLIENT_IP=$2
CLIENT_DOWN_RATE=$3
CLIENT_DOWN_CEIL=$4
################################################################
# DOWNSTREAM
#####################

#
$TC class add dev $DEV_P1_DOWN parent 1:100 classid 1:${8}1 htb rate $CLIENT_DOWN_RATE ceil $CLIENT_DOWN_CEIL

# PRIO 1 -> icmp traffic
$TC class add dev $DEV_P1_DOWN parent 1:${8}1 classid 1:${8}2 htb rate 33kbit ceil $CLIENT_DOWN_CEIL prio 1

# PRIO 2 -> udp, ssh
$TC class add dev $DEV_P1_DOWN parent 1:${8}1 classid 1:${8}3 htb rate 33kbit ceil $CLIENT_DOWN_CEIL prio 2

# PRIO 3 -> tcp sport 80
$TC class add dev $DEV_P1_DOWN parent 1:${8}1 classid 1:${8}4 htb rate 33kbit ceil $CLIENT_DOWN_CEIL prio 3

# PRIO 4 -> unclassified traffic
$TC class add dev $DEV_P1_DOWN parent 1:${8}1 classid 1:${8}5 htb rate 33kbit ceil $CLIENT_DOWN_CEIL prio 4

# icmp- icmp- 1
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 1 u32 match ip dst $CLIENT_IP \
match ip protocol 1 0xff flowid 1:${8}2

# udp
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 2 u32 match ip dst $CLIENT_IP \
match ip protocol 17 0xff flowid 1:${8}3
# ssh
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 2 u32 match ip dst $CLIENT_IP \
match ip protocol 6 0xff match ip sport 22 0xffff flowid 1:${8}3
# WWW, sport 80
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 3 u32 match ip dst $CLIENT_IP \
match ip protocol 6 0xff match ip sport 80 0xffff flowid 1:${8}4
# тАУ ,
$TC filter add dev $DEV_P1_DOWN protocol ip parent 1:0 prio 4 u32 match ip dst $CLIENT_IP flowid 1:${8}5

# UPSTREAM
#####################

CLIENT_UP_RATE=$5
CLIENT_UP_CEIL=$6

###

$TC class add dev $DEV_P1_UP parent 1:100 classid 1:${8}1 htb rate $CLIENT_UP_RATE ceil $CLIENT_UP_CEIL
# PRIO 1 -> icmp traffic
$TC class add dev $DEV_P1_UP parent 1:${8}1 classid 1:${8}2 htb rate 1kbit ceil $CLIENT_UP_CEIL prio 1
# PRIO 2 -> udp, ssh
$TC class add dev $DEV_P1_UP parent 1:${8}1 classid 1:${8}3 htb rate 1kbit ceil $CLIENT_UP_CEIL prio 2
# PRIO 3 -> unclassified traffic
$TC class add dev $DEV_P1_UP parent 1:${8}1 classid 1:${8}4 htb rate 1kbit ceil $CLIENT_UP_CEIL prio 3
$TC filter add dev $DEV_P1_UP protocol ip parent 1:0 prio 1 u32 match ip src $CLIENT_IP \
match ip protocol 1 0xff flowid 1:${8}2
$TC filter add dev $DEV_P1_UP protocol ip parent 1:0 prio 2 u32 match ip src $CLIENT_IP \
match ip protocol 17 0xff flowid 1:${8}3
$TC filter add dev $DEV_P1_UP protocol ip parent 1:0 prio 2 u32 match ip src $CLIENT_IP \
match ip protocol 6 0xff match ip dport 22 0xffff flowid 1:${8}3
$TC filter add dev $DEV_P1_UP protocol ip parent 1:0 prio 3 u32 match ip src $CLIENT_IP flowid 1:${8}4

done < ./users


рдЗрди рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЛ рдПрдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд░рдЦрдирд╛ рд╣реЛрдЧрд╛, рднрд╛рдЧреЛ:

chmod +x ./rc.shape

рдФрд░ рдлрд┐рд░

./rc.shape start

рдореИрдВрдиреЗ рдпрд╛рддрд╛рдпрд╛рдд рдХреЛ рд╕реАрдорд┐рдд рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдпрд╛рддрд╛рдпрд╛рдд рдкреНрд░рддрд┐рдмрдВрдзреЛрдВ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рдЯреАрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдмрд╣реБрдд рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЪреАрдЬ рд╣реИред рдореИрдВ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдХреЛ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ: рдЗрд╕ рдореБрджреНрджреЗ рдХреЗ рдЕрдзрд┐рдХ рдЧрд╣рди рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП LARTC-HOWTOред

Source: https://habr.com/ru/post/In119611/


All Articles