nmcli рдХрдиреНрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд┐рдирдХреНрд╕рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрджреИ

nmcli рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд┐рдирдХреНрд╕ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрдирдорд╛ NetworkManager рдиреЗрдЯрд╡рд░реНрдХ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЙрдкрдХрд░рдгрдХреЛ рдкреВрд░рд╛ рдлрд╛рдЗрджрд╛ рд▓рд┐рдиреБрд╣реЛрд╕реНред

nmcli рдХрдиреНрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд┐рдирдХреНрд╕рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрджреИ

рдЙрдкрдпреЛрдЧрд┐рддрд╛ nmcli рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдиреНрдзрдХ рдХрд╛рд░реНрдпрд╣рд░реВ рдкрд╣реБрдБрдЪ рдЧрд░реНрди API рд▓рд╛рдИ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ рдХрд▓ рдЧрд░реНрджрдЫред

рдпреЛ 2010 рдорд╛ рджреЗрдЦрд╛ рдкрд░реНтАНрдпреЛ рд░ рдзреЗрд░реИрдХреЛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рд░ рдЬрдбрд╛рдирд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рддрд░рд┐рдХрд╛ рднрдПрдХреЛ рдЫред рдпрджреНрдпрдкрд┐ рдХреЗрд╣реА рдорд╛рдирд┐рд╕рд╣рд░реВ рдЕрдЭреИ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреН ifconfigред рдХрд┐рдирднрдиреЗ nmcli рдЯрд░реНрдорд┐рдирд▓ рд╡рд┐рдиреНрдбреЛрдЬ рд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд╣рд░реВрдорд╛ рдкреНрд░рдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рдХрдорд╛рдгреНрдб рд▓рд╛рдЗрди рдЗрдиреНрдЯрд░рдлреЗрд╕ (CLI) рдЙрдкрдХрд░рдг рд╣реЛ, рдпреЛ GUI рдмрд┐рдирд╛ рдХрд╛рдо рдЧрд░реНрдиреЗ рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЖрджрд░реНрд╢ рд╣реЛред

ncmli рдЖрджреЗрд╢ рд╕рд┐рдиреНрдЯреНрдпрд╛рдХреНрд╕

рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдпрд╕реНрддреЛ рджреЗрдЦрд┐рдиреНрдЫ:

$ nmcli <options> <section> <action>

  • рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдорд╛рдкрджрдгреНрдбрд╣рд░реВ рд╣реБрдиреН рдЬрд╕рд▓реЗ nmcli рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рд╕реВрдХреНрд╖реНрдорддрд╛рд╣рд░реВ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ,
  • рдЦрдгреНрдб (рдЦрдгреНрдб) - рдЙрдкрдпреЛрдЧрд┐рддрд╛рдХреЛ рдХреБрди рд╕реБрд╡рд┐рдзрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрджрдЫ,
  • рдХрд╛рд░реНрдп - рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд╛рд╕реНрддрд╡рдорд╛ рдХреЗ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред

рддреНрдпрд╣рд╛рдБ рдХреБрд▓ 8 рдЦрдгреНрдбрд╣рд░реВ рдЫрдиреН, рдЬрд╕рдордзреНрдпреЗ рдкреНрд░рддреНрдпреЗрдХ рдЖрджреЗрд╢ (рдХрд╛рд░реНрдпрд╣рд░реВ) рдХреЛ рдирд┐рд╢реНрдЪрд┐рдд рд╕реЗрдЯрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫ:

  • рдорджрдд ncmcli рдЖрджреЗрд╢ рд░ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рдмрд╛рд░реЗ рдорджреНрджрдд рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред
  • рд╕рд╛рдорд╛рдиреНрдп рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдиреНрдзрдХ рд╕реНрдерд┐рддрд┐ рд░ рд╡рд┐рд╢реНрд╡рд╡реНрдпрд╛рдкреА рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд░реНрдХрд╛рдЙрдБрдЫред
  • рд╕рдЮреНрдЬрд╛рд▓ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрд╡реЗрд░реА рдЧрд░реНрди рд░ рдЬрдбрд╛рдирд╣рд░реВ рд╕рдХреНрд╖рдо/рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рдЖрджреЗрд╢рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • рд░реЗрдбрд┐рдпреЛ WiFi рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рд╕реНрдерд┐рддрд┐ рдХреНрд╡реЗрд░реА рдЧрд░реНрди рд░ рдЬрдбрд╛рдирд╣рд░реВ рд╕рдХреНрд╖рдо/рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рдЖрджреЗрд╢рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • рдордирд┐рдЯрд░ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдиреНрдзрдХ рдЧрддрд┐рд╡рд┐рдзрд┐ рдирд┐рдЧрд░рд╛рдиреА рд░ рд╕рдЮреНрдЬрд╛рд▓ рдЬрдбрд╛рдирдХреЛ рд╕реНрдерд┐рддрд┐рдорд╛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдЕрд╡рд▓реЛрдХрди рдЧрд░реНрди рдЖрджреЗрд╢рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • рдЬрдбрд╛рди рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрди, рдирдпрд╛рдБ рдЬрдбрд╛рдирд╣рд░реВ рдердкреНрдиреЗ рд░ рдЕрд╡рд╕реНрдерд┐рдд рдореЗрдЯрд╛рдЙрдиреЗ рдЖрджреЗрд╢рд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред
  • рдЙрдкрдХрд░рдг рдореБрдЦреНрдпрддрдпрд╛ рдпрдиреНрддреНрд░ рд╕рдореНрдмрдиреНрдзрд┐рдд рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ (рдЬрд╕реНрддреИ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд╛рдо) рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╡рд╛ рдЕрд╡рд╕реНрдерд┐рдд рдЬрдбрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЙрдкрдХрд░рдгрд╣рд░реВ рдЬрдбрд╛рди рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред
  • рдЧреЛрдкреНрдп nmcli рд▓рд╛рдИ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдиреНрдзрдХ "рдЧреБрдкреНрдд рдПрдЬреЗрдиреНрдЯ" рдХреЛ рд░реВрдкрдорд╛ рджрд░реНрддрд╛ рдЧрд░реНрджрдЫ рдЬрд╕рд▓реЗ рдЧреЛрдкреНрдп рд╕рдиреНрджреЗрд╢рд╣рд░реВ рд╕реБрдиреНрджрдЫред рдпреЛ рдЦрдгреНрдб рд╡рд┐рд░рд▓реИ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫ, рдХрд┐рдирднрдиреЗ nmcli рд▓реЗ рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдЬрдбрд╛рди рдЧрд░реНрджрд╛ рдпрд╕рд░реА рдХрд╛рдо рдЧрд░реНрджрдЫред

рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВ

рддрдкрд╛рдЗрдБ рд╕реБрд░реБ рдЧрд░реНрдиреБ рдЕрдШрд┐, рдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд┐ рдиреЗрдЯрд╡рд░реНрдХ рдкреНрд░рдмрдиреНрдзрдХ рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫ рд░ nmcli рд▓реЗ рдпрд╕рд╕рдБрдЧ рд╕рдЮреНрдЪрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдЫ:

$ nmcli general
STATE      CONNECTIVITY  WIFI-HW  WIFI     WWAN-HW  WWAN    
connected  full          enabled  enabled  enabled  enabled

рдХрд╛рдо рдкреНрд░рд╛рдпрдГ рд╕рдмреИ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рди рдкреНрд░реЛрдлрд╛рдЗрд▓рд╣рд░реВ рд╣реЗрд░реЗрд░ рд╕реБрд░реБ рд╣реБрдиреНрдЫ:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

рдпреЛ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдХрд╛рд░реНрдп рдЬрдбрд╛рди рдЦрдгреНрдбрдХреЛ рд▓рд╛рдЧрд┐ рджреЗрдЦрд╛рдЙрдиреБрд╣реЛрд╕реНред

рдкрд░реАрдХреНрд╖рдг рдореЗрд╕рд┐рди Ubuntu 20.04 рдЪрд▓рд┐рд░рд╣реЗрдХреЛ рдЫред рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛, рд╣рд╛рдореАрд▓реЗ рддреАрдирд╡рдЯрд╛ рддрд╛рд░ рдЬрдбрд╛рдирд╣рд░реВ рдлреЗрд▓рд╛ рдкрд╛рд░реНрдпреМрдВ: enp0s3, enp0s8, рд░ enp0s9ред

рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпреЛ рдмреБрдЭреНрдиреБ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ рдХрд┐ nmcli рдорд╛, рдЬрдбрд╛рди рд╢рдмреНрджрд▓реЗ рд╣рд╛рдореАрд▓реЗ рдПрдХ рдирд┐рдХрд╛рдпрд▓рд╛рдИ рдмреБрдЭрд╛рдЙрдБрдЫ рдЬреБрди рдЬрдбрд╛рдирдХреЛ рдмрд╛рд░реЗрдорд╛ рд╕рдмреИ рдЬрд╛рдирдХрд╛рд░реА рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрджрдЫред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдпреЛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╣реЛред рдЬрдбрд╛рдирд▓реЗ рд▓рд┐рдЩреНрдХ рддрд╣ рд░ IP рдареЗрдЧрд╛рдирд╛ рдЬрд╛рдирдХрд╛рд░реА рд╕рд╣рд┐рдд рд╕рдмреИ рдЬрдбрд╛рди-рд╕рдореНрдмрдиреНрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реАрд▓рд╛рдИ рд╕рдореЗрдЯреНрдЫред рдпреА OSI рдиреЗрдЯрд╡рд░реНрдХрд┐рдЩ рдореЛрдбреЗрд▓рдорд╛ рд▓реЗрдпрд░ 2 рд░ рд▓реЗрдпрд░ 3 рд╣реБрдиреНред

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

рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд╣рд░реВ рдердкреНрджреИ

ncmli рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рджреНрд░реБрдд рд░реВрдкрдорд╛ рдЬрдбрд╛рдирд╣рд░реВ рдердкреНрди рд░ рддреБрд░реБрдиреНрддреИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдг рдХреЛ рд▓рд╛рдЧреА, рд╡рд╛рдпрд░реНрдб рдЬрдбрд╛рди 2 (enp0s8 рд╕рдВрдЧ) рдердкреНрди рдХреЛ рд▓рд╛рдЧреА, рддрдкрд╛рдИрд▓реЗ рдирд┐рдореНрди рдЖрджреЗрд╢рд▓рд╛рдИ рд╕реБрдкрд░рдпреБрдЬрд░рдХреЛ рд░реВрдкрдорд╛ рдЪрд▓рд╛рдЙрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

$ sudo nmcli connection add type ethernet ifname enp0s8
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully added.

рдЯрд╛рдЗрдк рд╡рд┐рдХрд▓реНрдкрдорд╛ рд╣рд╛рдореА рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВ рдХрд┐ рдпреЛ рдЗрдерд░рдиреЗрдЯ рдЬрдбрд╛рди рд╣реБрдиреЗрдЫ, рд░ ifname (рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд╛рдо) рд╡рд┐рдХрд▓реНрдкрдорд╛ рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣реЗрдХреЛ рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕рд▓рд╛рдИ рд╕рдВрдХреЗрдд рдЧрд░реНрдЫреМрдВред

рдпреЛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрди рдкрдЫрд┐ рдХреЗ рд╣реБрдиреЗрдЫ:

$ nmcli connection show
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
Wired connection 2  2279d917-fa02-390c-8603-3083ec5a1d3e  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  --  

рдПрдЙрдЯрд╛ рдирдпрд╛рдБ рдЬрдбрд╛рди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ, ethernet-enp0s8ред рдпрд╕рд▓рд╛рдИ UUID рддреЛрдХрд┐рдПрдХреЛ рдерд┐рдпреЛ рд░ рдЬрдбрд╛рди рдкреНрд░рдХрд╛рд░ рдЗрдерд░рдиреЗрдЯ рдерд┐рдпреЛред рдорд╛рдерд┐ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпрд╕рд▓рд╛рдИ рдмрдврд╛рдЙрдиреБрд╣реЛрд╕реН:

$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)

рдлреЗрд░рд┐ рд╕рдХреНрд░рд┐рдп рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рд╕реВрдЪреА рдЬрд╛рдБрдЪ рдЧрд░реМрдВ:

$ nmcli connection show --active
NAME                UUID                                  TYPE      DEVICE
Wired connection 1  ac3241e4-b424-35d6-aaa7-07498561688d  ethernet  enp0s3
ethernet-enp0s8     09d26960-25a0-440f-8b20-c684d7adc2f5  ethernet  enp0s8
Wired connection 3  52d89737-de92-35ec-b082-8cf2e5ac36e6  ethernet  enp0s9

рдирдпрд╛рдБ рдЬрдбрд╛рди рдИрдерд░рдиреЗрдЯ-enp0s8 рдердкрд┐рдПрдХреЛ рдЫ, рдпреЛ рд╕рдХреНрд░рд┐рдп рдЫ рд░ enp0s8 рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫред

рдЬрдбрд╛рдирд╣рд░реВ рд╕реЗрдЯ рдЕрдк рдЧрд░реНрджреИ

ncmli рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╕рдЬрд┐рд▓реИрд╕рдБрдЧ рдЕрд╡рд╕реНрдерд┐рдд рдЬрдбрд╛рдирд╣рд░реВрдХреЛ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдЖрдлреНрдиреЛ рдбрд╛рдпрдирд╛рдорд┐рдХ (DHCP) IP рдареЗрдЧрд╛рдирд╛рд▓рд╛рдИ рд╕реНрдерд┐рд░ IP рдареЗрдЧрд╛рдирд╛рдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред

рдорд╛рдиреМрдВ рд╣рд╛рдореАрд▓реЗ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛рд▓рд╛рдИ 192.168.4.26 рдорд╛ рд╕реЗрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдпреЛ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рджреБрдИ рдЖрджреЗрд╢рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫреМрдВред рдкрд╣рд┐рд▓реЛрд▓реЗ рдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдкрдорд╛ IP рдареЗрдЧрд╛рдирд╛ рд╕реЗрдЯ рдЧрд░реНрдиреЗрдЫ, рд░ рджреЛрд╕реНрд░реЛрд▓реЗ IP рдареЗрдЧрд╛рдирд╛ рд╕реЗрдЯрд┐рдЩ рд╡рд┐рдзрд┐рд▓рд╛рдИ рдореНрдпрд╛рдиреБрдЕрд▓рдорд╛ рд╕реНрд╡рд┐рдЪ рдЧрд░реНрдиреЗрдЫ:

$ nmcli connection modify ethernet-enp0s8 ipv4.address 192.168.4.26/24
$ nmcli connection modify ethernet-enp0s8 ipv4.method manual

рд╕рдмрдиреЗрдЯ рдорд╛рд╕реНрдХ рдкрдирд┐ рд╕реЗрдЯ рдЧрд░реНрди рдирдмрд┐рд░реНрд╕рдиреБрд╣реЛрд╕реНред рд╣рд╛рдореНрд░реЛ рдкрд░реАрдХреНрд╖рдг рдЬрдбрд╛рдирдХреЛ рд▓рд╛рдЧрд┐ рдпреЛ 255.255.255.0 рд╣реЛ, рд╡рд╛ рд╡рд░реНрдЧрд░рд╣рд┐рдд рдорд╛рд░реНрдЧ (CIDR) рдХреЛ рд▓рд╛рдЧрд┐ /24 рд╕рдБрдЧред

рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдкреНрд░рднрд╛рд╡рдХрд╛рд░реА рд╣реБрдирдХреЛ рд▓рд╛рдЧрд┐, рддрдкрд╛рдИрдВрд▓реЗ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдкрд╛рд░реНрди рд░ рддреНрдпрд╕рдкрдЫрд┐ рдЬрдбрд╛рди рдкреБрди: рд╕рдХреНрд░рд┐рдп рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

$ nmcli connection down ethernet-enp0s8
Connection 'ethernet-enp0s8' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
$ nmcli connection up ethernet-enp0s8
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveC

рдпрджрд┐, рдпрд╕рдХреЛ рд╡рд┐рдкрд░рд┐рдд, рддрдкрд╛рдИрдВрд▓реЗ DHCP рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рдореНрдпрд╛рдиреБрдЕрд▓рдХреЛ рд╕рдЯреНрдЯрд╛ рд╕реНрд╡рдд: рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

$ nmcli connection modify ethernet-enp0s8 ipv4.method auto

рдЙрдкрдХрд░рдгрд╣рд░реБ рд╕рдВрдЧ рдХрд╛рдо рдЧрд░реНрджреИ

рдпрд╕рдХрд╛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдЙрдкрдХрд░рдг рдЦрдгреНрдб рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред

рдЙрдкрдХрд░рдг рд╕реНрдерд┐рддрд┐ рдЬрд╛рдБрдЪ рдЧрд░реНрджреИ

$ nmcli device status
DEVICE  TYPE      STATE      CONNECTION        
enp0s3  ethernet  connected  Wired connection 1
enp0s8  ethernet  connected  ethernet-enp0s8    
enp0s9  ethernet  connected  Wired connection 3
lo      loopback  unmanaged  --  

рдпрдиреНрддреНрд░ рдЬрд╛рдирдХрд╛рд░реА рдЕрдиреБрд░реЛрдз рдЧрд░реНрджреИ

рдпреЛ рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐, рдпрдиреНрддреНрд░ рдЦрдгреНрдбрдмрд╛рдЯ рд╢реЛ рдХрд╛рд░реНрдп рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рддрдкрд╛рдИрд▓реЗ рдпрдиреНрддреНрд░рдХреЛ рдирд╛рдо рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрдиреБрдкрд░реНрдЫ)ред рдЙрдкрдпреЛрдЧрд┐рддрд╛рд▓реЗ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реАрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫ, рдкреНрд░рд╛рдп: рдзреЗрд░реИ рдкреГрд╖реНрдард╣рд░реВрдорд╛ред
рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рдЬрдбрд╛рди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ enp0s8 рдЗрдиреНрдЯрд░рдлреЗрд╕ рд╣реЗрд░реМрдВред рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╕реЗрдЯ рдЧрд░реЗрдХреЛ IP рдареЗрдЧрд╛рдирд╛рд▓реЗ рдареНрдпрд╛рдХреНрдХреИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫ рднрдиреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реМрдВ:

$ nmcli device show enp0s8
GENERAL.DEVICE:                         enp0s8
GENERAL.TYPE:                           ethernet
GENERAL.HWADDR:                         08:00:27:81:16:20
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     ethernet-enp0s8
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
WIRED-PROPERTIES.CARRIER:               on
IP4.ADDRESS[1]:                         192.168.4.26/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 192.168.4.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]:                         fe80::6d70:90de:cb83:4491/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]:                           dst = ff00::/8, nh = ::, mt = 256, table=255

рддреНрдпрд╣рд╛рдБ рдзреЗрд░реИ рдЬрд╛рдирдХрд╛рд░реА рдЫред рдореБрдЦреНрдп рдХреБрд░рд╛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдЧрд░реМрдВ:

  • рдиреЗрдЯрд╡рд░реНрдХ рдЗрдиреНрдЯрд░рдлреЗрд╕ рдирд╛рдо: enp0s8ред
  • рдЬрдбрд╛рди рдкреНрд░рдХрд╛рд░: рд╡рд╛рдпрд░реНрдб рдЗрдерд░рдиреЗрдЯ рдЬрдбрд╛рдиред
  • рд╣рд╛рдореА рдЙрдкрдХрд░рдгрдХреЛ MAC рдареЗрдЧрд╛рдирд╛ рджреЗрдЦреНрдЫреМрдВред
  • рдЕрдзрд┐рдХрддрдо рдкреНрд░рд╕рд╛рд░рдг рдЗрдХрд╛рдИ (MTU) рддреЛрдХрд┐рдПрдХреЛ рдЫ тАФ рдПрдХ рдкреНрдпрд╛рдХреЗрдЯрдХреЛ рдЙрдкрдпреЛрдЧреА рдбрд╛рдЯрд╛ рдмреНрд▓рдХрдХреЛ рдЕрдзрд┐рдХрддрдо рд╕рд╛рдЗрдЬ рдЬреБрди рдкреНрд░реЛрдЯреЛрдХрд▓рджреНрд╡рд╛рд░рд╛ рдЦрдгреНрдбреАрдХрд░рдг рдмрд┐рдирд╛ рдкреНрд░рд╕рд╛рд░рд┐рдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
  • рдЙрдкрдХрд░рдг рд╣рд╛рд▓ рдЬреЛрдбрд┐рдПрдХреЛ.
  • рдЬрдбрд╛рди рдирд╛рдордХреБрди рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ: ethernet-enp0s8ред
  • рдЙрдкрдХрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджрдЫ рдЖрдИрдкреА тАЛтАЛрдареЗрдЧрд╛рдирд╛, рдЬреБрди рд╣рд╛рдореАрд▓реЗ рдкрд╣рд┐рд▓реЗ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдпреМрдВ: 192.168.4.26/24ред

рдЕрдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдЯрд┐рдЩ рд░ рдЬрдбрд╛рди рдЧреЗрдЯрд╡реЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдЫред рддрд┐рдиреАрд╣рд░реВ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдиреЗрдЯрд╡рд░реНрдХрдорд╛ рдирд┐рд░реНрднрд░ рдЫрдиреНред

рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ nmcli рд╕рдореНрдкрд╛рджрдХ

nmcli рд╕рдБрдЧ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╕рдореНрдкрд╛рджрдХ рдкрдирд┐ рдЫ, рдЬреБрди рдХрд╕реИрд▓рд╛рдИ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрдЭ рд╕рд╣рдЬ рд╣реБрди рд╕рдХреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐ рдпрд╕рд▓рд╛рдИ рдЗрдерд░рдиреЗрдЯ-enp0s8 рдЬрдбрд╛рдирдорд╛ рдЪрд▓рд╛рдЙрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдХрд╛рд░реНрдп рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

$ nmcli connection edit ethernet-enp0s8

рдпреЛрд╕рдБрдЧ рд╕рд╛рдиреЛ рдорджреНрджрдд рдкрдирд┐ рдЫ, рдЬреБрди, рддрдерд╛рдкрд┐, рдХрдиреНрд╕реЛрд▓ рд╕рдВрд╕реНрдХрд░рдг рднрдиреНрджрд╛ рдЖрдХрд╛рд░рдорд╛ рд╕рд╛рдиреЛ рдЫ:

===| nmcli interactive connection editor |===
Editing existing '802-3-ethernet' connection: 'ethernet-enp0s8'
Type 'help' or '?' for available commands.
Type 'print' to show all the connection properties.
Type 'describe [<setting>.<prop>]' for detailed property description.
You may edit the following settings: connection, 802-3-ethernet (ethernet), 802-1x, dcb, sriov, ethtool, match, ipv4, ipv6, tc, proxy
nmcli>

рдпрджрд┐ рддрдкрд╛рдЗрдБ рдкреНрд░рд┐рдиреНрдЯ рдЖрджреЗрд╢ рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ рд░ рдЗрдиреНрдЯрд░ рдерд┐рдЪреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, nmcli рд▓реЗ рд╕рдмреИ рдЬрдбрд╛рди рдЧреБрдгрд╣рд░реВ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрдиреЗрдЫ:

===============================================================================
                 Connection profile details (ethernet-enp0s8)
===============================================================================
connection.id:                          ethernet-enp0s8
connection.uuid:                        09d26960-25a0-440f-8b20-c684d7adc2f5
connection.stable-id:                   --
connection.type:                        802-3-ethernet
connection.interface-name:              enp0s8
connection.autoconnect:                 yes
connection.autoconnect-priority:        0
connection.autoconnect-retries:         -1 (default)
connection.multi-connect:               0 (default)
connection.auth-retries:                -1
connection.timestamp:                   1593967212
connection.read-only:                   no
connection.permissions:                 --
connection.zone:                        --
connection.master:                      --
connection.slave-type:                  --
connection.autoconnect-slaves:          -1 (default)
connection.secondaries:                 --

рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, DHCP рдорд╛ рдЬрдбрд╛рди рд╕реЗрдЯ рдЧрд░реНрди, goto ipv4 рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

nmcli> goto ipv4
You may edit the following properties: method, dns, dns-search, 
dns-options, dns-priority, addresses, gateway, routes, route-metric, 
route-table, routing-rules, ignore-auto-routes, ignore-auto-dns, 
dhcp-client-id, dhcp-iaid, dhcp-timeout, dhcp-send-hostname, 
dhcp-hostname, dhcp-fqdn, dhcp-hostname-flags, never-default, may-fail, 
dad-timeout
nmcli ipv4>

рддреНрдпрд╕рдкрдЫрд┐ рд╕реЗрдЯ рд╡рд┐рдзрд┐ рд╕реНрд╡рддрдГ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН рд░ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

nmcli ipv4> set method auto
Do you also want to clear 'ipv4.addresses'? [yes]:

рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕реНрдерд┐рд░ рдЖрдИрдкреА рдареЗрдЧрд╛рдирд╛ рдЦрд╛рд▓реА рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЕрдиреНрдпрдерд╛, no рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЗрдиреНрдЯрд░ рдерд┐рдЪреНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рддрдкрд╛рдИрд▓рд╛рдИ рднрд╡рд┐рд╖реНрдпрдорд╛ рдпрд╕рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрд░реНрдиреЗрдЫ рднрдиреНрдиреЗ рд▓рд╛рдЧреНрдЫ рднрдиреЗ рддрдкрд╛рдИрд▓реЗ рдпрд╕рд▓рд╛рдИ рдмрдЪрдд рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред рддрд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░рд┐рдПрдХреЛ рд╕реНрдерд┐рд░ IP рдареЗрдЧрд╛рдирд╛рдХреЛ рд╕рд╛рде рдкрдирд┐, рд╡рд┐рдзрд┐ рд╕реНрд╡рдд: рд╕реЗрдЯ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ DHCP рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреЗрдЫред

рддрдкрд╛рдИрдВрдХреЛ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдмрдЪрдд рдЧрд░реНрди рдмрдЪрдд рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

nmcli ipv4> save
Connection 'ethernet-enp0s8' (09d26960-25a0-440f-8b20-c684d7adc2f5) successfully updated.
nmcli ipv4>

nmcli рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рддреНрдордХ рд╕рдореНрдкрд╛рджрдХрдмрд╛рдЯ рдмрд╛рд╣рд┐рд░ рдирд┐рд╕реНрдХрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХреНрд╡рд┐рдЯ рдЯрд╛рдЗрдк рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдЫреЛрдбреНрдиреЗ рдмрд╛рд░реЗ рдЖрдлреНрдиреЛ рдорди рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рдкрдЫрд╛рдбрд┐ рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд░ рддреНрдпреЛ рд╕рдмреИ рд╣реЛрдЗрди

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

рдЕрдм рдЬрдм рддрдкрд╛рдИрдВрд╕рдБрдЧ рдЖрдзрд╛рд░рднреВрдд рдХреБрд░рд╛рд╣рд░реВ рдЫрдиреН, рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдорд╛рдирд┐рд╕ рдкреГрд╖реНрда nmcli рд╣реЗрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХрд╕рд░реА рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫред

рд╡рд┐рдЬреНрдЮрд╛рдкрдирдХреЛ рдЕрдзрд┐рдХрд╛рд░рдорд╛

рдПрдкрд┐рдХ рд╕рд░реНрднрд░рд╣рд░реВ рд╣реЛ рд╡рд┐рдиреНрдбреЛрдЬрдорд╛ рднрд░реНрдЪреБрдЕрд▓ рд╕рд░реНрднрд░рд╣рд░реВ рд╡рд╛ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА AMD EPYC рдкрд░рд┐рд╡рд╛рд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рд░ рдзреЗрд░реИ рдЫрд┐рдЯреЛ Intel NVMe рдбреНрд░рд╛рдЗрднрд╣рд░реВрдХреЛ рд╕рд╛рде рд▓рд┐рдирдХреНрд╕ред рдЕрд░реНрдбрд░ рдЧрд░реНрди рд╣рддрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН!

nmcli рдХрдиреНрд╕реЛрд▓ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд┐рдирдХреНрд╕рдорд╛ рдиреЗрдЯрд╡рд░реНрдХ рдЬрдбрд╛рдирд╣рд░реВ рдкреНрд░рдмрдиреНрдз рдЧрд░реНрджреИ

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

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