{"id":297872,"date":"2020-01-29T09:00:27","date_gmt":"2020-01-29T09:00:27","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=297872"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=297872","title":{"rendered":"\u0410\u0414\u0421\u041c3. IPAM\/DCIM-\u0441\u0438\u0441\u0442\u0435\u043c\u044b"},"content":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/486000\/\">\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0435\u0440\u0438\u044f\u0445 \u0410\u0414\u0421\u041c \u043c\u044b \u0432\u044b\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0442\u0435\u043c, \u0437\u0430\u0447\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412 <a href=\"https:\/\/linkmeup.ru\/blog\/479.html\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0438 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043b\u0438 \u0434\u0438\u0437\u0430\u0439\u043d \u0441\u0435\u0442\u0438, \u0440\u043e\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 LLD (\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0435\u0439, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0421\u0438\u0441\u0442\u0435\u043c).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432\u0441\u044e \u044d\u0442\u0443 \u0433\u043e\u0440\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c.<\/p>\n<p>  \u041d\u0435\u0442, \u0435\u0441\u0442\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0434\u0443\u0442 \u0443\u0447\u0451\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Excel. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043f\u0443\u0442\u044c.<\/p>\n<p>  \u0414\u0430\u0436\u0435 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0432 \u043f\u0430\u0440\u0443 \u0444\u0438\u043b\u0438\u0430\u043b\u043e\u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f IP-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u043d\u0435 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442.<\/p>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0441\u043b\u043e\u0432. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b44\/a21\/5cc\/b44a215cc7c93ecf6eeca48c41d721d9.svg\" width=\"800\"><\/p>\n<p>  \u0412\u0441\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0410\u0414\u0421\u041c:<\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/453516\/\">0. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u041d\u0443\u043b\u0435\u0432\u0430\u044f. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/458622\/\">1. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u041f\u0435\u0440\u0432\u0430\u044f (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439). \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/475614\/\">2. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u0412\u0442\u043e\u0440\u0430\u044f. \u0414\u0438\u0437\u0430\u0439\u043d \u0441\u0435\u0442\u0438<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">3. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u0422\u0440\u0435\u0442\u044c\u044f. IPAM\/DCIM-\u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/a><\/p>\n<p>  \u042d\u0442\u043e\u0442 \u0432\u044b\u043f\u0443\u0441\u043a \u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0443 \u043d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0432 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>  \u041c\u044b \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0451, \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439, \u0441\u0445\u0435\u043c\u043e\u0439 \u0411\u0414, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u0435\u0451. \u0410 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043d\u0430\u0447\u043d\u0451\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u043e\u0435\u043a. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u0443\u0436\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043e <a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">RESTful API<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0434\u0435\u043b\u0430\u043b \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b, \u044d\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h1>\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435<\/h1>\n<p>  <\/p>\n<ul>\n<li><b>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/b><\/li>\n<li><b>\u0421\u0445\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 NetBox<\/b><\/li>\n<li><b>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/b><\/li>\n<li><b>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 NetBox<\/b><\/li>\n<li><b>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e PostgreSQL<\/b><\/li>\n<li><b>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/b><\/li>\n<\/ul>\n<p>  \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0440\u044b\u043d\u043e\u043a \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0435\u0442 \u043e\u043a\u043e\u043b\u043e \u0434\u044e\u0436\u0438\u043d\u044b \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e\u0449\u0438\u0445 \u044d\u0442\u0443 \u0437\u0430\u0434\u0430\u0447\u0443: \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u043d\u044b\u0445, \u0442\u0430\u043a \u0438 Open Source.<\/p>\n<p>  \u0414\u043b\u044f \u0437\u0430\u0434\u0430\u0447 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u044f \u0432\u044b\u0431\u0440\u0430\u043b NetBox \u043f\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043f\u0440\u0438\u0447\u0438\u043d\u0430\u043c:<\/p>\n<ol>\n<li>\u042d\u0442\u043e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e<\/li>\n<li>\u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043e\u0431\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0447\u0430\u0441\u0442\u0438 \u2014 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 IP-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c.<\/li>\n<li>\u0423 \u043d\u0435\u0433\u043e \u0435\u0441\u0442\u044c RESTful API-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441.<\/li>\n<li>\u0415\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b Digital Ocean (\u0430 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u0435\u0435, \u043b\u044e\u0431\u0438\u043c\u044b\u0439 \u0432\u0441\u0435\u043c\u0438 Jeremy Stretch) \u0434\u043b\u044f \u0441\u0435\u0431\u044f, \u0442\u043e \u0435\u0441\u0442\u044c \u0434\u043b\u044f \u0434\u0430\u0442\u0430-\u0446\u0435\u043d\u0442\u0440\u043e\u0432. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0442\u0443\u0442 \u0435\u0441\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0451, \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u0438 \u043f\u043e\u0447\u0442\u0438 \u043d\u0438\u0447\u0435\u0433\u043e \u043b\u0438\u0448\u043d\u0435\u0433\u043e.<\/li>\n<li>\u041e\u043d \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f (Slack, Github, Google-\u0440\u0430\u0441\u0441\u044b\u043b\u043a\u0438) \u0438 \u043e\u0431\u043d\u043e\u0432\u043b\u044f\u0435\u0442\u0441\u044f.<\/li>\n<li>\u042d\u0442\u043e Open Source<\/li>\n<\/ol>\n<p>  <\/p>\n<blockquote><p> \u0414\u043b\u044f \u043d\u0443\u0436\u0434 \u0410\u0414\u0421\u041c \u044f \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b NetBox \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u043e\u0447\u043a\u0435 \u043d\u0430 \u043d\u0430\u0448\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0435 (\u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0410\u043d\u0442\u043e\u043d\u0443 \u041a\u043b\u043e\u0447\u043a\u043e\u0432\u0443 \u0438 <a href=\"https:\/\/miran.ru\/\">\u041c\u0438\u0440\u0430\u043d\u0443<\/a>): <a href=\"http:\/\/netbox.linkmeup.ru:45127\">http:\/\/netbox.linkmeup.ru:45127<\/a><br \/>   \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e \u044f \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043b \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u043d\u0430\u043c \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435.<br \/>   \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0438 \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0441\u0445\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0447\u0442\u0435\u043d\u0438\u044f, \u043f\u043e\u043a\u0430 \u043d\u0435 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u043b\u0438 \u0441\u0432\u043e\u044e \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044e.  <\/p><\/blockquote>\n<p> \u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u0435\u0437\u043d\u043e\u0433\u043e \u043f\u0435\u0440\u0435\u0434 \u043d\u0430\u0447\u0430\u043b\u043e\u043c:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/netbox-community\/netbox\">\u0421\u0430\u043c NetBox \u043d\u0430 github<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/netbox-community\/netbox-docker\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f<\/a><\/li>\n<li><a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/\">\u041f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u0432\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0443<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/digitalocean\/pynetbox\">SDK \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NetBox \u0432 Python<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/api\/docs\/\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API<\/a><\/li>\n<li><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/netbox-discuss\">Mailing list<\/a><\/li>\n<li><a href=\"https:\/\/networktocode.slack.com\/\">Slack-\u043a\u0430\u043d\u0430\u043b NetworkToCode<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 REST<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/\">\u0418\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f NetBox \u0434\u043b\u044f \u043d\u0443\u0436\u0434 \u0410\u0414\u0421\u041c<\/a><\/li>\n<\/ul>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h1>\u0410\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u0430 \u0441\u0438\u0441\u0442\u0435\u043c\u044b<\/h1>\n<p>  <\/p>\n<ul>\n<li>NetBox \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 Python3. \u0427\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u043e, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0440\u044f\u0434 \u0434\u0440\u0443\u0433\u0438\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 php \u0438 \u0438\u0437\u043c\u0435\u043d\u044f\u0442\u044c \u0438\u0445 \u043f\u0440\u0438 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043d\u0435 \u0442\u0430\u043a \u0443\u0436 \u043f\u0440\u043e\u0441\u0442\u043e.<\/li>\n<li>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u2014 Django.<\/li>\n<li>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u0411\u0414 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f PostgreSQL.<\/li>\n<li>WEB-frontend (HTTP-\u0441\u0440\u0435\u0432\u0438\u0441) \u2014 NGINX \u2014 \u043e\u043d \u043f\u0440\u043e\u043a\u0441\u0438\u0440\u0443\u0435\u0442 \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0432 Gunicron.<\/li>\n<li>WSGI \u2014 Gunicorn \u2014 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u0435\u0436\u0434\u0443 Nginx \u0438 \u0441\u0430\u043c\u0438\u043c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435\u043c.<\/li>\n<li>\u0424\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0434\u043b\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u043f\u043e API \u2014 Swagger.<\/li>\n<li>\u0427\u0442\u043e\u0431\u044b \u0434\u0435\u043c\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c NetBox \u2014 Systemd.<\/li>\n<\/ul>\n<p>  <\/p>\n<blockquote><p> NetBox \u2014 \u043f\u0440\u043e\u0435\u043a\u0442 \u043c\u043e\u043b\u043e\u0434\u043e\u0439 \u0438 \u0431\u044b\u0441\u0442\u0440\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u044e\u0449\u0438\u0439\u0441\u044f. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 2.7 \u043e\u0442\u043a\u0430\u0437\u0430\u043b\u0438\u0441\u044c \u043e\u0442 supervisord \u0438 \u0442\u044f\u043d\u0443\u0449\u0435\u0433\u043e\u0441\u044f \u0437\u0430 \u043d\u0438\u043c Python 2.7 \u0432 \u043f\u043e\u043b\u044c\u0437\u0443 systemd. \u041d\u0435 \u0442\u0430\u043a \u0434\u0430\u0432\u043d\u043e \u0442\u0430\u043c \u043d\u0435 \u0431\u044b\u043b\u043e \u043d\u0438 \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u043d\u0438 Webhooks.<\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0431\u044b\u0441\u0442\u0440\u043e \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u043c\u043e\u0436\u0435\u0442 \u0443\u0441\u0442\u0430\u0440\u0435\u0442\u044c \u043a \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0447\u0442\u0435\u043d\u0438\u044f.  <\/p><\/blockquote>\n<p>  \u0418\u043d\u044b\u043c\u0438 \u0441\u043b\u043e\u0432\u0430\u043c\u0438 \u0432\u0441\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u044b \u0437\u0440\u0435\u043b\u044b\u0435 \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0435.<\/p>\n<p>  \u041f\u043e \u0441\u043b\u043e\u0432\u0430\u043c \u0430\u0432\u0442\u043e\u0440\u0430 NetBox \u043e\u0442\u0440\u0430\u0436\u0430\u0435\u0442 \u043d\u0435 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0441\u0435\u0442\u0438, \u0430 \u0446\u0435\u043b\u0435\u0432\u043e\u0435. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u0434\u0433\u0440\u0443\u0436\u0430\u0435\u0442\u0441\u044f \u0432 NetBox \u0438\u0437 \u0441\u0435\u0442\u0438 \u2014 \u044d\u0442\u043e \u0441\u0435\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0432 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0438\u0435 \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c NetBox.<br \/>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c NetBox \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u043c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u043c \u0438\u0441\u0442\u0438\u043d\u044b (\u043a\u0430\u043b\u044c\u043a\u0430 \u0441 single source of truth).<\/p>\n<p>  \u0418 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0435\u0442\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0438\u043d\u0438\u0446\u0438\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u0432 NetBox.<\/p>\n<p>  \u0410 \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043d\u0435\u043f\u043b\u043e\u0445\u043e \u043b\u043e\u0436\u0438\u0442\u0441\u044f \u043d\u0430 \u0438\u0434\u0435\u043e\u043b\u043e\u0433\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u0438\u0441\u043f\u043e\u0432\u0435\u0434\u0443\u044e \u0432 \u044d\u0442\u043e\u0439 \u0441\u0435\u0440\u0438\u0438 \u0441\u0442\u0430\u0442\u0435\u0439 \u2014 \u0445\u043e\u0447\u0435\u0448\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u043d\u0430 \u0441\u0435\u0442\u0438 \u2014 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0432\u043d\u0435\u0441\u0438 \u0438\u0445 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. <\/p>\n<hr>\n<p>  <\/p>\n<h1>\u0421\u0445\u0435\u043c\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 NetBox<\/h1>\n<p>  \u0414\u0432\u0435 \u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0440\u0435\u0448\u0430\u0435\u0442 NetBox: \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u044f.<\/p>\n<p>  NetBox \u0435\u0434\u0432\u0430 \u043b\u0438 \u0441\u0442\u0430\u043d\u0435\u0442 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u043e\u0439 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u0441\u043a\u043e\u0440\u0435\u0435, \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u0430\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u0430 \u0434\u043b\u044f \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u0435\u0442\u0438, \u0437\u0430\u0431\u0438\u0440\u0430\u044e\u0449\u0430\u044f \u0434\u0430\u043d\u043d\u044b\u0435 \u0438\u0437 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439. <\/p>\n<p>  \u041e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0432 \u043d\u0430\u0448\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u0410\u0414\u0421\u041c \u0431\u0443\u0434\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e NetBox.  <\/p>\n<blockquote><p> \u041a \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u043c\u043e\u043c\u0435\u043d\u0442\u0443 \u0431\u043e\u0301\u043b\u044c\u0448\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 NetBox \u0443\u0436\u0435 \u0432\u043d\u0435\u0441\u0435\u043d\u0430.<br \/>   \u041d\u0430 \u044d\u0442\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u044f \u0431\u0443\u0434\u0443 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u0440\u0430\u0431\u043e\u0442\u044b \u0447\u0435\u0440\u0435\u0437 API.<br \/>   \u0412\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e\u043b\u0430\u0437\u0438\u0442\u044c \u0438 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c: <a href=\"http:\/\/netbox.linkmeup.ru\">netbox.linkmeup.ru<\/a>:45127<br \/>   \u0418 \u044d\u0442\u0438 \u0436\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u044f\u0442\u0441\u044f \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043f\u0435\u0440\u0435\u0439\u0434\u0451\u043c \u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438.  <\/p><\/blockquote>\n<p> \u0412 \u043e\u0431\u0449\u0438\u0445 \u0447\u0435\u0440\u0442\u0430\u0445 \u0441\u0445\u0435\u043c\u0443 \u0434\u0430\u043d\u043d\u044b\u0445 \u043c\u043e\u0436\u043d\u043e \u0443\u0432\u0438\u0434\u0435\u0442\u044c \u043f\u043e \u0441\u0445\u0435\u043c\u0435 \u0411\u0414 \u0432 Postgres&#8217;\u0435<\/p>\n<pre><code class=\"bash\">                      List of relations  Schema |                Name                | Type  | Owner --------+------------------------------------+-------+--------  public | auth_group                         | table | netbox  public | auth_group_permissions             | table | netbox  public | auth_permission                    | table | netbox  public | auth_user                          | table | netbox  public | auth_user_groups                   | table | netbox  public | auth_user_user_permissions         | table | netbox  public | circuits_circuit                   | table | netbox  public | circuits_circuittermination        | table | netbox  public | circuits_circuittype               | table | netbox  public | circuits_provider                  | table | netbox  public | dcim_cable                         | table | netbox  public | dcim_consoleport                   | table | netbox  public | dcim_consoleporttemplate           | table | netbox  public | dcim_consoleserverport             | table | netbox  public | dcim_consoleserverporttemplate     | table | netbox  public | dcim_device                        | table | netbox  public | dcim_devicebay                     | table | netbox  public | dcim_devicebaytemplate             | table | netbox  public | dcim_devicerole                    | table | netbox  public | dcim_devicetype                    | table | netbox  public | dcim_frontport                     | table | netbox  public | dcim_frontporttemplate             | table | netbox  public | dcim_interface                     | table | netbox  public | dcim_interface_tagged_vlans        | table | netbox  public | dcim_interfacetemplate             | table | netbox  public | dcim_inventoryitem                 | table | netbox  public | dcim_manufacturer                  | table | netbox  public | dcim_platform                      | table | netbox  public | dcim_powerfeed                     | table | netbox  public | dcim_poweroutlet                   | table | netbox  public | dcim_poweroutlettemplate           | table | netbox  public | dcim_powerpanel                    | table | netbox  public | dcim_powerport                     | table | netbox  public | dcim_powerporttemplate             | table | netbox  public | dcim_rack                          | table | netbox  public | dcim_rackgroup                     | table | netbox  public | dcim_rackreservation               | table | netbox  public | dcim_rackrole                      | table | netbox  public | dcim_rearport                      | table | netbox  public | dcim_rearporttemplate              | table | netbox  public | dcim_region                        | table | netbox  public | dcim_site                          | table | netbox  public | dcim_virtualchassis                | table | netbox  public | django_admin_log                   | table | netbox  public | django_content_type                | table | netbox  public | django_migrations                  | table | netbox  public | django_session                     | table | netbox  public | extras_configcontext               | table | netbox  public | extras_configcontext_platforms     | table | netbox  public | extras_configcontext_regions       | table | netbox  public | extras_configcontext_roles         | table | netbox  public | extras_configcontext_sites         | table | netbox  public | extras_configcontext_tags          | table | netbox  public | extras_configcontext_tenant_groups | table | netbox  public | extras_configcontext_tenants       | table | netbox  public | extras_customfield                 | table | netbox  public | extras_customfield_obj_type        | table | netbox  public | extras_customfieldchoice           | table | netbox  public | extras_customfieldvalue            | table | netbox  public | extras_customlink                  | table | netbox  public | extras_exporttemplate              | table | netbox  public | extras_graph                       | table | netbox  public | extras_imageattachment             | table | netbox  public | extras_objectchange                | table | netbox  public | extras_reportresult                | table | netbox  public | extras_tag                         | table | netbox  public | extras_taggeditem                  | table | netbox  public | extras_webhook                     | table | netbox  public | extras_webhook_obj_type            | table | netbox  public | ipam_aggregate                     | table | netbox  public | ipam_ipaddress                     | table | netbox  public | ipam_prefix                        | table | netbox  public | ipam_rir                           | table | netbox  public | ipam_role                          | table | netbox  public | ipam_service                       | table | netbox  public | ipam_service_ipaddresses           | table | netbox  public | ipam_vlan                          | table | netbox  public | ipam_vlangroup                     | table | netbox  public | ipam_vrf                           | table | netbox  public | secrets_secret                     | table | netbox  public | secrets_secretrole                 | table | netbox  public | secrets_secretrole_groups          | table | netbox  public | secrets_secretrole_users           | table | netbox  public | secrets_sessionkey                 | table | netbox  public | secrets_userkey                    | table | netbox  public | taggit_tag                         | table | netbox  public | taggit_taggeditem                  | table | netbox  public | tenancy_tenant                     | table | netbox  public | tenancy_tenantgroup                | table | netbox  public | users_token                        | table | netbox  public | virtualization_cluster             | table | netbox  public | virtualization_clustergroup        | table | netbox  public | virtualization_clustertype         | table | netbox  public | virtualization_virtualmachine      | table | netbox <\/code><\/pre>\n<p>  <a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/#what-is-netbox\">\u0424\u0443\u043d\u043a\u0446\u0438\u0438 NetBox<\/a>:<\/p>\n<ul>\n<li><b>IP address management (IPAM)<\/b> \u2014 IP-\u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b, \u0430\u0434\u0440\u0435\u0441\u0430, VRF&#8217;\u044b \u0438 VLAN&#8217;\u044b<\/li>\n<li><b>Equipment racks<\/b> \u2014 \u0421\u0442\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u0441\u0430\u0439\u0442\u0430\u043c, \u0433\u0440\u0443\u043f\u043f\u0430\u043c \u0438 \u0440\u043e\u043b\u044f\u043c<\/li>\n<li><b>Devices<\/b> \u2014 \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0438\u0445 \u043c\u043e\u0434\u0435\u043b\u0438, \u0440\u043e\u043b\u0438, \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0442\u0443\u044e\u0449\u0438\u0435 \u0438 \u0440\u0430\u0441\u043e\u043f\u043b\u043e\u0436\u0435\u043d\u0438\u0435<\/li>\n<li><b>Connections<\/b> \u2014 \u0421\u0435\u0442\u0435\u0432\u044b\u0435, \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0438 \u0441\u0438\u043b\u043e\u0432\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u043c\u0438<\/li>\n<li><b>Virtualization<\/b> \u2014 \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u043c\u0430\u0448\u0438\u043d\u044b \u0438 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u0430<\/li>\n<li><b>Data circuits<\/b> \u2014 \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430\u043c<\/li>\n<li><b>Secrets<\/b> \u2014 \u0417\u0430\u0449\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0437\u0435 \u0443\u0447\u0451\u0442\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/li>\n<\/ul>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043a\u043e\u0441\u043d\u0443\u0441\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0432\u0435\u0449\u0435\u0439: DCIM \u2014 Data\u00a0Center Infrastructure Management, IPAM \u2014 IP Address Management, \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f, \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0435 \u0432\u0435\u0449\u0438.<\/p>\n<hr>\n<p>  \u041e\u0431\u043e \u0432\u0441\u0451\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443.<\/p>\n<h2>DCIM<\/h2>\n<p>  \u0421\u0430\u043c\u0430\u044f \u0432\u0430\u0436\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u2014 \u044d\u0442\u043e, \u043d\u0435\u0441\u043e\u043c\u043d\u0435\u043d\u043d\u043e, \u043a\u0430\u043a\u043e\u0435 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u0443 \u043d\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0438 \u043a\u0430\u043a \u043e\u043d\u043e \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e. \u041d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0441 \u0442\u043e\u0433\u043e, <b>\u0433\u0434\u0435<\/b> \u043e\u043d\u043e \u0441\u0442\u043e\u0438\u0442.<\/p>\n<h3>\u0420\u0435\u0433\u0438\u043e\u043d\u044b \u0438 \u0441\u0430\u0439\u0442\u044b (regions\/sites)<\/h3>\n<p>  \u0412 \u043f\u0430\u0440\u0430\u0434\u0438\u0433\u043c\u0435 NetBox \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u0443\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u0439\u0442, \u0441\u0430\u0439\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0440\u0435\u0433\u0438\u043e\u043d\u0443, \u0440\u0435\u0433\u0438\u043e\u043d\u044b \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u043b\u043e\u0436\u0435\u043d\u044b. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0435. \u0415\u0441\u043b\u0438 \u0442\u0430\u043a\u0430\u044f \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0435\u0441\u0442\u044c, \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u0432\u0435\u0434\u0451\u043d \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0441\u0430\u0439\u0442.<\/p>\n<p>  \u0414\u043b\u044f \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u044f \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 (\u0438 \u0431\u0443\u0434\u0435\u0442) \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u0442\u0430\u043a:<\/p>\n<ul>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/?region=ru\">\u0420\u043e\u0441\u0441\u0438\u044f<\/a>: <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/msk\/\">\u041c\u043e\u0441\u043a\u0432\u0430<\/a>, <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/kzn\/\">\u041a\u0430\u0437\u0430\u043d\u044c<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/?region=sp\">\u0418\u0441\u043f\u0430\u043d\u0438\u044f<\/a>: <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/bcn\/\">\u0411\u0430\u0440\u0441\u0435\u043b\u043e\u043d\u0430<\/a>, <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/mlg\/\">\u041c\u0430\u043b\u0430\u0433\u0430<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/?region=cn\">\u041a\u0438\u0442\u0430\u0439<\/a>: <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/sha\/\">\u0428\u0430\u043d\u0445\u0430\u0439<\/a>, <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/sites\/Sia\/\">\u0421\u0438\u0430\u043d\u044c<\/a>.<\/li>\n<\/ul>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/703\/ab7\/358\/703ab73587ab4d1fe9079aa548ba93d1.png\" width=\"800\"><\/p>\n<p>  \u041d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u044e \u0433\u0434\u0435 \u0438 \u043a\u0430\u043a \u043c\u044b \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043d\u0430\u0448\u0443 \u0441\u0435\u0442\u044c: <a href=\"https:\/\/linkmeup.ru\/blog\/479.html\">\u0410\u0414\u0421\u041c2. \u0414\u0438\u0437\u0430\u0439\u043d \u0441\u0435\u0442\u0438<\/a><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1df\/012\/888\/1df0128888e0708959f6108e176a0de9.png\" width=\"700\"><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d5d\/b34\/709\/d5db34709814c8e1fe07f74b8c9f96fd.png\" width=\"800\"><\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 API.<\/p>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0440\u0435\u0433\u0438\u043e\u043d\u043e\u0432:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/regions\/&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.regions.all()<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u0417\u0434\u0435\u0441\u044c \u0438 \u0434\u0430\u043b\u0435\u0435 \u044f \u0431\u0443\u0434\u0443 \u043f\u0440\u0438\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440\u044b curl \u0438 pynetbox \u0431\u0435\u0437 \u0432\u044b\u0432\u043e\u0434\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430.<br \/>   <b>\u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435<\/b> \u0441\u043b\u044d\u0448 \u0432 \u043a\u043e\u043d\u0446\u0435 URL \u2014 \u0431\u0435\u0437 \u043d\u0435\u0433\u043e \u043d\u0435 \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442.<br \/>   \u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c pynetbox \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u043b \u0432 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0440\u043e <a href=\"https:\/\/habr.com\/ru\/post\/485618\/#PYNETBOX\">RESTful API<\/a>.  <\/p><\/blockquote>\n<p> \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0430\u0439\u0442\u043e\u0432:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/sites\/&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.sites.all() <\/code><\/pre>\n<p>  \u0421\u043f\u0438\u0441\u043e\u043a \u0441\u0430\u0439\u0442\u043e\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/sites\/?region=ru&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.sites.filter(region=&quot;ru&quot;) <\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043f\u043e\u0438\u0441\u043a \u0438\u0434\u0451\u0442 \u043d\u0435 \u043f\u043e \u043f\u043e\u043b\u043d\u043e\u043c\u0443 \u0438\u043c\u0435\u043d\u0438, \u0430 \u043f\u043e \u0442\u0430\u043a \u043d\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u043e\u043c\u0443 <a href=\"https:\/\/qna.habr.com\/q\/375615\">slug<\/a>.<br \/>   <b>Slug<\/b> \u2014 \u044d\u0442\u043e \u0438\u0434\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 \u0442\u043e\u043b\u044c\u043a\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b: [0-9A-Za-z-_], \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 URL. \u0417\u0430\u0434\u0430\u0451\u0442\u0441\u044f \u043e\u043d \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u00abbcn\u00bb \u0432\u043c\u0435\u0441\u0442\u043e \u00ab\u0411\u0430\u0440\u0441\u0435\u043b\u043e\u043d\u0430\u00bb.<br \/>   <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/3db\/6cc\/f89\/3db6ccf89097c571900457aebbc922fe.png\" width=\"400\">  <\/p><\/blockquote>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h3>\u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430<\/h3>\n<p>  \u0421\u0430\u043c\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/device-roles\/\">\u0440\u043e\u043b\u044c\u044e<\/a>, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, leaf, spine, edge, border.<\/p>\n<p>  \u041e\u043d\u043e, \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/device-types\/\">\u043c\u043e\u0434\u0435\u043b\u044c\u044e<\/a> \u043a\u0430\u043a\u043e\u0433\u043e-\u0442\u043e <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/manufacturers\/\">\u0432\u0435\u043d\u0434\u043e\u0440\u0430<\/a>.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/device-types\/?manufacturer=arista\">Arista<\/a>.<\/p>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c, \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f \u0432\u0435\u043d\u0434\u043e\u0440, \u0434\u0430\u043b\u0435\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e \u043c\u043e\u0434\u0435\u043b\u0438.<\/p>\n<p>  <a href=\"http:\/\/netbox.linkmeup.ru:45127\/dcim\/device-types\/2\/\">\u041c\u043e\u0434\u0435\u043b\u044c<\/a> \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0437\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0435\u043c, \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u0441\u0435\u0440\u0432\u0438\u0441\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u043c \u0443\u0434\u0430\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f, \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u043c \u043f\u043e\u0440\u0442\u043e\u043c \u0438 \u043d\u0430\u0431\u043e\u0440\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435\u0439 \u043f\u0438\u0442\u0430\u043d\u0438\u044f.<\/p>\n<p>  \u041f\u043e\u043c\u0438\u043c\u043e \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u043e\u0432, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0445\u043e\u0441\u0442\u043e\u0432, \u043e\u0431\u043b\u0430\u0434\u0430\u044e\u0449\u0438\u0445 Ethernet-\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438, \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/826\/9a4\/f9f\/8269a4f9ffb7f7e66096eff89dc19013.png\" width=\"800\"><\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/c81\/cce\/0f9\/c81cce0f9d543eedd4f7c1e1ede5f43f.png\" width=\"500\"><\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.all() <\/code><\/pre>\n<p>  \u0412\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?site=mlg&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.filter(site=&quot;mlg&quot;) <\/code><\/pre>\n<p>  \u0412\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u043c\u043e\u0434\u0435\u043b\u0438<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?model=veos&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.filter(device_type_id=2) <\/code><\/pre>\n<p>  \u0412\u0441\u0435\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0439 \u0440\u043e\u043b\u0438:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?role=leaf&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.filter(role=&quot;leaf&quot;) <\/code><\/pre>\n<p>  \u0423\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0440\u0430\u0437\u043d\u044b\u0445 \u0441\u0442\u0430\u0442\u0443\u0441\u0430\u0445: Active, Offline, Planned \u0438\u0442\u0434.<\/p>\n<p>  \u0412\u0441\u0435 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?status=active&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.filter(status=&quot;active&quot;) <\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h3>\u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b<\/h3>\n<p>  NetBox \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0442\u0438\u043f\u043e\u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 <a href=\"http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/_choices\/\">\u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432<\/a> \u0438 LAG, \u043e\u0434\u043d\u0430\u043a\u043e \u0432\u0441\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a Vlan\/IRB \u0438 loopback \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u044b \u043f\u043e\u0434 \u043e\u0434\u043d\u0438\u043c \u0442\u0438\u043f\u043e\u043c \u2014 Virtual. <br \/>  \u041a\u0430\u0436\u0434\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0443.<\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443. \u042d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0442\u044c\u0441\u044f \u043a\u0430\u043a \u0432 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435, \u0442\u0430\u043a \u0438 \u0432 \u043e\u0442\u0432\u0435\u0442\u0430\u0445 API (\u0430\u0442\u0440\u0438\u0431\u0443\u0442 connected_endpoint).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/aea\/c56\/b47\/aeac56b47e58145211f5726c8e48cb91.png\" width=\"800\"><\/p>\n<p>  \u0418\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0440\u0435\u0436\u0438\u043c\u0430\u0445: Tagged \u0438\u043b\u0438 Access.<\/p>\n<p>  \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0432 \u043d\u0435\u0433\u043e \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0441\u043f\u0443\u0449\u0435\u043d\u044b \u0441 \u0442\u0435\u0433\u043e\u043c \u0438\u043b\u0438 \u0431\u0435\u0437 VLAN&#8217;\u044b \u2014 \u0434\u0430\u043d\u043d\u043e\u0433\u043e \u0441\u0430\u0439\u0442\u0430 \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435. <\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/interfaces\/?device=mlg-leaf-0&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.interfaces.filter(device=&quot;mlg-leaf-0&quot;) <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a VLAN&#8217;\u043e\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430.<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/interfaces\/?device=mlg-leaf-0&amp;name=Ethernet7&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.interfaces.get(device=&quot;mlg-leaf-0&quot;, name=&quot;Ethernet7&quot;).untagged_vlan.vid <\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u0442\u0443\u0442 \u044f \u0443\u0436\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u043c\u0435\u0442\u043e\u0434 <b>get<\/b> \u0432\u043c\u0435\u0441\u0442\u043e <b>filter<\/b>. Filter \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u043f\u0438\u0441\u043e\u043a, \u0434\u0430\u0436\u0435 \u0435\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u2014 \u043e\u0434\u0438\u043d \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. Get \u2014 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0434\u0438\u043d \u043e\u0431\u044a\u0435\u043a\u0442 \u0438\u043b\u0438 \u043f\u0430\u0434\u0430\u0435\u0442 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u0435\u0441\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u043e\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u043f\u0438\u0441\u043e\u043a \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. <\/p>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 get \u0441\u043b\u0435\u0434\u0443\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e\u0433\u0434\u0430, \u043a\u043e\u0433\u0434\u0430 \u0432\u044b \u0430\u0431\u0441\u043e\u043b\u044e\u0442\u043d\u043e \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0435.<\/p>\n<p>  \u0415\u0449\u0451 \u0437\u0434\u0435\u0441\u044c \u0436\u0435 \u043f\u0440\u044f\u043c\u043e \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u044f \u043e\u0431\u0440\u0430\u0449\u0430\u044e\u0441\u044c \u043a \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430\u043c \u043e\u0431\u044a\u0435\u043a\u0442\u0430. \u0421\u0442\u0440\u043e\u0433\u043e \u0433\u043e\u0432\u043e\u0440\u044f, \u044d\u0442\u043e \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e: \u0435\u0441\u043b\u0438 \u043f\u043e \u0437\u0430\u043f\u0440\u043e\u0441\u0443 \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u043e, \u0442\u043e pynetbox \u0432\u0435\u0440\u043d\u0451\u0442 None, \u0430 \u0443 \u043d\u0435\u0433\u043e \u043d\u0435\u0442 \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0430 \u00abuntagged_vlan\u00bb.<\/p>\n<p>  \u0418 \u0435\u0449\u0451 \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u043d\u0435 \u0432\u0435\u0437\u0434\u0435 pynetbox \u043e\u0436\u0438\u0434\u0430\u0435\u0442 slug, \u0433\u0434\u0435-\u0442\u043e \u0438 name.  <\/p><\/blockquote>\n<p> \u0412\u044b\u044f\u0441\u043d\u0438\u0442\u044c \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 \u043a\u0430\u043a\u043e\u0433\u043e \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/interfaces\/?device=mlg-leaf-0&amp;name=Ethernet1&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">iface = nb.dcim.interfaces.get(device=&quot;mlg-leaf-0&quot;, name=&quot;Ethernet1&quot;) iface.connected_endpoint.device iface.connected_endpoint.name <\/code><\/pre>\n<p>  \u0423\u0437\u043d\u0430\u0442\u044c \u0438\u043c\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/interfaces\/?device=mlg-leaf-0&amp;mgmt_only=true&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.interfaces.get(device=&quot;mlg-leaf-0&quot;, mgmt_only=True) <\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h3>\u041a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b<\/h3>\n<p>  \u041a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u044b\u0435 \u043f\u043e\u0440\u0442\u044b \u043d\u0435 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u044b\u043d\u0435\u0441\u0435\u043d\u044b \u043a\u0430\u043a \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 \u044d\u043d\u0434\u043f\u043e\u0438\u043d\u0442\u044b.<br \/>  \u041f\u043e\u0440\u0442\u044b \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043c\u043e\u0436\u043d\u043e \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0441 \u043f\u043e\u0440\u0442\u0430\u043c\u0438 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  \u0412\u044b\u044f\u0441\u043d\u0438\u0442\u044c \u043a \u043a\u0430\u043a\u043e\u043c\u0443 \u043f\u043e\u0440\u0442\u0443 \u043a\u0430\u043a\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e.<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/console-ports\/?device=mlg-leaf-0&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.console_ports.get(device=&quot;mlg-leaf-0&quot;).serialize() <\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u041c\u0435\u0442\u043e\u0434 <b>serialize<\/b> \u0432 pynetbox \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u044d\u043a\u0437\u0435\u043c\u043f\u043b\u044f\u0440\u0430 \u043a\u043b\u0430\u0441\u0441\u0430 \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c.  <\/p><\/blockquote>\n<hr>\n<p>  <\/p>\n<h2>IPAM<\/h2>\n<p>  <\/p>\n<h3>VLAN \u0438 VRF<\/h3>\n<p>  \u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u043b\u043e\u043a\u0430\u0446\u0438\u0438 \u2014 \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0434\u043b\u044f VLAN.<\/p>\n<p>  \u041f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 VRF \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0430\u0434\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430 \u0441 \u0434\u0440\u0443\u0433\u0438\u043c\u0438 VRF.<\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 VLAN:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/vlans\/&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.ipam.vlans.all() <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 VRF:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/vrfs\/&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.ipam.vrfs.all() <\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h3>IP-\u043f\u0440\u0435\u0444\u0438\u043a\u0441\u044b<\/h3>\n<p>  \u0418\u043c\u0435\u044e\u0442 \u0438\u0435\u0440\u0430\u0440\u0445\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443. \u041c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e VRF (\u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u2014 \u0442\u043e Global).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/94b\/ea6\/8c4\/94bea68c425c9a8bd601c9a0da74193e.png\" width=\"800\"><\/p>\n<p>  \u0412 NetBox \u043e\u0447\u0435\u043d\u044c \u0443\u0434\u043e\u0431\u043d\u043e\u0435 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1be\/90e\/14d\/1be90e14da8f4c3bedc4bcb892cb5156.png\" width=\"800\"><\/p>\n<p>  \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u043a\u043b\u0438\u043a\u043e\u043c \u043d\u0430 \u0437\u0435\u043b\u0451\u043d\u0443\u044e \u0441\u0442\u0440\u043e\u0447\u043a\u0443.<\/p>\n<p>  \u041c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d \u043a \u043b\u043e\u043a\u0430\u0446\u0438\u0438. \u041c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 API \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u043e\u0434-\u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043d\u0443\u0436\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043c\u0435\u0440\u0430 \u0438\u043b\u0438 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441. <\/p>\n<p>  \u0413\u0430\u043b\u043e\u0447\u043a\u0430\/\u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u00abIs a pool\u00bb \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u0435\u0442, \u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u043f\u0440\u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u0438 \u0432\u044b\u0434\u0435\u043b\u044f\u0442\u044c\u0441\u044f 0-\u0439 \u0430\u0434\u0440\u0435\u0441 \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430, \u0438\u043b\u0438 \u043d\u0430\u0447\u043d\u0451\u0442\u0441\u044f \u0441 1-\u0433\u043e. <\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a IP-\u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432 \u0441\u0430\u0439\u0442\u0430 \u041c\u0430\u043b\u0430\u0433\u0430 c \u0440\u043e\u043b\u044c\u044e Underlay \u0438 \u0434\u043b\u0438\u043d\u043e\u0439 19:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/prefixes\/?site=mlg&amp;role=underlay&amp;mask_length=19&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">prefix = nb.ipam.prefixes.get(site=&quot;mlg&quot;, role=&quot;underlay&quot;, mask_length=&quot;19&quot;) <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0445 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043e\u0432 \u0432 \u0440\u0435\u0433\u0438\u043e\u043d\u0435 \u0420\u043e\u0441\u0441\u0438\u044f c \u0440\u043e\u043b\u044c\u044e Underlay:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/prefixes\/40\/available-prefixes\/&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">prefix.available_prefixes.list()<\/code><\/pre>\n<p>  \u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u0434\u043b\u0438\u043d\u043e\u0439 \u0432 24:<\/p>\n<pre><code class=\"bash\">curl -X POST &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/prefixes\/40\/available-prefixes\/&quot; \\ -H &quot;accept: application\/json&quot; \\ -H &quot;Content-Type: application\/json&quot; \\ -H &quot;Authorization: TOKEN a9aae70d65c928a554f9a038b9d4703a1583594f&quot; \\ -d &quot;{\\&quot;prefix_length\\&quot;: 24}&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">prefix.available_prefixes.create({&quot;prefix_length&quot;:24})<\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u041a\u043e\u0433\u0434\u0430 \u0432\u043d\u0443\u0442\u0440\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0434\u043e\u0447\u0435\u0440\u043d\u0438\u0439, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043c\u0435\u0442\u043e\u0434 POST \u0438 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c ID \u0440\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u0441\u043a\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 \u0432 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u2014 <b>40<\/b>. \u0415\u0433\u043e \u043c\u044b \u0432\u044b\u044f\u0441\u043d\u0438\u043b\u0438 \u0432\u044b\u0437\u043e\u0432\u043e\u043c \u0438\u0437 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0433\u043e \u043f\u0440\u0438\u043c\u0435\u0440\u0430.<br \/>   \u0412 \u0441\u043b\u0443\u0447\u0430\u0435 pynetbox \u043c\u044b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 (\u0432 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435) \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u043b\u0438 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e <b>prefix<\/b>, \u0430 \u0434\u0430\u043b\u0435\u0435 \u043e\u0431\u0440\u0430\u0442\u0438\u043b\u0438\u0441\u044c \u043a \u0435\u0433\u043e \u0430\u0442\u0440\u0438\u0431\u0443\u0442\u0443 <b>available_prefixes<\/b> \u0438 \u043c\u0435\u0442\u043e\u0434\u0443 <b>create<\/b>.<br \/>   \u042d\u0442\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u0443 \u0432\u0430\u0441 <b>\u043d\u0435 \u0441\u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442<\/b>, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u0442\u043e\u043a\u0435\u043d \u0441 \u043f\u0440\u0430\u0432\u043e\u043c \u0437\u0430\u043f\u0438\u0441\u0438 \u0443\u0436\u0435 \u043d\u0435\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u0435\u043d.  <\/p><\/blockquote>\n<hr>\n<p>  <\/p>\n<h3>IP-\u0430\u0434\u0440\u0435\u0441\u0430<\/h3>\n<p>  \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0449\u0438\u0439 \u044d\u0442\u043e\u0442 \u0430\u0434\u0440\u0435\u0441 \u043f\u0440\u0435\u0444\u0438\u043a\u0441, \u0442\u043e \u0431\u0443\u0434\u0443\u0442 \u0435\u0433\u043e \u0447\u0430\u0441\u0442\u044c\u044e. \u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0438 \u0441\u0430\u043c\u0438 \u043f\u043e \u0441\u0435\u0431\u0435.<br \/>  \u041c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442\u044c \u043a\u0430\u043a\u043e\u043c\u0443-\u043b\u0438\u0431\u043e VRF \u0438\u043b\u0438 \u0431\u044b\u0442\u044c \u0432 Global.<br \/>  \u041c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443, \u0430 \u043c\u043e\u0433\u0443\u0442 \u0432\u0438\u0441\u0435\u0442\u044c \u0432 \u0432\u043e\u0437\u0434\u0443\u0445\u0435.<br \/>  \u041c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/4a1\/c4d\/442\/4a1c4d4428f703d9a90766ffa9351fe8.png\" width=\"800\"><\/p>\n<p>  \u0427\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e, \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u043a\u043b\u0438\u043a\u043d\u0443\u0442\u044c \u043f\u043e \u0437\u0435\u043b\u0451\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u0447\u043a\u0435.<\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/ip-addresses\/?interface_id=8&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.ipam.ip_addresses.filter(interface_id=8) <\/code><\/pre>\n<p>  \u0418\u043b\u0438:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/ip-addresses\/?device=mlg-leaf-0&amp;interface=Ethernet1&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.ipam.ip_addresses.filter(device=&quot;mlg-leaf-0&quot;, interface=&quot;Ethernet1&quot;) <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/ip-addresses\/?device=mlg-leaf-0&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.ipam.ip_addresses.filter(device=&quot;mlg-leaf-0&quot;) <\/code><\/pre>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/prefixes\/28\/available-ips\/&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">prefix = nb.ipam.prefixes.get(site=&quot;mlg&quot;, role=&quot;leaf-loopbacks&quot;) prefix.available_ips.list() <\/code><\/pre>\n<p>  <\/p>\n<blockquote><p> \u0417\u0434\u0435\u0441\u044c \u0441\u043d\u043e\u0432\u0430 \u043d\u0443\u0436\u043d\u043e \u0432 URL \u0443\u043a\u0430\u0437\u0430\u0442\u044c ID \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0430, \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u044f\u0435\u043c \u0430\u0434\u0440\u0435\u0441 \u2014 \u043d\u0430 \u0441\u0435\u0439 \u0440\u0430\u0437 \u044d\u0442\u043e 28.  <\/p><\/blockquote>\n<p>\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0441\u0432\u043e\u0431\u043e\u0434\u043d\u044b\u0439 IP-\u0430\u0434\u0440\u0435\u0441 \u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0435:<\/p>\n<pre><code class=\"bash\">curl -X POST &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/ipam\/prefixes\/28\/available-ips\/&quot; \\ -H &quot;accept: application\/json&quot; \\ -H &quot;Content-Type: application\/json&quot; \\ -H &quot;Authorization: TOKEN a9aae70d65c928a554f9a038b9d4703a1583594f&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"bash\">prefix.available_ips.create()<\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h2>\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f<\/h2>\n<p>  \u041c\u044b \u0436\u0435 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0431\u043e\u0440\u0435\u043c\u0441\u044f \u0437\u0430 \u0437\u0432\u0430\u043d\u0438\u0435 \u0441\u043e\u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0414\u0426. \u041a\u0443\u0434\u0430 \u0436\u0435 \u0431\u0435\u0437 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438.<\/p>\n<p>  NetBox \u043d\u0435 \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0438 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043c\u0435\u0441\u0442\u043e\u043c, \u0433\u0434\u0435 \u0441\u0442\u043e\u0438\u0442 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u043e \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 (\u0434\u0430\u0436\u0435 \u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0432 \u043d\u0451\u043c \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u043c\u0430\u0448\u0438\u043d \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0440\u0430\u0441\u0441\u0443\u0436\u0434\u0430\u0442\u044c). \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0430\u043c \u044d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u043f\u043e\u043b\u0435\u0437\u043d\u044b\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u043d\u0435\u0441\u0442\u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e Route Reflector&#8217;\u0430\u0445, \u043e \u0441\u043b\u0443\u0436\u0435\u0431\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a NTP, Syslog, S-Flow-\u0441\u0435\u0440\u0432\u0435\u0440\u0430\u0445, \u043e \u043c\u0430\u0448\u0438\u043d\u0430\u0445-\u0443\u043f\u0440\u0430\u0432\u043b\u044f\u043a\u0430\u0445. <\/p>\n<p>  \u0412\u041c \u043e\u0431\u043b\u0430\u0434\u0430\u0435\u0442 \u0441\u0432\u043e\u0438\u043c \u0441\u043f\u0438\u0441\u043a\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u2014 \u043e\u043d\u0438 \u043e\u0442\u043b\u0438\u0447\u043d\u044b \u043e\u0442 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u0438\u043c\u0435\u044e\u0442 \u0441\u0432\u043e\u0439 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 Endpoint.<\/p>\n<p>  \u0422\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0441\u0435\u0445 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/virtualization\/virtual-machines\/&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.virtualization.virtual_machines.all() <\/code><\/pre>\n<p>  \u0422\u0430\u043a \u2014 \u0432\u0441\u0435\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0432\u0441\u0435\u0445 \u0412\u041c:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/virtualization\/interfaces\/&quot; -H &quot;Accept: application\/json; indent=4&quot; <\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.virtualization.interfaces.all() <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0412\u041c \u043d\u0435\u043b\u044c\u0437\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u044b\u0439 \u0433\u0438\u043f\u0435\u0440\u0432\u0438\u0437\u043e\u0440\/\u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u043e\u043d\u0430 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430, \u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043b\u0430\u0441\u0442\u0435\u0440. \u0425\u043e\u0442\u044f \u043d\u0435 \u0432\u0441\u0451 \u0442\u0430\u043a \u0431\u0435\u0437\u043d\u0430\u0434\u0451\u0436\u043d\u043e. \u0427\u0438\u0442\u0430\u0435\u043c \u0434\u0430\u043b\u044c\u0448\u0435.<\/p>\n<hr>\n<p>  <\/p>\n<h2>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u0438\u044f\u0442\u043d\u044b\u0435 \u0432\u0435\u0449\u0438<\/h2>\n<p>  \u041e\u0441\u043d\u043e\u0432\u043d\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u044c NetBox \u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u0434\u0430\u0447 \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043d\u043e \u043d\u0435 \u0432\u0441\u0435. \u0412\u0441\u0451-\u0442\u0430\u043a\u0438 \u0438\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u043e\u043d \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u043d\u043e\u0432\u044b\u0435 \u0440\u0435\u043b\u0438\u0437\u044b \u0432\u044b\u0445\u043e\u0434\u044f\u0442 \u0434\u043e\u0432\u043e\u043b\u044c\u043d\u043e <a href=\"https:\/\/github.com\/netbox-community\/netbox\/releases\">\u0447\u0430\u0441\u0442\u043e<\/a>. \u0421\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u043e\u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438 \u043d\u043e\u0432\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>  \u0422\u0430\u043a, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0441 \u043c\u043e\u0435\u0439 \u043f\u0435\u0440\u0432\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 NetBox \u043f\u0430\u0440\u0443 \u043b\u0435\u0442 \u043d\u0430\u0437\u0430\u0434 \u0432 \u043d\u0451\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0442\u0435\u0433\u0438, config contexts, webhooks, \u043a\u044d\u0448\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435, supervisord \u0441\u043c\u0435\u043d\u0438\u043b\u0441\u044f \u043d\u0430 systemd, \u0432\u043d\u0435\u0448\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u043b\u0438\u0449\u0430 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<p>  C\u043b\u0435\u0434\u0438\u0442\u0435. <\/p>\n<h3>Custom fields<\/h3>\n<p>  \u0418\u043d\u043e\u0433\u0434\u0430 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043a \u043a\u0430\u043a\u043e\u0439-\u043b\u0438\u0431\u043e \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u043b\u044c\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435. <\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043d\u043e\u043c\u0435\u0440 \u0434\u043e\u0433\u043e\u0432\u043e\u0440\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043a\u0438, \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u044b\u043b \u043f\u0440\u0438\u043e\u0431\u0440\u0435\u0442\u0451\u043d \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440 \u0438\u043b\u0438 \u0438\u043c\u044f \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u0430 \u0412\u041c. <\/p>\n<p>  \u0422\u0443\u0442 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 custom fields \u2014 \u043a\u0430\u043a \u0440\u0430\u0437 \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u043b\u0435 \u0441 \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u0447\u0442\u0438 \u043a \u043b\u044e\u0431\u043e\u0439 \u0441\u0443\u0449\u043d\u043e\u0441\u0442\u0438 \u0432 NetBox.<\/p>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0451\u0442\u0441\u044f Custom fields \u0432 \u0430\u0434\u043c\u0438\u043d\u0441\u043a\u043e\u0439 \u043f\u0430\u043d\u0435\u043b\u0438<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/1cf\/10e\/568\/1cf10e56808f227ce7f7270581b84a31.png\" width=\"600\"><\/p>\n<p>  \u0412\u043e\u0442 \u0442\u0430\u043a \u044d\u0442\u043e \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u043f\u0440\u0438 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0431\u044b\u043b \u0441\u043e\u0437\u0434\u0430\u043d custom field:<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/d3a\/c2b\/c78\/d3ac2bc78d80acccc3895463f7ed7295.png\" width=\"450\"><\/p>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0441\u043f\u0438\u0441\u043e\u043a \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u043f\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044e custom_field<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?cf_contract_number=0123456789&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"python\">nb.dcim.devices.filter(cf_contract_number=&quot;0123456789&quot;) <\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h3>Config Context<\/h3>\n<p>  \u0418\u043d\u043e\u0433\u0434\u0430 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0447\u0435\u0433\u043e-\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0435\u0433\u043e, \u0447\u0435\u043c \u043d\u0435\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0442\u0435\u043a\u0441\u0442. \u0422\u043e\u0433\u0434\u0430 \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 <a href=\"http:\/\/netbox.linkmeup.ru:45127\/extras\/config-contexts\/1\/\">Config Context<\/a>.<\/p>\n<p>  \u042d\u0442\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0432\u0432\u0435\u0441\u0442\u0438 \u043d\u0430\u0431\u043e\u0440 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 JSON, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0431\u043e\u043b\u044c\u0448\u0435 \u043d\u0435\u043a\u0443\u0434\u0430 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c.<\/p>\n<p>  \u042d\u0442\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0431\u043e\u0440 BGP communities \u0438\u043b\u0438 \u0441\u043f\u0438\u0441\u043e\u043a Syslog-\u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432.<\/p>\n<p>  Config Context \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u043c \u2014 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u043c \u0434\u043b\u044f \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0433\u043e \u043e\u0431\u044a\u0435\u043a\u0442\u0430 \u2014 \u0438\u043b\u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u043c, \u043a\u043e\u0433\u0434\u0430 \u043e\u043d \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u0430\u0436\u0434\u044b, \u0430 \u0437\u0430\u0442\u0435\u043c \u0440\u0430\u0441\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u044f\u0435\u0442\u0441\u044f \u043d\u0430 \u0432\u0441\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u044b, \u0443\u0434\u043e\u0432\u043b\u0435\u0442\u0432\u043e\u0440\u044f\u044e\u0449\u0438\u0435 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u044b\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u043c (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435, \u0438\u043b\u0438 \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0435 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435).<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/97a\/406\/224\/97a406224499ed35e9c471c3709a8d98.png\" width=\"800\"><\/p>\n<p>  Config Context \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430\u043c \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0435 \u0438 \u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0435 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u044b \u0441\u043b\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043e\u0434\u0438\u043d.<\/p>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 just a simple russian girl, \u0434\u043b\u044f \u043a\u043e\u0442\u043e\u0440\u043e\u0433\u043e \u0435\u0441\u0442\u044c \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442, \u0432 \u0432\u044b\u0432\u043e\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u043a\u043b\u044e\u0447 \u00abconfig_context\u00bb:<\/p>\n<pre><code class=\"bash\">curl -X GET &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices\/?q=russian&quot; -H &quot;Accept: application\/json; indent=4&quot;<\/code><\/pre>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/031\/608\/4bd\/0316084bd52d028434631298a22ba33e.png\" width=\"204\"><\/p>\n<hr>\n<p>  <\/p>\n<h3>\u0422\u0435\u0433\u0438<\/h3>\n<p>  \u041f\u0440\u043e \u0442\u0435\u0433\u0438 \u0441\u043b\u043e\u0436\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u043d\u043e\u0432\u043e\u0435. \u041e\u043d\u0438 \u0435\u0441\u0442\u044c. \u041e\u043d\u0438 \u0443\u0434\u043e\u0431\u043d\u044b \u0434\u043b\u044f \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u0430\u043a\u043e\u0433\u043e-\u043b\u0438\u0431\u043e \u043f\u0440\u0438\u0437\u043d\u0430\u043a\u0430. \u041a \u043f\u0440\u0438\u043c\u0435\u0440\u0443, \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u0442\u0438\u0442\u044c \u0442\u0435\u0433\u043e\u043c \u00ab\u0431\u044f\u0434\u0430\u00bb \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u044b \u0438\u0437 \u043f\u0430\u0440\u0442\u0438\u0438, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0431\u043e\u0438\u0442 \u043f\u0430\u043c\u044f\u0442\u044c.<\/p>\n<hr>\n<p>  <\/p>\n<h3>Webhooks<\/h3>\n<p>  \u041d\u0435\u0437\u0430\u043c\u0435\u043d\u0438\u043c\u0430\u044f \u0432\u0435\u0449\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e, \u0447\u0442\u043e\u0431\u044b \u043e\u0431 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u0445 \u0432 NetBox&#8217;\u0435 \u0443\u0437\u043d\u0430\u0432\u0430\u043b\u0438 \u0434\u0440\u0443\u0433\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u044b.<br \/>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u0440\u0438 \u0437\u0430\u0432\u0435\u0434\u0435\u043d\u0438\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u043a\u043e\u043c\u043c\u0443\u0442\u0430\u0442\u043e\u0440\u0430 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0445\u0443\u043a\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u0438 \u0432\u0432\u043e\u0434\u0430 \u0432 \u044d\u043a\u0441\u043f\u043b\u0443\u0430\u0442\u0430\u0446\u0438\u044e. <\/p>\n<hr>\n<p>  <\/p>\n<h1>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u043d\u0435 \u043f\u0440\u0435\u0441\u043b\u0435\u0434\u0443\u044e \u0446\u0435\u043b\u044c \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 NetBox, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u0441\u0451 \u043e\u0441\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u0442\u0434\u0430\u044e \u0432\u0430\u043c \u043d\u0430 \u043e\u0442\u043a\u0443\u043f. \u0420\u0430\u0437\u0431\u0438\u0440\u0430\u0439\u0442\u0435\u0441\u044c, \u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435.<\/p>\n<p>  \u0414\u0430\u043b\u0435\u0435 \u0432 \u0440\u0430\u043c\u043a\u0430\u0445 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u044f \u0431\u0443\u0434\u0443 \u043a\u0430\u0441\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u0435\u0445 \u0447\u0430\u0441\u0442\u0435\u0439, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0430\u043c \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u044b. <\/p>\n<p>  \u0418\u0442\u0430\u043a, \u0432\u044b\u0448\u0435 \u044f \u043a\u043e\u0440\u043e\u0442\u043a\u043e \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0438\u0437 \u0441\u0435\u0431\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 NetBox, \u0438 \u043a\u0430\u043a \u0432 \u043d\u0451\u043c \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0434\u0430\u043d\u043d\u044b\u0435. <\/p>\n<p>  \u041f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u044f \u0442\u0443\u0434\u0430 \u0443\u0436\u0435 \u0432\u043d\u0451\u0441, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0443\u0442\u0430\u0449\u0438\u0442\u044c \u0441\u0435\u0431\u0435 <a href=\"https:\/\/github.com\/eucariot\/ADSM\/blob\/master\/docs\/source\/3_ipam\/netbox_initial_db.sql\">\u0434\u0430\u043c\u043f \u0411\u0414<\/a>.<\/p>\n<p>  \u0412\u0441\u0451 \u0433\u043e\u0442\u043e\u0432\u043e \u043a \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u043c\u0443 \u044d\u0442\u0430\u043f\u0443 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438: \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u044b (\u0430\u0445\u0430\u0445\u0430, \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u0432) \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439. <\/p>\n<hr>\n<p>  \u041d\u043e, \u043f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c \u0441\u0442\u0430\u0442\u044c\u044e \u044f \u0435\u0449\u0451 \u0441\u043a\u0430\u0436\u0443 \u043f\u0430\u0440\u0443 \u0441\u043b\u043e\u0432 \u043e\u0431 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u043a\u043e\u043c\u043f\u043e\u043d\u0435\u043d\u0442\u043e\u0432 NetBox.<\/p>\n<h1>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u044e\u0430\u043d\u0441\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 NetBox<\/h1>\n<p>  \u042f \u043d\u0435 \u0431\u0443\u0434\u0443 \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u0438 \u0432 \u0434\u0435\u0442\u0430\u043b\u044f\u0445 \u2014 \u043e\u043d \u0431\u043e\u043b\u0435\u0435 \u0447\u0435\u043c \u043a\u043b\u0430\u0441\u0441\u043d\u043e \u043e\u043f\u0438\u0441\u0430\u043d \u0432 <a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/installation\/\">\u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a>.<\/p>\n<p>  \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0437\u0430\u043f\u0443\u0441\u043a\u0430 docker-\u043e\u0431\u0440\u0430\u0437\u0430 NetBox \u0438 \u0440\u0430\u0431\u043e\u0442\u0443 \u0432 GUI \u043c\u043e\u0436\u043d\u043e \u0432 \u0432\u0438\u0434\u0435\u043e \u0414\u0438\u043c\u044b \u0424\u0438\u0433\u043e\u043b\u044f (<a href=\"https:\/\/www.youtube.com\/watch?v=GGXgAlWm9aY&amp;t=9655s\">\u0440\u0430\u0437<\/a> \u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=a3yK_WAisPw\">\u0434\u0432\u0430<\/a>) \u0438 <a href=\"https:\/\/www.youtube.com\/watch?v=I_Ra3PIR2Lc&amp;feature=youtu.be\">\u042d\u043c\u0438\u043b\u044f \u0413\u0430\u0440\u0438\u043f\u043e\u0432\u0430<\/a>.<\/p>\n<p>  \u0412 \u0446\u0435\u043b\u043e\u043c, \u0435\u0441\u043b\u0438 \u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u044c \u0448\u0430\u0433\u0430\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438\/\u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u043d\u0435\u0443\u043a\u043e\u0441\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e, \u0442\u043e \u0432\u0441\u0451 \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0441\u044f. <br \/>  \u041d\u043e \u0432\u043e\u0442 \u043a\u0430\u043a\u0438\u0435 \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b, \u043f\u0440\u043e \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0431\u044b\u0442\u044c.<\/p>\n<ul>\n<li>\u0412 \u0444\u0430\u0439\u043b\u0435 configuration.py \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/installation\/2-netbox\/#allowed_hosts\">ALLOWED_HOSTS<\/a>:<br \/> \n<pre><code class=\"bash\">ALLOWED_HOSTS = ['netbox.linkmeup.ru', 'localhost']<\/code><\/pre>\n<p>  \u0422\u0443\u0442 \u043d\u0443\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0432\u0441\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u044b\u0435 \u0438\u043c\u0435\u043d\u0430 NetBox, \u043a \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0432\u044b \u0431\u0443\u0434\u0435\u0442\u0435 \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0432\u043d\u0435\u0448\u043d\u0438\u0439 IP-\u0430\u0434\u0440\u0435\u0441 \u0438\u043b\u0438 127.0.0.1 \u0438\u043b\u0438 DNS-alias. <br \/>  \u0415\u0441\u043b\u0438 \u044d\u0442\u043e\u0433\u043e \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u0434\u0435\u043b\u0430\u043d\u043e, \u0441\u0430\u0439\u0442 NetBox \u043d\u0435 \u043e\u0442\u043a\u0440\u043e\u0435\u0442\u0441\u044f \u0438 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c 400.<\/li>\n<li>\u0412 \u044d\u0442\u043e\u043c \u0436\u0435 \u0444\u0430\u0439\u043b\u0435 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0443\u043a\u0430\u0437\u0430\u043d <a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/installation\/2-netbox\/#secret_key\">SECRET_KEY<\/a>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0434\u0443\u043c\u0430\u0442\u044c \u0441\u0430\u043c\u043e\u043c\u0443 \u0438\u043b\u0438 \u0441\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043a\u0440\u0438\u043f\u0442\u043e\u043c.<\/li>\n<li>\u0413\u043b\u0430\u0432\u043d\u0430\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c 502 Bad Gateway, \u0435\u0441\u043b\u0438 \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u043e\u0439 \u0431\u0430\u0437\u044b PostgreSQL: \u043f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0445\u043e\u0441\u0442(\u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0432\u0438\u043b\u0438 \u043d\u0430 \u0434\u0440\u0443\u0433\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443), \u043f\u043e\u0440\u0442, \u0438\u043c\u044f \u0431\u0430\u0437\u044b, \u0438\u043c\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f, \u043f\u0430\u0440\u043e\u043b\u044c.<\/li>\n<li>\u0421 <a href=\"https:\/\/github.com\/netbox-community\/netbox\/releases\/tag\/v2.6.0\">\u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u043e\u0440<\/a> NetBox \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043d\u0435 \u0434\u0430\u0451\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u0440\u0430\u0432 \u043d\u0430 \u0447\u0442\u0435\u043d\u0438\u0435 \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438.\n<p>  \u0418\u0437\u043c\u0435\u043d\u044f\u0435\u0442\u0441\u044f \u044d\u0442\u043e \u0432\u0441\u0451 \u0432 \u0442\u043e\u043c \u0436\u0435 configuration.py:<\/p>\n<pre><code class=\"bash\">EXEMPT_VIEW_PERMISSIONS = ['*']<\/code><\/pre>\n<\/li>\n<li>\u0410 \u0435\u0449\u0451 API \u0437\u0430\u043f\u0440\u043e\u0441\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0442\u044c 200 \u0438 \u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c, \u0435\u0441\u043b\u0438 \u0432 API URL \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0441\u043b\u044d\u0448\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435.<br \/> \n<pre><code class=\"bash\">curl -X GET -H &quot;Accept: application\/json; indent=4&quot; &quot;http:\/\/netbox.linkmeup.ru:45127\/api\/dcim\/devices&quot;<\/code><\/pre>\n<p>  <\/li>\n<\/ul>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h1>\u041d\u0435\u043c\u043d\u043e\u0433\u043e \u043e PostgreSQL<\/h1>\n<p>  \u0414\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0440\u0432\u0435\u0440\u0443: <\/p>\n<pre><code class=\"bash\">psql -U &lt;i&gt;username&lt;\/i&gt; -h &lt;i&gt;hostname&lt;\/i&gt; &lt;i&gt;db_name&lt;\/i&gt;<\/code><\/pre>\n<p>  \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440: <\/p>\n<pre><code class=\"bash\">psql -U netbox -h localhost netbox<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430 \u0432\u0441\u0435\u0445 \u0442\u0430\u0431\u043b\u0438\u0446: <\/p>\n<pre><code class=\"bash\">\/dt<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0432\u044b\u0445\u043e\u0434\u0430: <\/p>\n<pre><code class=\"bash\">\/q<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0434\u0430\u043c\u043f\u0430 \u0411\u0414: <\/p>\n<pre><code class=\"bash\">pg_dump -U &lt;i&gt;username&lt;\/i&gt; -h &lt;i&gt;hostname&lt;\/i&gt; &lt;i&gt;db_name&lt;\/i&gt; &gt; netbox.sql<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u043a\u0430\u0436\u0434\u044b\u0439 \u0440\u0430\u0437 \u0432\u0432\u043e\u0434\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c:<\/p>\n<pre><code class=\"bash\">echo *:*:*:&lt;i&gt;username&lt;\/i&gt;:&lt;i&gt;password&lt;\/i&gt; &gt; ~\/.pgpass chmod 600 ~\/.pgpass<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0443 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u0441\u0432\u043e\u044f \u0438\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f \u0438 \u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u043d\u043e\u0441\u0438\u0442\u044c \u0432\u0441\u0451 \u0440\u0443\u043a\u0430\u043c\u0438, \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0432\u0437\u044f\u0432 \u0434\u0430\u043c\u043f \u0442\u0435\u043a\u0443\u0449\u0435\u0439 \u0411\u0414 NetBox <a href=\"https:\/\/github.com\/eucariot\/ADSM\/blob\/master\/docs\/source\/3_ipam\/netbox_initial_db.sql\">\u0442\u0443\u0442<\/a>:<\/p>\n<pre><code class=\"bash\">psql -U &lt;i&gt;username&lt;\/i&gt; -h &lt;i&gt;hostname&lt;\/i&gt; &lt;i&gt;db_name&lt;\/i&gt; &lt; netbox_initial_db.sql<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u043f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0440\u043e\u043f\u043d\u0443\u0442\u044c \u0432\u0441\u0435 \u0442\u0430\u0431\u043b\u0438\u0446\u044b (\u0430 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u043e \u043f\u0440\u0438\u0434\u0451\u0442\u0441\u044f), \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u0444\u0430\u0439\u043b:<\/p>\n<pre><code class=\"bash\">psql -U &lt;i&gt;username&lt;\/i&gt; -h &lt;i&gt;hostname&lt;\/i&gt; &lt;i&gt;db_name&lt;\/i&gt; \\o drop_all_tables.sql select 'drop table ' || tablename || ' cascade;' from pg_tables; \\q psql -U &lt;i&gt;username&lt;\/i&gt; -h &lt;i&gt;hostname&lt;\/i&gt; &lt;i&gt;db_name&lt;\/i&gt; -f drop_all_tables.sql<\/code><\/pre>\n<p>  <\/p>\n<hr>\n<p>  <\/p>\n<h1>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/h1>\n<p>  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/netbox-community\/netbox\">\u0421\u0430\u043c NetBox \u043d\u0430 guthub<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/netbox-community\/netbox-docker\">\u041a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043d\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f<\/a><\/li>\n<li><a href=\"https:\/\/netbox.readthedocs.io\/en\/stable\/\">\u041f\u043e\u043b\u043d\u0430\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044f \u043f\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 \u0438 \u0432\u0441\u044f \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u0443<\/a><\/li>\n<li><a href=\"http:\/\/karneliuk.com\/2019\/04\/documenting-your-network-infrastructure-in-netbox-integrating-with-ansible-over-rest-api-and-automating-provisioning-of-cumulus-linux-arista-eos-nokia-sr-os-and-cisco-ios-xr\/\">Documenting your network infrastructure in NetBox, integrating with Ansible over REST API<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=GGXgAlWm9aY&amp;t=9655s\">IPAM NetBox and its API, Docker, Postman<\/a><\/li>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=a3yK_WAisPw\">IPAM NetBox and its API, configuration templates with Python<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/digitalocean\/pynetbox\">SDK \u0434\u043b\u044f \u0440\u0430\u0431\u043e\u0442\u044b \u0441 NetBox \u0432 Python<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/api\/docs\/\">\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044f \u043f\u043e API<\/a><\/li>\n<li><a href=\"https:\/\/groups.google.com\/forum\/#!forum\/netbox-discuss\">Mailing list<\/a><\/li>\n<li><a href=\"https:\/\/networktocode.slack.com\/\">Slack-\u043a\u0430\u043d\u0430\u043b NetworkToCode<\/a><\/li>\n<li><a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">\u0427\u0442\u043e \u0442\u0430\u043a\u043e\u0435 REST<\/a><\/li>\n<li><a href=\"http:\/\/netbox.linkmeup.ru:45127\/\">\u0418\u043d\u0441\u0442\u0430\u043b\u043b\u044f\u0446\u0438\u044f NetBox \u0434\u043b\u044f \u043d\u0443\u0436\u0434 \u0410\u0414\u0421\u041c<\/a><\/li>\n<\/ul>\n<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/486000\/\"> https:\/\/habr.com\/ru\/post\/486000\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html\" id=\"post-content-body\" data-io-article-url=\"https:\/\/habr.com\/ru\/post\/486000\/\">\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0441\u0435\u0440\u0438\u044f\u0445 \u0410\u0414\u0421\u041c \u043c\u044b \u0432\u044b\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0438 \u0444\u0440\u0435\u0439\u043c\u0432\u043e\u0440\u043a \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438, \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b\u0438\u0441\u044c \u0441 \u0442\u0435\u043c, \u0437\u0430\u0447\u0435\u043c \u043f\u043e\u044f\u0432\u0438\u043b\u0430\u0441\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438 \u043a\u0430\u043a \u043e\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442. \u0412 <a href=\"https:\/\/linkmeup.ru\/blog\/479.html\">\u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0439 \u0447\u0430\u0441\u0442\u0438<\/a> \u043c\u044b \u0432\u044b\u0431\u0440\u0430\u043b\u0438 \u0438 \u043e\u0431\u043e\u0441\u043d\u043e\u0432\u0430\u043b\u0438 \u0434\u0438\u0437\u0430\u0439\u043d \u0441\u0435\u0442\u0438, \u0440\u043e\u043b\u0438 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432, \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u0435\u0439, \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u043b\u0438\u0441\u044c \u0441 LLD (\u0430\u0434\u0440\u0435\u0441\u0430\u0446\u0438\u0435\u0439, \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0435\u0439, \u043d\u043e\u043c\u0435\u0440\u0430\u043c\u0438 \u0410\u0432\u0442\u043e\u043d\u043e\u043c\u043d\u044b\u0445 \u0421\u0438\u0441\u0442\u0435\u043c).<\/p>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c \u043c\u044b \u0433\u043e\u0442\u043e\u0432\u044b \u043f\u043e\u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u0432\u0441\u044e \u044d\u0442\u0443 \u0433\u043e\u0440\u0443 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u0445\u0440\u0430\u043d\u0438\u0442\u044c \u0438 \u0432 \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u043c \u0443\u0434\u043e\u0431\u043d\u043e \u0438\u0437\u0432\u043b\u0435\u043a\u0430\u0442\u044c.<\/p>\n<p>  \u041d\u0435\u0442, \u0435\u0441\u0442\u044c, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438 \u0441\u0435\u0433\u043e\u0434\u043d\u044f \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0434\u0443\u0442 \u0443\u0447\u0451\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 IP-\u0430\u0434\u0440\u0435\u0441\u043e\u0432 \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 Excel. \u041d\u043e \u044d\u0442\u043e \u043d\u0435 \u043d\u0430\u0448 \u043f\u0443\u0442\u044c.<\/p>\n<p>  \u0414\u0430\u0436\u0435 \u0434\u043b\u044f \u0441\u0430\u043c\u043e\u0439 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u043e\u0439 \u043a\u043e\u043d\u0442\u043e\u0440\u043a\u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u0432 \u043f\u0430\u0440\u0443 \u0444\u0438\u043b\u0438\u0430\u043b\u043e\u0432 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f IP-\u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u043d\u0435 \u043f\u043e\u0432\u0440\u0435\u0434\u0438\u0442.<\/p>\n<p>  \u041d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u0430 \u0431\u0435\u0437 \u043b\u0438\u0448\u043d\u0438\u0445 \u0441\u043b\u043e\u0432. <\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/getpro\/habr\/post_images\/b44\/a21\/5cc\/b44a215cc7c93ecf6eeca48c41d721d9.svg\" width=\"800\"><\/p>\n<p>  \u0412\u0441\u0435 \u0432\u044b\u043f\u0443\u0441\u043a\u0438 \u0410\u0414\u0421\u041c:<\/p>\n<p>  <a href=\"https:\/\/habr.com\/ru\/post\/453516\/\">0. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u041d\u0443\u043b\u0435\u0432\u0430\u044f. \u041f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/458622\/\">1. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u041f\u0435\u0440\u0432\u0430\u044f (\u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043f\u043e\u0441\u043b\u0435 \u043d\u0443\u043b\u0435\u0432\u043e\u0439). \u0412\u0438\u0440\u0442\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0441\u0435\u0442\u0438<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/475614\/\">2. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u0412\u0442\u043e\u0440\u0430\u044f. \u0414\u0438\u0437\u0430\u0439\u043d \u0441\u0435\u0442\u0438<\/a><br \/>   <a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">3. \u0410\u0414\u0421\u041c. \u0427\u0430\u0441\u0442\u044c \u0422\u0440\u0435\u0442\u044c\u044f. IPAM\/DCIM-\u0441\u0438\u0441\u0442\u0435\u043c\u0430<\/a><\/p>\n<p>  \u042d\u0442\u043e\u0442 \u0432\u044b\u043f\u0443\u0441\u043a \u044f \u043f\u043e\u0441\u0432\u044f\u0449\u0443 \u043d\u0435\u043e\u0442\u044a\u0435\u043c\u043b\u0435\u043c\u044b\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0430\u043c \u0432 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u2014 \u0441\u0438\u0441\u0442\u0435\u043c\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0430\u0434\u0440\u0435\u0441\u043d\u044b\u043c \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e\u043c \u0438 \u0438\u043d\u0432\u0435\u043d\u0442\u0430\u0440\u043d\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<p>  \u041c\u044b \u0432\u044b\u0431\u0435\u0440\u0435\u043c \u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0435\u0451, \u0440\u0430\u0437\u0431\u0435\u0440\u0451\u043c\u0441\u044f \u0441 \u0430\u0440\u0445\u0438\u0442\u0435\u043a\u0442\u0443\u0440\u043e\u0439, \u0441\u0445\u0435\u043c\u043e\u0439 \u0411\u0414, \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430\u043c\u0438 \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0438 \u043d\u0430\u043f\u043e\u043b\u043d\u0438\u043c \u0435\u0451. \u0410 \u0432 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0447\u0430\u0441\u0442\u044f\u0445 \u043d\u0430\u0447\u043d\u0451\u043c \u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u044b, \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0438\u0435\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0438, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u043e\u0432\u044b\u0445 \u0441\u0442\u043e\u0435\u043a. <\/p>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u044f \u0443\u0436\u0435 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043b \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0441\u0442\u0430\u0442\u044c\u044e \u043e <a href=\"https:\/\/habr.com\/ru\/post\/485618\/\">RESTful API<\/a>, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0441\u0434\u0435\u043b\u0430\u043b \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0439 \u043e\u0431\u0437\u043e\u0440 \u0435\u0433\u043e \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u043e\u0432 \u0438 \u0440\u0430\u0431\u043e\u0442\u044b, \u044d\u0442\u043e \u043d\u0430\u043c \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u0442\u0441\u044f.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-297872","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297872","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=297872"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/297872\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=297872"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=297872"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=297872"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}