FreeBSD рд▓реЗ рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдкреНрд░рдпреЛрдЧ рд╣реБрдиреЗ Netlink рдкреНрд░реЛрдЯреЛрдХрд▓рдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдердкреНрдЫ

FreeBSD рдХреЛрдб рдЖрдзрд╛рд░рд▓реЗ рдиреЗрдЯрд▓рд┐рдЩреНрдХ рдХрдореНрдпреБрдирд┐рдХреЗрд╕рди рдкреНрд░реЛрдЯреЛрдХрд▓ (RFC 3549) рдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдЕрдкрдирд╛рдЙрдЫ, рдЬреБрди рд▓рд┐рдирдХреНрд╕рдорд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рд╣реБрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрд╕рдБрдЧ рдХрд░реНрдиреЗрд▓рдХреЛ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд▓рд╛рдИ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХрд░реНрдиреЗрд▓рдорд╛ рд╕рдЮреНрдЬрд╛рд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЕрд╡рд╕реНрдерд╛ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ NETLINK_ROUTE рдЕрдкрд░реЗрд╕рдирд╣рд░реВрдХреЛ рдкрд░рд┐рд╡рд╛рд░рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрди рд╕реАрдорд┐рдд рдЫред

рдпрд╕рдХреЛ рд╣рд╛рд▓рдХреЛ рд░реВрдкрдорд╛, рдиреЗрдЯрд▓рд┐рдЩреНрдХ рд╕рдорд░реНрдердирд▓реЗ FreeBSD рд▓рд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди, IP рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрди, рд░рд╛рдЙрдЯрд┐рдЩ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рд░ рдкреНрдпрд╛рдХреЗрдЯ рдлрд░реНрд╡рд╛рд░реНрдб рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗ рд╕реНрдЯреЗрдЯ рдбрд╛рдЯрд╛ рднрдгреНрдбрд╛рд░рдг рдЧрд░реНрдиреЗ Nexthop рд╡рд╕реНрддреБрд╣рд░реВ рд╣реЗрд░рдлреЗрд░ рдЧрд░реНрди iproute2 рдкреНрдпрд╛рдХреЗрдЬрдмрд╛рдЯ рд▓рд┐рдирдХреНрд╕ рдЖрдИрдкреА рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╣реЗрдбрд░ рдлрд╛рдЗрд▓рд╣рд░реВрдорд╛ рд╕рд╛рдиреЛ рдкрд░рд┐рд╡рд░реНрддрди рдкрдЫрд┐, рдмрд░реНрдб рд░рд╛рдЙрдЯрд┐рдЩ рдкреНрдпрд╛рдХреЗрдЬрдорд╛ рдиреЗрдЯрд▓рд┐рдЩреНрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдореНрднрд╡ рдЫред

FreeBSD рдХрд╛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд▓рд┐рдЩреНрдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓реЛрдб рдЧрд░реНрди рдорд┐рд▓реНрдиреЗ рдХрд░реНрдиреЗрд▓ рдореЛрдбреНрдпреБрд▓рдХреЛ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рд╕рдореНрднрд╡ рднрдПрдорд╛ рдЕрдиреНрдп рдХрд░реНрдиреЗрд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд▓рд╛рдИ рдЕрд╕рд░ рдЧрд░реНрджреИрди рд░ рдкреНрд░реЛрдЯреЛрдХрд▓ рдорд╛рд░реНрдлрдд рдЖрдЙрдиреЗ рд╕рдиреНрджреЗрд╢рд╣рд░реВ рдкреНрд░рд╢реЛрдзрди рдЧрд░реНрди рд░ рдПрд╕рд┐рдиреНрдХреНрд░реЛрдирд╕ рдореЛрдбрдорд╛ рдХрд╛рд░реНрдпрд╣рд░реВ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдЯрд╛рд╕реНрдХ рдХреНрдпреБрд╣рд░реВ (рдЯрд╛рд╕реНрдХреНрдпреБрд╣рд░реВ) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫред рдиреЗрдЯрд▓рд┐рдЩреНрдХ рдкреЛрд░реНрдЯ рдЧрд░реНрдиреБрдХреЛ рдХрд╛рд░рдг рдХрд░реНрдиреЗрд▓ рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдорд╛рдирдХ рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рдЕрднрд╛рд╡ рд╣реЛ, рдЬрд╕рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд░ рдбреНрд░рд╛рдЗрднрд░рд╣рд░реВрд▓реЗ рдЖрдлреНрдиреИ рдкреНрд░реЛрдЯреЛрдХрд▓рд╣рд░реВ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдЧрд░реНрджрдЫред

Netlink рд▓реЗ рдПрдХ рдПрдХреАрдХреГрдд рд╕рдВрдЪрд╛рд░ рддрд╣ рд░ рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рд┐рдмрд▓ рд╕рдиреНрджреЗрд╢ рдврд╛рдБрдЪрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдПрдХ рдордзреНрдпрд╕реНрдердХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдп рдЧрд░реНрди рд╕рдХреНрдЫ рдЬрд╕рд▓реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рднрд┐рдиреНрди рдбреЗрдЯрд╛рд▓рд╛рдИ рдПрдХрд▓ рдЕрдиреБрд░реЛрдзрдорд╛ рдЬреЛрдбреНрджрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, devd, рдЬреЗрд▓ рд░ pfilctl рдЬрд╕реНрддрд╛ FreeBSD рд╕рдмрд╕рд┐рд╕реНрдЯрдорд╣рд░реВ, рдЬрд╕рд▓реЗ рд╣рд╛рд▓ рдЖрдлреНрдиреИ ioctl рдХрд▓рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ, рдиреЗрдЯрд▓рд┐рдЩреНрдХрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рдЬрд╕рд▓реЗ рдпреА рдЙрдкрдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд╕рд┐рд░реНрдЬрдирд╛рд▓рд╛рдИ рдзреЗрд░реИ рд╕рд░рд▓ рдмрдирд╛рдЙрдиреЗрдЫред рдердк рд░реВрдкрдорд╛, рдиреЗрдХреНрд╕реНрдЯрд╣рдк рд╡рд╕реНрддреБрд╣рд░реВ рд░ рд░рд╛рдЙрдЯрд┐рдЩ рд╕реНрдЯреНрдпрд╛рдХрдорд╛ рд╕рдореВрд╣рд╣рд░реВ рдкрд░рд┐рдорд╛рд░реНрдЬрди рдЧрд░реНрди Netlink рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ рд░рд╛рдЙрдЯрд┐рдЩ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВрд╕рдБрдЧ рдердк рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рдЕрдиреНрддрд░реНрдХреНрд░рд┐рдпрд╛ рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫред

рд╣рд╛рд▓ рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХрд╛ рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ:

  • рдорд╛рд░реНрдЧрд╣рд░реВ, рд╡рд╕реНрддреБрд╣рд░реВ рд░ Nexthops рд╕рдореВрд╣рд╣рд░реВ, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ, рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рд░ рдЫрд┐рдореЗрдХреА рд╣реЛрд╕реНрдЯрд╣рд░реВ (arp/ndp) рдмрд╛рд░реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрджреИред
  • рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВрдХреЛ рдЙрдкрд╕реНрдерд┐рддрд┐ рд░ рд╡рд┐рдЪреНрдЫреЗрджрди, рдареЗрдЧрд╛рдирд╛рд╣рд░реВ рд╕реЗрдЯ рдЧрд░реНрдиреЗ рд░ рдореЗрдЯрд╛рдЙрдиреЗ, рдорд╛рд░реНрдЧрд╣рд░реВ рдердкреНрдиреЗ рд░ рдореЗрдЯрд╛рдЙрдиреЗ рдмрд╛рд░реЗ рд╕реВрдЪрдирд╛рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджреИред
  • рдорд╛рд░реНрдЧрд╣рд░реВ, рд╡рд╕реНрддреБрд╣рд░реВ рд░ Nexthops рд╕рдореВрд╣рд╣рд░реВ, рдЧреЗрдЯрд╡реЗрд╣рд░реВ, рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдердкреНрджреИ рд░ рд╣рдЯрд╛рдЙрдиреЗред
  • рд░рд╛рдЙрдЯрд┐рдВрдЧ рддрд╛рд▓рд┐рдХрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рд▓рд╛рдЧрд┐ Rtsock рдЗрдиреНрдЯрд░рдлреЗрд╕рдХреЛ рд╕рд╛рде рдПрдХреАрдХрд░рдгред

рд╕реНрд░реЛрдд: opennet.ru

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