{"id":312918,"date":"2020-11-10T21:00:31","date_gmt":"2020-11-10T21:00:31","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=312918"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=312918","title":{"rendered":"WireGuard \u0431\u0435\u0437 NAT, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044f\u044f \u0441\u0435\u0442\u044c \u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0441 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u044c\u044e"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u043a \u043e\u0444\u0438\u0441\u043d\u043e\u043c\u0443 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u0421 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0418 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438\u043b\u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 GUI.<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qs\/4d\/8u\/qs4d8uayvdggmqbm3wh872zfugc.jpeg\"><\/div>\n<p><a name=\"habracut\"><\/a>  <\/p>\n<p>\u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0445 <code>vpn<\/code> \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442-\u0441\u0435\u0440\u0432\u0435\u0440, \u043a\u0430\u043a \u043f\u043b\u0430\u0442\u043d\u044b\u0435 \u043c\u043d\u043e\u0433\u043e\u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0441 \u0440\u0430\u0437\u043d\u044b\u043c\u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044f\u043c\u0438, \u0442\u0430\u043a \u0438 \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u044b\u0435. \u041d\u043e \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0441\u0442\u043e\u0438\u0442 \u0437\u0430\u0434\u0430\u0447\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043a\u043e\u043c\u043f\u043b\u0435\u043a\u0441 \u0444\u0443\u043d\u043a\u0446\u0438\u0439, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435 \u041e\u0421<\/li>\n<li>\u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u043c\u0435\u0436\u0434\u0443 WiFi \u0442\u043e\u0447\u043a\u0430\u043c\u0438<\/li>\n<li>VPN \u043a\u043b\u0438\u0435\u043d\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0432\u0438\u0434\u0435\u043d \u0438\u0437 \u043e\u0444\u0438\u0441\u043d\u043e\u0439 \u0441\u0435\u0442\u0438<\/li>\n<li>\u043a\u0440\u043e\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u043e\u0441\u0442\u044c <code>vpn<\/code> \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0438 \u041f\u041e \u0434\u043b\u044f \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f<\/li>\n<li>\u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0435 \u0443\u0447\u0430\u0441\u0442\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 <code>vpn<\/code> \u043a\u043b\u0438\u0435\u043d\u0442\u0430<\/li>\n<li>\u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u043a \u0445\u043e\u0441\u0442\u0430\u043c \u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 ACL<\/li>\n<li>\u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 ACL \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u0443\u0434\u043e\u0431\u043d\u043e\u0433\u043e GUI<\/li>\n<li>\u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c VPN \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u041a\u0430\u043a \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 (\u043c\u0438\u043d\u0438\u043c\u0443\u043c Layer 3)<\/li>\n<li>\u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043b\u043e\u0433\u0438 \u0432 \u043f\u043e\u0438\u0441\u043a\u043e\u0432\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 ELK \u0441\u0442\u0435\u043a)<\/li>\n<\/ul>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/-t\/mn\/ey\/-tmneytjfgakvsabhveru7d8sf4.png\"><\/div>\n<p>  <\/p>\n<p>\u041d\u0430\u0431\u043b\u044e\u0434\u0430\u044f \u0437\u0430 \u043f\u043e\u0432\u0441\u0435\u0434\u043d\u0435\u0432\u043d\u044b\u043c\u0438 \u0442\u044f\u0436\u0431\u0430\u043c\u0438 \u0442\u0435\u0445. \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0443\u0436\u0435 \u0434\u0430\u0432\u043d\u043e \u0437\u0440\u0435\u043b\u0430 \u043c\u044b\u0441\u043b\u044c \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0438\u0445 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e \u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043a\u0430\u043a \u043e\u0434\u043d\u043e \u0446\u0435\u043b\u043e\u0435 \u0438 \u043b\u0435\u0433\u043a\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0435. \u0412 \u0443\u0441\u043b\u043e\u0432\u0438\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u043e\u0442\u0440\u0443\u0434\u043d\u0438\u043a\u043e\u0432 \u043f\u0435\u0440\u0435\u0445\u043e\u0434\u044f\u0442 \u043d\u0430 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443, \u044d\u0442\u043e \u0432\u0441\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0430\u043a\u0442\u0443\u0430\u043b\u044c\u043d\u043e.<\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u043b\u0441\u044f \u0438 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043b \u041f\u041e \u0441 \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0442\u0430\u043a\u043e\u0439 \u043c\u043e\u043d\u043e\u043b\u0438\u0442. \u041d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0447\u0442\u043e-\u0442\u043e, \u0447\u0442\u043e \u0438\u043c\u0435\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0441 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u044b\u0441\u0442\u0440\u043e \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u043e\u0441\u043f\u043e\u0441\u043e\u0431\u043d\u043e\u0441\u0442\u044c. \u041f\u043e\u0441\u043b\u0435 \u0434\u043e\u043b\u0433\u0438\u0445 \u043f\u043e\u0438\u0441\u043a\u043e\u0432, \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0437\u0430\u0434\u0430\u0447\u0438 \u043f\u0440\u0438\u0448\u0435\u043b \u043a \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043d\u0430\u0431\u043e\u0440\u0443 \u041f\u041e.<\/p>\n<p>  <\/p>\n<p>\u0417\u0430 \u043e\u0441\u043d\u043e\u0432\u0443, \u0433\u0434\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440 \u0431\u044b\u043b\u0430 \u0432\u044b\u0431\u0440\u0430\u043d\u0430 \u041e\u0421 Ubuntu 18.04.5 LTS.<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d WireGuard, \u0432\u0441\u0435\u043c \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u043c \u043e\u043d \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442. \u041e\u043d \u043b\u0435\u0433\u043a\u043e\u0432\u0435\u0441\u043d\u044b\u0439, \u0438\u043c\u0435\u0435\u0442 \u043c\u0438\u043d\u0438\u043c\u0443\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a. \u041a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u0438 \u0441\u0442\u0430\u0440\u0442\u0435 \u041e\u0421, \u0441\u0430\u043c\u0430 \u043f\u043e\u0434\u043d\u0438\u043c\u0430\u0435\u0442 \u043a\u0430\u043d\u0430\u043b \u0438 \u043a\u0440\u043e\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u0430\u044f. \u0420\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 <code>udp<\/code> \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b. \u041f\u0440\u0438 \u0448\u0438\u0444\u0440\u043e\u0432\u0430\u043d\u0438\u0438 \u043a\u0430\u043d\u0430\u043b\u0430 \u043f\u043e\u0442\u0435\u0440\u044f \u0441\u043a\u043e\u0440\u043e\u0441\u0442\u0438 \u0432\u0441\u0435\u0433\u043e \u0432 \u0440\u0430\u0439\u043e\u043d\u0435 20%.<\/p>\n<p>  <\/p>\n<p>\u0412 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 <code>firewall<\/code> \u0431\u044b\u043b \u0432\u044b\u0431\u0440\u0430\u043d <code>iptables<\/code> \u0438 \u0435\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 \u041f\u041e Shorewall. \u0414\u0430\u0436\u0435 \u043f\u0435\u0440\u0432\u043e\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 Shorewall \u043d\u0435 \u0432\u044b\u0437\u0432\u0430\u043b\u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0437\u0430\u0442\u0440\u0443\u0434\u043d\u0435\u043d\u0438\u0439 \u0438 \u0432 \u0440\u0430\u0431\u043e\u0442\u0435 \u043e\u043d \u043b\u0435\u0433\u043e\u043a \u0434\u043b\u044f \u0432\u043e\u0441\u043f\u0440\u0438\u044f\u0442\u0438\u044f.<\/p>\n<p>  <\/p>\n<p>\u0423\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0432 \u041e\u0421 Windows \u0431\u044b\u043b\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u0435\u043d\u043e \u0447\u0435\u0440\u0435\u0437 TightVNC, msi \u0444\u0430\u0439\u043b \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043f\u0435\u0440\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u043f\u043e \u0441\u0432\u043e\u0435\u043c\u0443 \u0443\u0441\u043c\u043e\u0442\u0440\u0435\u043d\u0438\u044e. \u0421\u0435\u0440\u0432\u0435\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u044c \u041f\u041e \u043d\u0435 \u043f\u0440\u043e\u0436\u043e\u0440\u043b\u0438\u0432\u0430\u044f, \u0441\u043b\u0443\u0436\u0431\u0430 \u043d\u0435 \u043f\u0430\u0434\u0430\u0435\u0442, \u043f\u0435\u0440\u0435\u0434\u0430\u0435\u0442 \u0442\u043e\u043b\u044c\u043a\u043e jpeg \u0441\u043a\u0440\u0438\u043d\u0448\u043e\u0442\u044b \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u043b\u0430\u0432\u0438\u0430\u0442\u0443\u0440\u043e\u0439\/\u043c\u044b\u0448\u043a\u043e\u0439. \u0417\u0430\u0449\u0438\u0449\u0435\u043d\u0430 \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u043d\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0414\u043b\u044f \u0434\u0440\u0443\u0433\u0438\u0445 \u041e\u0421 \u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 VNC.<\/p>\n<p>  <\/p>\n<p>\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438, \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a\/\u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0431\u044b\u043b\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044b\u0439 \u0432 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 GitLab \u0438 CI Pipelines. \u0412\u0441\u0435 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435\/\u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>git<\/code> \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043d\u0435 \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u043c\u043e\u0433\u0443\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u0442\u044c \u043a\u043e\u043b\u043b\u0435\u0433\u0438 \u0438\u0437 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438. \u041a \u0442\u043e\u043c\u0443-\u0436\u0435 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0432\u0438\u0437\u0443\u0430\u043b\u044c\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043d\u044f\u0442\u043d\u0435\u0435.<\/p>\n<p>  <\/p>\n<p>\u0421\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432 \u0431\u044b\u043b \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u0447\u0435\u0440\u0435\u0437 Fluentd \u0438\/\u0438\u043b\u0438 Filebeat \u0438 \u0432\u0441\u0435 \u043e\u0442\u043f\u0440\u0430\u0432\u043b\u044f\u043b\u043e\u0441\u044c \u0432 Elasticsearch.<\/p>\n<p>  <\/p>\n<p>\u0421 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0432\u0432\u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u043b, \u0434\u0430\u043b\u0435\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043d\u043e \u043a\u0430\u043a \u0432\u0441\u0435 \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0441 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u043c\u0438 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f\u043c\u0438. \u0412\u0441\u0435 \u0441\u0441\u044b\u043b\u043a\u0438 \u0431\u0443\u0434\u0443\u0442 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438.<\/p>\n<p>  <\/p>\n<h1 id=\"ustanavlivaem-wireguard-na-ubuntu-18045-lts\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c wireguard \u043d\u0430 Ubuntu 18.04.5 LTS<\/h1>\n<p>  <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u041f\u041e \u0434\u043b\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u041e\u0421 \u0435\u0441\u0442\u044c \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435.<\/p>\n<p>  <\/p>\n<p>Ubuntu \u2265 18.04 <\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo apt install wireguard<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.<\/p>\n<p>  <\/p>\n<p>\u0413\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0439 \u0438 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447\u0438.<\/p>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">wg genkey | sudo tee \/etc\/wireguard\/privatekey | wg pubkey | sudo tee \/etc\/wireguard\/publickey<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u0441\u0435 \u043a\u043b\u044e\u0447\u0438 \u043b\u0435\u0436\u0430\u0442 <code>\/etc\/wireguard\/<\/code><\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b <code>wg0.conf<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/wireguard\/wg0.conf<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u043e\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">[Interface] Address = 192.168.30.1\/24       &lt;- \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d SaveConfig = true ListenPort = 5505               &lt;- \u0432\u044b\u0431\u0438\u0440\u0430\u0435\u043c \u043b\u044e\u0431\u043e\u0439 \u043f\u043e\u0440\u0442 PrivateKey = SERVER_PRIVATE_KEY<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u043c\u0430\u043d\u0443\u0430\u043b\u0430\u0445 \u0435\u0449\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044e\u0442 2 \u0441\u0442\u0440\u043e\u0447\u043a\u0438:<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o ens3 -j MASQUERADE<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438 <code>PostUp<\/code> \u0438 <code>PostDown<\/code> \u0432\u0435\u0440\u043d\u044b \u0435\u0441\u043b\u0438 \u0432\u044b \u0445\u043e\u0442\u0438\u0442\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441\u043f\u0440\u044f\u0442\u0430\u0442\u044c \u0437\u0430 <code>NAT<\/code>. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0432\u0441\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u043f\u0440\u0438 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0438 \u0431\u0443\u0434\u0443\u0442 \u0438\u043c\u0435\u0442\u044c <code>ip<\/code> \u0430\u0434\u0440\u0435\u0441 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0441\u0435\u0442\u0435\u0432\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u043d\u043e \u043d\u0430\u043c \u044d\u0442\u043e \u043d\u0435 \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0438\u0445 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c.<\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0434 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <code>wg0<\/code>, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0443 \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0432\u043f\u0435\u0440\u0435\u0434.<\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c <code>ip_forward<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo nano \/etc\/sysctl.conf  # \u0438\u0449\u0435\u043c \u0441\u0442\u0440\u043e\u043a\u0443 \u0438 \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 net.ipv4.ip_forward=1<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u0438\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u0435\u0440\u0432\u0435\u0440 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c, \u0435\u0441\u043b\u0438 \u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u0438\u043d\u0433\u043e\u0432\u0430\u0442\u044c\u0441\u044f <code>ip<\/code> wireguard.<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo sysctl -p<\/code><\/pre>\n<p>  <\/p>\n<p>\u041e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c <code>ufw<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">systemctl disable ufw<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412 <code>iptables<\/code> \u0441\u0431\u0440\u043e\u0441\u0438\u043c \u0432\u0441\u0435 \u0446\u0435\u043f\u043e\u0447\u043a\u0438 \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432\u0435\u0441\u044c \u0442\u0440\u0430\u0444\u0438\u043a<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">iptables -F iptables -X iptables -t nat -F iptables -t nat -X iptables -t mangle -F iptables -t mangle -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u043b\u0443\u0436\u0431\u0443<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo wg-quick up wg0<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u043c \u0441\u0442\u0430\u0442\u0443\u0441<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo wg<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c <code>wg<\/code> \u043d\u0430 \u0437\u0430\u043f\u0443\u0441\u043a \u043f\u0440\u0438 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0435<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo systemctl enable wg-quick@wg0<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u043a\u043e\u043f\u0438\u044e \u0444\u0430\u0439\u043b\u0430 <code>wg0.conf<\/code> \u0432 \u044d\u0442\u043e\u0439 \u0436\u0435 \u043f\u0430\u043f\u043a\u0435 <code>\/etc\/wireguard\/<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">cp \/etc\/wireguard\/wg0.conf \/etc\/wireguard\/wg0.sempl<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431\u044b \u0432 \u043a\u043e\u043f\u0438\u0438 \u0431\u044b\u043b\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043c\u0435\u043d\u043d\u043e <code>[Interface]<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043f\u043e\u043a \u0433\u0434\u0435 \u043d\u0438\u0431\u0443\u0434\u044c \u0432 <code>\/opt<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">mkdir \/opt\/git mkdir \/opt\/git\/wg<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c <code>wg0.conf<\/code> \u0432 <code>\/opt\/git\/wg<\/code> \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u0444\u0430\u0439\u043b<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">cp \/etc\/wireguard\/wg0.conf \/opt\/git\/wg\/wg0.conf  ln -sf \/opt\/git\/wg\/wg0.conf \/etc\/wireguard\/wg0.conf<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u0447\u0435\u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u043d\u0443\u0436\u043d\u044b? \u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0432 \u0444\u0430\u0439\u043b <code>wg0.sempl<\/code> \u043c\u044b \u0432\u044b\u043d\u0435\u0441\u043b\u0438 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u0439 \u043a\u043b\u044e\u0447 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0430\u0439\u043b, \u043f\u0440\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u0438 CI \u0432 <code>.gitlab-ci.yml<\/code> \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u044d\u0442\u043e \u0443\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c. \u041f\u0435\u0440\u0435\u043d\u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u0444\u0438\u0433 \u0432 \u043f\u0430\u043f\u043a\u0443 <code>\/opt\/git\/wg<\/code> \u0438 \u0441\u0434\u0435\u043b\u0430\u043b\u0438 \u0441\u0441\u044b\u043b\u043a\u0443 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u0432 \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0446\u0435\u043b\u044b\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0432 \u043f\u0430\u043f\u043a\u0435 \u043e\u0442\u043b\u0438\u0447\u043d\u043e\u0439 \u043e\u0442 <code>\/etc\/wireguard<\/code>. \u0421\u0430\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u043e\u043d\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c\u0441\u044f \u0438\u0437 2 \u0447\u0430\u0441\u0442\u0435\u0439, \u0447\u0430\u0441\u0442\u044c \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 <code>[Interface]<\/code> \u0438 \u0447\u0430\u0441\u0442\u044c \u0441 <code>[Peer]<\/code> \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c\u0441\u044f \u0438\u0437 gitlab.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c \u043f\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440 \u043f\u0440\u043e\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043f\u043e \u043f\u043e\u0440\u0442\u0443 <code>udp: 5505<\/code> \u043d\u0430 \u043d\u0430\u0448 \u0441\u0435\u0440\u0432\u0435\u0440. \u0422\u0430\u043a-\u0436\u0435 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u043c\u0430\u0440\u0448\u0440\u0443\u0442 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 <code>192.168.30.0\/24<\/code> \u043d\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u0441\u0435\u0442\u0435\u0432\u043e\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0430\u0448\u0435\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u041f\u0440\u0438 \u043f\u043e\u0434\u043d\u044f\u0442\u0438\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 <code>wg0.conf<\/code> \u0430\u0434\u0440\u0435\u0441 <code>192.168.30.1<\/code> \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0438\u043d\u0433\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0432 \u043d\u0430\u0448\u0435\u0439 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u043f\u043e\u0434\u0441\u0435\u0442\u0438, \u0435\u0441\u043b\u0438 \u043d\u0435 \u043f\u0438\u043d\u0433\u0443\u0435\u0442\u0441\u044f \u0441\u043e\u0432\u0435\u0442\u0443\u044e \u043d\u0430 \u044d\u0442\u043e\u043c \u043c\u043e\u043c\u0435\u043d\u0442\u0435 \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u0438 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u043e\u0442 \u0432\u043e\u043f\u0440\u043e\u0441. \u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u0430 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u0441\u0435\u0442\u044c <code>192.168.30.0\/24<\/code> \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0447\u0435\u0440\u0435\u0437 <code>ipsec<\/code> \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u044d\u0442\u0443 \u043f\u043e\u0434\u0441\u0435\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432\u043e 2 \u0444\u0430\u0437\u0443 \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0438 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445, \u0430 \u0441 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u044b\u0445 \u0430\u0434\u0440\u0435\u0441\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u0427\u0442\u043e \u043c\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0435\u0440\u0435\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a? \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0448\u0430\u0431\u043b\u043e\u043d<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">Address = 192.168.30.X\/24 DNS = 10.15.1.10, 10.16.1.252  [Peer] PublicKey = &lt;server_public_key&gt; AllowedIPs = 0.0.0.0\/0 Endpoint = 1.2.3.4:5505<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432 <code>AllowedIPs<\/code> \u0443\u043a\u0430\u0437\u0430\u0442\u044c <code>0.0.0.0\/0<\/code>, \u0442\u043e \u043c\u044b \u0437\u0430\u0432\u0435\u0440\u043d\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0442\u0440\u0430\u0444\u0438\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 VPN. \u041c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0434\u0438\u0430\u043f\u0430\u0437\u043e\u043d \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u043f\u043e\u0434\u0441\u0435\u0442\u0435\u0439.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0430\u043c \u043d\u0435 \u043d\u0443\u0436\u043d\u043e.<\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0442\u0443\u043f\u043b\u0435\u043d\u0438\u0435 \u0435\u0441\u0442\u044c, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c.<\/p>\n<p>  <\/p>\n<h1 id=\"ustanavlivaem-i-nastraivaem-shorewall\">\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0438 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c Shorewall<\/h1>\n<p>  <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 <code>shorewall<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">apt update  apt install -y shorewall<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u043d\u0443\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0432 \u0444\u0430\u0439\u043b <code>shorewall.conf<\/code> \u0438 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438. \u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u043c\u0430\u043d\u0443\u0430\u043b \u0435\u0441\u0442\u044c \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u0447\u043d\u0435\u043c \u043f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443, \u0438\u0437\u043c\u0435\u043d\u0438\u043c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b <code>shorewall.conf<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/shorewall.conf  STARTUP_ENABLED=Yes LOG_LEVEL=&quot;info(tcp_options,tcp_sequence,macdecode,ip_options)&quot; BLACKLIST_LOG_LEVEL=&quot;$LOG_LEVEL&quot; INVALID_LOG_LEVEL=&quot;$LOG_LEVEL&quot; LOG_MARTIANS=Yes LOG_VERBOSITY=2 LOGALLNEW=&quot;$LOG_LEVEL&quot; LOGFILE=\/opt\/logs\/shorewall\/firewall.log LOGFORMAT=&quot;ip-tables %s %s &quot; LOGTAGONLY=No <\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043f\u0430\u043f\u043e\u043a \u0432 <code>\/opt<\/code> \u0438 \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u0435\u043c \u043b\u043e\u0433\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435. \u0412 <code>LOGFORMAT<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u043f\u043e \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u0431\u0443\u0434\u0435\u043c \u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0435 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f \u043e\u0442 <code>iptables<\/code> \u0438 \u0441\u043a\u043b\u0430\u0434\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 <code>\/opt\/logs\/shorewall\/firewall.log<\/code>.<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">mkdir \/opt\/logs mkdir \/opt\/logs\/shorewall touch \/opt\/logs\/shorewall\/firewall.log<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u0434\u0435\u043b\u0430\u0435\u043c \u0441\u0440\u0430\u0437\u0443 \u0444\u0438\u043b\u044c\u0442\u0440 \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u044b\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043e\u0442 <code>iptables<\/code>. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u043e \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0444\u0438\u043b\u044c\u0442\u0440 \u043f\u043e \u043d\u0430\u0448\u0435\u043c\u0443 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0443 <code>ip-tables<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/rsyslog.d\/10-my_iptables.conf  # Log kernel generated iptables log messages to file :msg,contains,&quot;ip-tables&quot; \/opt\/logs\/shorewall\/firewall.log &amp; ~<\/code><\/pre>\n<p>  <\/p>\n<p>\u0415\u0441\u043b\u0438 \u0432 \u0444\u0430\u0439\u043b \u043b\u043e\u0433\u0438 \u043d\u0435 \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f, \u0434\u043e\u0431\u0430\u0432\u044c\u0442\u0435 \u043f\u0440\u0430\u0432 \u043d\u0430 \u0444\u0430\u0439\u043b\/\u043f\u0430\u043f\u043a\u0443. \u041d\u0435 \u0437\u0430\u0431\u0443\u0434\u044c\u0442\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0440\u043e\u0442\u0430\u0446\u0438\u044e \u043b\u043e\u0433\u0430.<\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c \u0441\u043b\u0443\u0436\u0431\u0443<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">service rsyslog restart<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0443 shorewall \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0444\u0430\u0439\u043b\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b <code>interfaces<\/code>, \u0432 \u043d\u0435\u043c \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043d\u0430\u0448\u0438\u0445 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u0438 \u043e\u043f\u0446\u0438\u0438<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/interfaces  ?FORMAT 2 ############################################################################### #ZONE   INTERFACE       OPTIONS lan     eth0            tcpflags,nosmurfs,routefilter,logmartians wg      wg0             tcpflags,nosmurfs,routefilter,logmartians #LAST LINE -- ADD YOUR ENTRIES BEFORE THIS ONE -- DO NOT REMOVE<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u0435\u0439 \u0438 \u0445\u043e\u0441\u0442\u043e\u0432 \u0438 \u0437\u0430\u043f\u0438\u0448\u0435\u043c \u0432\u0441\u0435 \u043d\u0430\u0448\u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 \u0438 \u0432\u0430\u0436\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432 \u0441\u0435\u0442\u0438<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/params.mgmt  # protocols ALL_T_U=tcp,udp # all services, networks and subnets AD_DS=10.15.1.10,10.17.2.2 IPA=10.16.1.252 DNS_INT=10.15.1.10,10.16.1.252,192.168.0.253 KASPER=10.15.1.55 #### NET_OFFICE=10.15.1.0\/24 NET_OFFICE_PRINTERS=10.15.14.0\/24 ## NET_CLOUD_PROD=172.16.0.0\/20,172.16.16.0\/20,172.16.32.0\/20 NET_CLOUD_DEV=192.168.128.0\/24,192.168.1.0\/24 #### VPN_01=192.168.30.0\/24 VPN_02=192.168.40.0\/24 #### ADM_IP=10.17.1.9 ADM_IP_VPN=192.168.30.3,192.168.40.3 VNC_SERVERS=10.15.1.10 ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u0417\u0434\u0435\u0441\u044c \u043d\u0435\u0442 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435, \u043c\u044b \u0440\u0430\u0441\u043f\u0438\u0441\u0430\u043b\u0438 \u0432\u0441\u0435 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 \u043f\u043e\u0434\u0441\u0435\u0442\u0438, \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0435\u0440 \u0434\u043e\u043c\u0435\u043d\u0430, free ipa, \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0435 DNS, \u043f\u043e\u0434\u0441\u0435\u0442\u0438 VPN, \u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0435 <code>ip<\/code> \u0430\u0434\u0440\u0435\u0441\u0430, \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u0433\u0440\u0443\u043f\u043f\u0443 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u044d\u0442\u043e\u0442 \u0444\u0430\u0439\u043b \u0432 \u043e\u0431\u0449\u0438\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/params  INCLUDE params.mgmt<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u043e\u043b\u0438\u0442\u0438\u043a\u0443 \u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/policy  ## #SOURCE      DEST           POLICY      LOGLEVEL     LIMIT $FW          lan            ACCEPT       $LOG_LEVEL $FW          wg             DROP         $LOG_LEVEL wg           $FW            DROP         $LOG_LEVEL # THE FOLOWING POLICY MUST BE LAST all          all            REJECT       $LOG_LEVEL ##<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043b\u043e\u0433\u0438\u0440\u0443\u044e\u0442\u0441\u044f \u0432\u0441\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f <code>$FW<\/code> \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442 \u0441\u0430\u043c \u0444\u0430\u0435\u0440\u0432\u043e\u043b, \u0442.\u0435. \u043b\u044e\u0431\u043e\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u043e\u0442 \u043b\u044e\u0431\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u043d\u0430 <code>wg<\/code> \u0431\u0443\u0434\u0435\u0442 \u0441\u0431\u0440\u043e\u0448\u0435\u043d\u043e. \u042d\u0442\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043c\u0438.<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b \u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u0442\u0438\u043f\u0430 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/zones  ############################################################################### #ZONE   TYPE            OPTIONS         IN                      OUT #                                       OPTIONS                 OPTIONS FW      firewall lan     ipv4 wg      ipv4 #LAST LINE - ADD YOUR ENTRIES ABOVE THIS ONE - DO NOT REMOVE<\/code><\/pre>\n<p>  <\/p>\n<p>\u0421\u0430\u043c\u044b\u0439 \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u0444\u0430\u0439\u043b \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f \u0441 \u0441\u0435\u0440\u0432\u0438\u0441\u0430\u043c\u0438, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0433\u043e \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u0438\u043c<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/services.mgmt   # add default rules for all connections # AD DS &amp; LDAP ACCEPT   lan:$AD_DS         wg                  $ALL_T_U    42 ACCEPT   wg                 lan:$AD_DS          $ALL_T_U    42 ACCEPT   lan:$AD_DS         wg                  $ALL_T_U    88 ACCEPT   wg                 lan:$AD_DS          $ALL_T_U    88 ACCEPT   lan:$AD_DS         wg                  $ALL_T_U    135 ACCEPT   wg                 lan:$AD_DS          $ALL_T_U    135 .....  # Free IPA ports ACCEPT   lan:$IPA           wg                  $ALL_T_U    88 .....  # internal DNS ACCEPT   lan:$DNS_INT       wg                  $ALL_T_U    53 ACCEPT   wg                 lan:$DNS_INT        $ALL_T_U    53 # kastersky ACCEPT   lan:$KASPER        wg                  $ALL_T_U    13000 ACCEPT   wg                 lan:$KASPER         $ALL_T_U    13000 .....  # admin all access ACCEPT   lan:$ADM_IP        wg   ACCEPT   wg:$ADM_IP_VPN     wg ACCEPT   lan:$ADM_IP_VPN    wg # vnc ACCEPT   lan:$VNC_SERVERS   wg                  tcp         7900 # ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u0420\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u043f\u043e\u0440\u0442\u044b \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0445 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432. \u041a\u0430\u043a\u0438\u0435 \u043f\u043e\u0440\u0442\u044b \u0438 \u043a\u0430\u043a\u043e\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u043c\u043e\u0436\u043d\u043e \u043d\u0430\u0439\u0442\u0438 \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0435\u0439\u0442\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0438\u0437 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430\u043f\u0438\u0448\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u043f\u043e\u0434\u0441\u0435\u0442\u0435\u0439 \u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u0438 <code>vpn<\/code> \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0445 \u0432\u0441\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/networks.mgmt   # drop internal networks to clients and from client DROP     lan:$NET_OFFICE               wg DROP     lan:$NET_OFFICE_PRINTERS      wg DROP     lan:$NET_CLOUD_PROD           wg DROP     lan:$NET_CLOUD_DEV            wg DROP     wg                            lan:$NET_OFFICE             DROP     wg                            lan:$NET_OFFICE_PRINTERS    DROP     wg                            lan:$NET_CLOUD_PROD            DROP     wg                            lan:$NET_CLOUD_DEV             # wireguard networks DROP     lan:$VPN_01                   wg DROP     lan:$VPN_02                   wg DROP     wg                            lan:$VPN_01 DROP     wg                            lan:$VPN_02 DROP     wg:$VPN_01                    wg DROP     wg:$VPN_02                    wg DROP     wg                            wg:$VPN_01 DROP     wg                            wg:$VPN_02 # ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u041e\u0441\u0442\u0430\u043b\u0441\u044f \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u0430\u043c\u044b\u0439 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 \u0438 \u0441\u0430\u043c\u044b\u0439 \u0433\u043b\u0430\u0432\u043d\u044b\u0439 \u0444\u0430\u0439\u043b \u0441 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435\u043c \u0432\u0441\u0435\u0445 \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u0432\u0441\u0435\u0445 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u0441 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u043c \u043f\u043e\u0440\u044f\u0434\u043a\u043e\u043c, \u0442.\u043a. Shorewall \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u0430 \u0444\u0430\u0439\u043b\u043e\u0432 \u0438\u0437 \u043f\u0430\u043f\u043a\u0438, \u0434\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u0434\u0435\u043b\u0430\u0435\u043c 2 \u043f\u0430\u043f\u043a\u0438 \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 <code>vpn<\/code> \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u043a\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438\/\u0445\u043e\u0441\u0442\u0430\u043c \u0438 \u0441 \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 (\u0434\u0430, \u0431\u0443\u0434\u0435\u043c \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 \u0447\u0435\u0440\u0435\u0437 <code>vpn<\/code>)<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0435\u043c 2 \u043f\u0430\u043f\u043a\u0438<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">mkdir \/etc\/shorewall\/rules_internet.d mkdir \/etc\/shorewall\/rules_networks.d<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412 \u043f\u0430\u043f\u043a\u0430\u0445 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0441 \u0440\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u0438\u0435\u043c <code>.rule<\/code>, \u0438\u043c\u044f \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 <code>&lt;ip_username&gt;<\/code>, \u0432 \u0438\u0442\u043e\u0433\u0435 \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0431\u0443\u0434\u0443\u0442 \u0432\u044b\u0433\u043b\u044f\u0434\u0435\u0442\u044c \u043f\u043e \u0448\u0430\u0431\u043b\u043e\u043d\u0443 <code>&lt;ip_username&gt;.rule<\/code>. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c 2 \u0444\u0430\u0439\u043b\u0430 \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u0440\u0430 \u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u0435\u0440\u0435\u0439\u0434\u0435\u043c \u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u043c\u0443 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c\u0443 \u0444\u0430\u0439\u043b\u0443.<\/p>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0443<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/rules_internet.d\/192.168.30.2_tst-client.rule   ########################################################################################### #ACTION         SOURCE            DEST            PROTO   DEST    SOURCE          ORIGINAL        RATE            USER\/   MARK #                                                         PORT    PORT(S)         DEST            LIMIT           GROUP ACCEPT          wg:192.168.30.2   lan                        # ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u0420\u0430\u0437\u0440\u0435\u0448\u0438\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u043c \u0445\u043e\u0441\u0442\u0430\u043c \u0438\u0437 \u0441\u0435\u0442\u0438 (\u0442\u0430\u043a \u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u0430)<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/rules_networks.d\/192.168.30.2_tst-client.rule   ########################################################################################### #ACTION           SOURCE                     DEST                        PROTO   DEST    SOURCE          ORIGINAL        RATE            USER\/   MARK #                                                                                PORT    PORT(S)         DEST            LIMIT           GROUP ACCEPT           wg:192.168.30.2            lan:$NET_OFFICE DROP             wg:192.168.30.2            lan:10.15.1.69  ACCEPT           wg:192.168.30.2            lan:10.16.1.252              tcp     80 # ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043d\u0435 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e <code>DROP<\/code>, \u043c\u044b \u0432\u0441\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0431\u0443\u0434\u0443\u0442 \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0442\u044c\u0441\u044f \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u0432 \u0444\u0430\u0439\u043b\u0435 <code>rules<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0418\u0442\u0430\u043a, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0444\u0430\u0439\u043b <code>rules<\/code> \u0438 \u0432\u043d\u043e\u0441\u0438\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/shorewall\/rules  ########################################################################################### #ACTION          SOURCE         DEST        PROTO   DEST    SOURCE      ORIGINAL    RATE        USER\/   MARK #                                                   PORT    PORT(S)     DEST        LIMIT       GROUP ACCEPT           lan             $FW ACCEPT           wg              $FW        icmp ACCEPT           wg              $FW        tcp     22 # ##### # add services INCLUDE services.mgmt # #### # add internal hosts\/networks to clients SHELL cat \/etc\/shorewall\/rules_networks.d\/*.rule # ##### # drop all internal networks to wireguard from clients and to clients INCLUDE networks.mgmt # #### # add internet to clients SHELL cat \/etc\/shorewall\/rules_internet.d\/*.rule # ###END###<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e \u043f\u043e\u0440\u044f\u0434\u043a\u0443:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0435 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0438 \u043e\u0442 \u043a\u043b\u0438\u0435\u043d\u0442\u0430<\/li>\n<li>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c\/\u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043a \u0441\u0435\u0442\u044f\u043c\/\u0445\u043e\u0441\u0442\u0430\u043c<\/li>\n<li>\u0437\u0430\u043f\u0440\u0435\u0449\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u043a\u043e \u0432\u0441\u0435\u043c \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u043c \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c \u0438 \u043f\u043e\u0434\u0441\u0435\u0442\u044f\u043c <code>vpn<\/code><\/li>\n<li>\u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f \u0432 \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442 (\u043f\u0440\u0438 \u043d\u0430\u043b\u0438\u0447\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u043e\u043c)<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0421\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u0444\u0430\u0439\u043b\u043e\u0432:<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">\/etc\/shorewall\/ \u251c\u2500\u2500 conntrack \u251c\u2500\u2500 interfaces \u251c\u2500\u2500 networks.mgmt \u251c\u2500\u2500 params \u251c\u2500\u2500 params.mgmt \u251c\u2500\u2500 policy \u251c\u2500\u2500 README.MD \u251c\u2500\u2500 rules \u251c\u2500\u2500 rules_internet.d \u2502\u00a0\u00a0 \u2514\u2500\u2500 192.168.30.2_tst-client.rule \u251c\u2500\u2500 rules_networks.d \u2502\u00a0\u00a0 \u2514\u2500\u2500 192.168.30.2_tst-client.rule \u251c\u2500\u2500 services.mgmt \u251c\u2500\u2500 shorewall.conf \u2514\u2500\u2500 zones<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u0430<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">shorewall reload<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u043e \u0432\u0441\u0435\u0439 \u044d\u0442\u043e\u0439 \u043b\u0435\u0433\u043a\u043e\u0441\u0442\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u0438\u044f \u043f\u0440\u0430\u0432\u0438\u043b \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0432\u043e \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u044e\u044e \u0441\u0435\u0442\u044c \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e &quot;\u043d\u043e&quot;, shorewall \u0441\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0446\u0435\u043f\u043e\u0447\u043a\u0443 \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u0442 \u043d\u043e\u0432\u044b\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0435\u0441\u043b\u0438 \u0443\u0432\u0438\u0434\u0438\u0442 \u0432 \u043a\u043e\u0440\u043d\u0435\u0432\u043e\u0439 \u043f\u0430\u043f\u043a\u0435 <code>\/etc\/shorewall\/<\/code> \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0445\u043e\u0442\u044f-\u0431\u044b \u0432 \u043e\u0434\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435, \u0442.\u0435. \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432 \u043f\u0430\u043f\u043a\u0435 <code>rules_internet.d\/rules_networks.d<\/code> \u043d\u0435 \u0438\u0437\u043c\u0435\u043d\u044f\u0442 \u043f\u0440\u0430\u0432\u0438\u043b <code>iptables<\/code>. \u041c\u044b \u0443\u0447\u0442\u0435\u043c \u044d\u0442\u043e \u043a\u043e\u0433\u0434\u0430 \u0431\u0443\u0434\u0435\u043c \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0432\u0441\u0435 \u0432 gitlab.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u043e\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0438 \u0442\u0435\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u0447\u0435\u0440\u0435\u0437 Wireguard, \u0440\u0430\u0437\u0440\u0435\u0448\u0438\u0442\u044c \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 Shorewall \u0438 \u043f\u0438\u043d\u0433\u0430\u043d\u0443\u0442\u044c \u0441 \u043b\u044e\u0431\u043e\u0433\u043e \u0445\u043e\u0441\u0442\u0430 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 <code>vpn<\/code> \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u041f\u0438\u043d\u0433\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442\u044c \u0438 \u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f \u043f\u043e \u0432\u0441\u0435\u043c \u043f\u043e\u0440\u0442\u0430\u043c. \u0415\u0441\u043b\u0438 <code>vpn<\/code> \u043a\u043b\u0438\u0435\u043d\u0442 \u043d\u0435 \u0432\u0438\u0434\u0435\u043d \u0438\u0437 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438, \u0437\u043d\u0430\u0447\u0438\u0442 \u043d\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0435\u0441\u0442\u044c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u0435\u0440\u0432\u043e\u043b\u0430 \u043a\u0430\u043a \u043d\u0430 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0435, \u0442\u0430\u043a \u0438 \u043d\u0430 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0435. \u0412\u0441\u0435 <code>vpn<\/code> \u043a\u043b\u0438\u0435\u043d\u0442\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b \u0441 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u0438\u0432\u043d\u044b\u0445 <code>ip<\/code> \u0430\u0434\u0440\u0435\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u043b\u0438 \u0432 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 <code>ADM_IP<\/code> \u0438 <code>ADM_IP_VPN<\/code>.<\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044e \u043d\u0430 \u044d\u0442\u043e\u043c \u043d\u0435 \u043e\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u0438 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442\u044c, \u043e\u0441\u0442\u0430\u043b\u043e\u0441\u044c \u043d\u0435\u043c\u043d\u043e\u0433\u043e \ud83d\ude42<\/p>\n<p>  <\/p>\n<h1 id=\"realizaciya-vpn-dostupa-cherez-ci-pipelines-v-gitlab\">\u0420\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f VPN \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0447\u0435\u0440\u0435\u0437 CI Pipelines \u0432 GitLab<\/h1>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0443 \u043d\u0430\u0441 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c selfhosted gitlab \u0434\u043b\u044f \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442, \u0442\u043e \u0435\u0433\u043e \u043d\u0435 \u0442\u0430\u043a \u0441\u043b\u043e\u0436\u043d\u043e \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0442\u043e\u0442-\u0436\u0435 <code>docker-compose<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u0443\u044e \u0433\u0440\u0443\u043f\u043f\u0443 \u0438 \u043d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442, \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 <code>vpn-01<\/code> \u0438 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\"> vpn-01  \u251c\u2500\u2500 .gitlab-ci.yml  \u251c\u2500\u2500 README.md  \u251c\u2500\u2500 shorewall  \u2502\u00a0\u00a0 \u251c\u2500\u2500 networks.mgmt  \u2502\u00a0\u00a0 \u251c\u2500\u2500 params.mgmt  \u2502\u00a0\u00a0 \u251c\u2500\u2500 README.MD  \u2502\u00a0\u00a0 \u251c\u2500\u2500 rules_internet.d  \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 192.168.30.2_tst-client.rule  \u2502\u00a0\u00a0 \u251c\u2500\u2500 rules_networks.d  \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 192.168.30.2_tst-client.rule  \u2502\u00a0\u00a0 \u2514\u2500\u2500 services.mgmt  \u2514\u2500\u2500 wireguard      \u251c\u2500\u2500 README.MD      \u2514\u2500\u2500 wg0.conf<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u043d\u043e\u0441\u0438\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0440\u0430\u043d\u0435\u0435 \u0432\u043e \u0432\u0441\u0435 \u0444\u0430\u0439\u043b\u044b \u0432 \u043f\u0430\u043f\u043a\u0435 shorewall \u043d\u0430 gitlab. \u0412 <code>README.MD<\/code> \u043c\u043e\u0436\u043d\u043e \u0432\u0435\u0441\u0442\u0438 \u0443\u0447\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439, \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043c\u0430\u043d\u0443\u0430\u043b \u0434\u043b\u044f \u0441\u0443\u043f\u043f\u043e\u0440\u0442\u0430.<\/p>\n<p>  <\/p>\n<p>\u0412 \u0444\u0430\u0439\u043b\u0435 <code>wg0.conf<\/code> \u0431\u0443\u0434\u0443\u0442 \u0437\u0430\u043f\u0438\u0441\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432. \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">[Peer] PublicKey = &lt;client_public_key&gt; AllowedIPs = 192.168.30.2\/32<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u0441\u0451, \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 shorewall \u043f\u0435\u0440\u0435\u043d\u0435\u0441\u043b\u0438 \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043b\u0438 1 \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0414\u0430\u043b\u0435\u0435 \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u043c <code>gitlab-runner<\/code>, <code>Deploy Token<\/code> \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 <code>read_repository<\/code> \u0438 \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c <code>.gitlab-ci.yml<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c <code>gitlab-runner<\/code> \u043d\u0430 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">apt install gitlab-runner -y<\/code><\/pre>\n<p>  <\/p>\n<p>\u043d\u0430 \u0441\u0430\u0439\u0442\u0435 \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f \u0431\u0435\u0440\u0435\u043c <code>token<\/code> Settings -&gt; CI\/CD -&gt; Runners \u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u043c<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">sudo gitlab-runner register<\/code><\/pre>\n<p>  <\/p>\n<p>\u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c <code>url<\/code> \u0441\u0430\u0439\u0442\u0430, \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0442\u043e\u043a\u0435\u043d, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c <code>executor: shell<\/code> \u0438 \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c <code>tag: vpn-01<\/code>, \u0435\u0441\u043b\u0438 \u0434\u0430\u0436\u0435 \u0433\u0434\u0435-\u0442\u043e \u043e\u0448\u0438\u0431\u043b\u0438\u0441\u044c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043f\u0440\u0430\u0432\u0438\u0442\u044c <code>\/etc\/gitlab-runner\/config.toml<\/code>.<\/p>\n<p>  <\/p>\n<p>\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c <code>deploy token<\/code>, \u0437\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f Settings -&gt; Repository -&gt; Deploy Tokens \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 <code>read_repository<\/code><\/p>\n<p>  <\/p>\n<p>\u041d\u0430 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u0440\u0430\u0432\u0430 \u0434\u043b\u044f <code>gitlab-runner<\/code> \u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u0432 <code>sudo<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">#1 sudo usermod -a -G sudo gitlab-runner  #2 nano \/etc\/sudoers.d\/gitlab-runner  #3 gitlab-runner  ALL=(ALL) NOPASSWD:\/usr\/bin\/wg-quick,\/usr\/bin\/git,\/sbin\/shorewall,\/bin\/cp,\/bin\/rm,\/bin\/cat,\/bin\/touch,\/bin\/chmod<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u0440\u0430\u0432 \u0434\u043b\u044f \u043f\u0430\u043f\u043a\u0438 <code>\/opt\/git\/<\/code><\/p>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u0444\u0430\u0439\u043b <code>.gitlab-ci.yml<\/code> \u043d\u0430 \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u0442\u0440\u043e\u0447\u043a\u0438<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">stages:    - all  task-all:   stage: all   script:      - sudo \/bin\/cp -f \/etc\/wireguard\/wg0.sempl \/opt\/git\/wg\/wg0.conf     - sudo \/usr\/bin\/wg-quick up wg0 || if [ $? -ne 0 ]; then echo &quot;wg0 is up&quot;; fi     - sudo \/usr\/bin\/wg-quick down wg0      - sudo \/bin\/rm -rf \/opt\/git\/vpn-01      - cd \/opt\/git      - sudo \/usr\/bin\/git clone https:\/\/gitlab+deploy-token:&lt;token&gt;@gitlab.company.net\/infra\/vpn-01.git      - sudo \/bin\/rm -rf \/etc\/shorewall\/rules_networks.d\/*     - sudo \/bin\/rm -rf \/etc\/shorewall\/rules_internet.d\/*     - sudo \/bin\/cp -rf \/opt\/git\/wgvpn-02\/shorewall\/* \/etc\/shorewall\/      - sudo \/bin\/rm -rf \/opt\/git\/wg\/wg0.conf      - sudo \/bin\/cp \/etc\/wireguard\/wg0.sempl \/opt\/git\/wg\/wg0.conf     - sudo \/bin\/chmod 0666 \/opt\/git\/wg\/wg0.conf     - sudo \/bin\/cat \/opt\/git\/vpn-01\/wireguard\/wg0.conf &gt;&gt; \/opt\/git\/wg\/wg0.conf      - sudo \/usr\/bin\/wg-quick up wg0      - sudo \/sbin\/shorewall reload      - sudo \/usr\/bin\/wg-quick down wg0      - sleep 60 &amp;&amp; sudo \/usr\/bin\/wg-quick up wg0   tags:     - 'vpn-01'   allow_failure: true   when: manual<\/code><\/pre>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0441 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u043e\u043c\u0430\u043d\u0434\u0430\u043c\u0438:<\/p>\n<p>  <\/p>\n<ul>\n<li>\u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0448\u0430\u0431\u043b\u043e\u043d \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 <code>wg0<\/code>, \u0432 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0438 \u0444\u0430\u0439\u043b\u0430 <code>wg0.conf<\/code> \u0437\u0430\u043f\u0443\u0449\u0435\u043d\u043d\u044b\u0439\/\u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u043d\u0435\u043b\u044c\u0437\u044f \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0438\u043b\u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c<\/li>\n<li>\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u044b\u0432\u043e\u0434\u0430 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u0447\u0442\u043e\u0431\u044b \u043f\u0440\u0438 \u043e\u0448\u0438\u0431\u043a\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u044b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u043b\u0438 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0442\u0441\u044f<\/li>\n<li>\u043d\u043e\u0432\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u043e\u0433\u0434\u0430 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 <code>wg0<\/code> \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d, \u0442\u043e\u0433\u0434\u0430 \u043c\u043e\u0436\u043d\u043e \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0444\u0430\u0439\u043b <code>wg0.conf<\/code><\/li>\n<li>\u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043f\u0430\u043f\u043a\u0443 <code>vpn-01<\/code> \u0438 \u0441\u0440\u0430\u0437\u0443 \u043a\u043b\u043e\u043d\u0438\u0440\u0443\u0435\u043c \u0441\u0432\u0435\u0436\u0435\u044e \u043a\u043e\u043f\u0438\u044e \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f<\/li>\n<li>\u043e\u0447\u0438\u0449\u0430\u0435\u043c \u043f\u0430\u043f\u043a\u0438 \u0441 \u043f\u0440\u0430\u0432\u0438\u043b\u0430\u043c\u0438 \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u043d\u043e\u0432\u044b\u0435 \u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u043d\u043e\u0432\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445, \u0432\u043e\u0442 \u0437\u0434\u0435\u0441\u044c \u043f\u0440\u0438 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0435 \u043f\u0440\u0430\u0432\u0438\u043b shorewall \u0443\u0432\u0438\u0434\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u043d\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442 \u043e\u0447\u0438\u0441\u0442\u043a\u0443 \u0432\u0441\u0435\u0445 \u043f\u0440\u0430\u0432\u0438\u043b \u0438 \u043f\u043e\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442 \u043d\u043e\u0432\u044b\u0435<\/li>\n<li>\u0441\u043e\u0431\u0438\u0440\u0430\u0435\u043c <code>wg0.conf<\/code> \u0438\u0437 2 \u0447\u0430\u0441\u0442\u0435\u0439, \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0447\u0430\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0430 \u0441 \u043f\u0440\u0438\u0432\u0430\u0442\u043d\u044b\u043c \u043a\u043b\u044e\u0447\u043e\u043c \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u0432 \u043a\u043e\u043d\u0435\u0446 \u0444\u0430\u0439\u043b\u0430 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u0442\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0434\u0435\u043b\u0430\u044f \u0444\u0430\u0439\u043b \u043f\u043e\u043b\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438<\/li>\n<li>\u043f\u0440\u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u043d\u043e\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 <code>wg0<\/code> \u043f\u0440\u0430\u0432\u0438\u043b\u0430 shorewall \u043d\u0435 \u0441\u043c\u043e\u0433\u0443\u0442 \u043f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c\u0441\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c \u043f\u0440\u0430\u0432\u0438\u043b\u0430 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 <code>wg0<\/code><\/li>\n<li>\u0432\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043d\u0430 60 \u0441\u0435\u043a\u0443\u043d\u0434, \u0447\u0442\u043e\u0431\u044b \u0442\u043e\u0447\u043d\u043e \u0440\u0430\u0437\u043e\u0440\u0432\u0430\u0442\u044c \u0432\u0441\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044b\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u043e <code>ACCEPT<\/code> \u0438 \u043c\u044b \u0435\u0433\u043e \u0443\u0431\u0438\u0440\u0430\u0435\u043c, \u0442\u043e \u043f\u0440\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u0438 \u043f\u0440\u0430\u0432\u0438\u043b \u0431\u0435\u0437 \u0440\u0430\u0437\u0440\u044b\u0432\u0430 \u0432\u0441\u0435\u0445 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439 \u043a\u0430\u043d\u0430\u043b \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u043c \u043e\u0441\u0442\u0430\u043d\u0435\u0442\u0441\u044f \u0438 \u0434\u043e\u0441\u0442\u0443\u043f \u0442\u043e\u0436\u0435<\/li>\n<\/ul>\n<p>  <\/p>\n<p>\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c CI\/CD -&gt; Pipelines, \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439 Commit \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c.<\/p>\n<p>  <\/p>\n<p>\u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0432\u044b\u0434\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0430 \u043a\u043e\u043c\u0443 \u043d\u0430 Merge Requests, \u0430 \u043a\u043e\u043c\u0443 \u043d\u0430 Pull Requests.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f\u0435 \u043c\u044b \u0443\u0436\u0435 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043b\u0438 \u0437\u0430\u0434\u0443\u043c\u0430\u043d\u043d\u043e\u0435, \u043d\u043e \u043d\u0443\u0436\u043d\u043e \u0438\u0434\u0442\u0438 \u0434\u043e \u043a\u043e\u043d\u0446\u0430)<\/p>\n<p>  <\/p>\n<h1 id=\"sbor-logov\">\u0421\u0431\u043e\u0440 \u043b\u043e\u0433\u043e\u0432<\/h1>\n<p>  <\/p>\n<p>\u0414\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u043f\u043e \u0441\u0447\u0430\u0441\u0442\u043b\u0438\u0432\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0441\u0442\u0438 \u0442\u0430\u043a \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0447\u0442\u043e \u0432 \u043d\u0430\u0448\u0435\u0439 \u0441\u0435\u0442\u0438 \u0435\u0441\u0442\u044c \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e GitLab, \u043d\u043e \u0438 Elasticsearch \u0441 Kibana. \u0420\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u043c \u043f\u0435\u0440\u0435\u0441\u044b\u043b\u043a\u0443 \u0438 \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u0435 \u043b\u043e\u0433\u043e\u0432 \u0432 Elasticsearch.<\/p>\n<p>  <\/p>\n<p>\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u043d\u0430 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0435 \u0444\u0430\u0439\u043b\u043e\u0432<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/security\/limits.conf  root soft nofile 65536 root hard nofile 65536 * soft nofile 65536 * hard nofile 65536<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u0441\u044f<\/p>\n<p>  <\/p>\n<p>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440 Fluentd<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\"># td-agent 4 curl -L https:\/\/toolbelt.treasuredata.com\/sh\/install-ubuntu-bionic-td-agent4.sh | sh<\/code><\/pre>\n<p>  <\/p>\n<p>\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u0442\u0440\u043e\u0447\u043a\u0438 \u0432 <code>\/etc\/td-agent\/td-agent.conf<\/code> \u0438\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u0435\u043c \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u043c \u0444\u0430\u0439\u043b\u0435 (\u0442\u043e\u0433\u0434\u0430 \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0444\u0430\u0439\u043b \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438)<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">'&lt;source&gt;   @type tail   path \/opt\/logs\/shorewall\/firewall.log   pos_file \/var\/log\/td-agent\/pos-firewall.pos   &lt;parse&gt;     @type syslog   &lt;\/parse&gt;   tag firewall.raw &lt;\/source&gt;  &lt;match firewall.raw.**&gt;     @type elasticsearch     host &lt;server_ip&gt;     port &lt;server_port&gt;     logstash_format true     logstash_prefix infra-vpn-01     flush_interval 10s     flush_thread_count 2 &lt;\/match&gt;<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u043e \u0441\u0443\u0442\u0438 \u043d\u0430\u0448 \u043b\u043e\u0433 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a <code>syslog<\/code>, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u043c\u044b \u0435\u0433\u043e \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c \u0438 \u0440\u0430\u0437\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u0430\u043a <code>syslog<\/code><\/p>\n<p>  <\/p>\n<p>\u0421\u043c\u043e\u0442\u0440\u0438\u043c \u0432 \u043a\u0438\u0431\u0430\u043d\u0443 \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qw\/kl\/dp\/qwkldplrztuc9vvqdsm_otcug2w.png\"><\/div>\n<p>  <\/p>\n<p>\u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0435\u0434 \u044d\u0442\u0438\u043c \u043d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u044b \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.<\/p>\n<p>  <\/p>\n<p>\u0421 Filebeat \u0432\u0441\u0435 \u0435\u0449\u0435 \u043f\u0440\u043e\u0449\u0435. \u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440.<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">#1 wget -qO - https:\/\/artifacts.elastic.co\/GPG-KEY-elasticsearch | sudo apt-key add -  #2 sudo apt-get install apt-transport-https  #3 sudo apt-get update &amp;&amp; sudo apt-get install filebeat  #4 sudo systemctl enable filebeat<\/code><\/pre>\n<p>  <\/p>\n<p>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u043c\u043e\u0434\u0443\u043b\u044c <code>iptables<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">filebeat modules enable iptables<\/code><\/pre>\n<p>  <\/p>\n<p>\u0418\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432 \u0441\u0430\u043c\u043e\u043c \u043c\u043e\u0434\u0443\u043b\u0435<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">nano \/etc\/filebeat\/modules.d\/iptables.yml   - module: iptables   log:     enabled: true     var.input: &quot;file&quot;     var.paths: [&quot;\/opt\/logs\/shorewall\/firewall.log&quot;]<\/code><\/pre>\n<p>  <\/p>\n<p>\u0418 \u0432 \u0444\u0430\u0439\u043b\u0435 <code>\/etc\/filebeat\/filebeat.yml<\/code> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430\u0448 Elasticsearch \u0441\u0435\u0440\u0432\u0435\u0440<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">output.elasticsearch:   hosts: [&quot;&lt;ip_address&gt;:9200&quot;]<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u043a \u0445\u043e\u0442\u0435\u043b \u0437\u0430\u0442\u0440\u043e\u043d\u0443\u0442\u044c \u0442\u0435\u043c\u0443 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438 Elasticsearch \u0438\u043b\u0438 \u043a\u0430\u043a \u0437\u0430\u0441\u0442\u0430\u0432\u0438\u0442\u044c Elasticsearch \u043f\u0440\u043e\u0436\u0435\u0432\u0430\u0442\u044c 7000 \u0448\u0430\u0440\u0434 \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u043d\u043e\u0434\u0435 \u0438 \u043d\u0435 \u043f\u043e\u043f\u0435\u0440\u0445\u043d\u0443\u0442\u044c\u0441\u044f \u043f\u0440\u0438 \u0445\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0430\u0445 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 RAM \u2014 10 Gb \u0438 vCPU \u2014 6.<\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u044d\u0442\u0443 \u0442\u0435\u043c\u0443 \u0435\u0441\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u0430 \u0438 \u0432\u0435\u0437\u0434\u0435 \u043f\u0438\u0448\u0443\u0442 \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u043e, \u0432 \u0444\u0430\u0439\u043b\u0435 <code>\/etc\/security\/limits.conf<\/code> \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u043b\u0438\u043c\u0438\u0442\u044b, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 <code>\/etc\/elasticsearch\/jvm.options<\/code> \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 <code>-Xms<\/code> \u0447\u0443\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u043b\u043e\u0432\u0438\u043d\u044b RAM. <\/p>\n<p>  <\/p>\n<p>\u0418 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c \u0432 \u043b\u0438\u043c\u0438\u0442\u0430\u0445 \u0443 \u043d\u0430\u0441 \u0441\u0442\u043e\u0438\u0442 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">elasticsearch   -      nofile         200000 elasticsearch    memlock 200000<\/code><\/pre>\n<p>  <\/p>\n<p>\u0438\u043b\u0438 \u0434\u0430\u0436\u0435 \u0442\u0430\u043a<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">* soft nofile 265536 * hard nofile 265536<\/code><\/pre>\n<p>  <\/p>\n<p>\u0438 \u043f\u043e\u0434\u043a\u0440\u0443\u0447\u0435\u043d \u043a\u043e\u043d\u0444\u0438\u0433 <code>\/etc\/elasticsearch\/elasticsearch.yml<\/code><\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">cluster.max_shards_per_node: 15000 xpack.ml.max_open_jobs: 100 cluster.routing.allocation.node_initial_primaries_recoveries: 10 thread_pool.search.queue_size: 100000 thread_pool.search.max_queue_size: 150000 thread_pool.search.size: 35 thread_pool.search.auto_queue_frame_size: 10000<\/code><\/pre>\n<p>  <\/p>\n<p>\u041d\u043e \u0443 \u043d\u0430\u0441 \u0432\u0441\u0435 \u0440\u0430\u0432\u043d\u043e \u0432\u044b\u0441\u043a\u0430\u043a\u0438\u0432\u0430\u0435\u0442 \u0438\u043d\u0434\u0435\u043a\u0441 \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">&quot;type&quot; : &quot;file_system_exception&quot;,    &quot;reason&quot; : &quot;\/mnt\/elk\/data\/nodes\/0\/indices\/SNMMbQeLRlW0y4Vi_V9L1Q\/3\/_state: Too many open files&quot;<\/code><\/pre>\n<p>  <\/p>\n<p>\u0422\u0443\u0442 \u0434\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0443 \u0441\u043b\u0443\u0436\u0431\u044b \u0441\u0432\u043e\u0438 \u043b\u0438\u043c\u0438\u0442\u044b \u0438 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u043e\u043d\u0438 \u0432 <code>\/etc\/systemd\/system\/elasticsearch.service.d\/elasticsearch.conf<\/code> \u0438\u043b\u0438 <code>\/etc\/systemd\/system\/multi-user.target.wants\/elasticsearch.service<\/code> \u0438 \u0437\u0434\u0435\u0441\u044c \u043a\u0430\u043a \u0440\u0430\u0437 \u043d\u0430\u043a\u0440\u0443\u0447\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f<\/p>\n<p>  <\/p>\n<pre><code class=\"bash\">LimitNOFILE=200000 LimitNPROC=4096 LimitAS=infinity LimitFSIZE=infinity<\/code><\/pre>\n<p>  <\/p>\n<p>\u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443\/\u0441\u0435\u0440\u0432\u0435\u0440 \u0438 \u0441\u043c\u043e\u0442\u0440\u0438\u043c \u043a\u0430\u043a 7000 \u0448\u0430\u0440\u0434 \u0440\u0430\u0441\u0444\u0430\u0441\u0443\u044e\u0442\u0441\u044f \u0437\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<p>  <\/p>\n<p>\u0412\u043e\u0442 \u0432 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0438 \u0432\u0441\u0435 \u0447\u0435\u043c \u044f \u0445\u043e\u0442\u0435\u043b \u0441 \u0432\u0430\u043c\u0438 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u0437\u0430\u0434\u0430\u0447\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0430 \u0432\u0435\u0441\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u043d\u0430\u043f\u0438\u0441\u0430\u043d, \u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0442\u0430\u043a \u0432 \u0447\u0435\u043c \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u043e\u0441\u0442\u044c? \u0410 \u043e\u043d\u0430 \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0432\u0430\u0441 \u043d\u0438\u043a\u0442\u043e \u043d\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u0432 \u0432\u044b\u0431\u043e\u0440\u0435 \u043c\u0435\u0441\u0442\u0430 \u0440\u0430\u0437\u0432\u043e\u0440\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432, \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0435\u0437\u0430\u0432\u0438\u0441\u0438\u043c\u044b\u0445 \u0442\u043e\u0447\u0435\u043a \u0432\u0445\u043e\u0434\u0430 \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438 \u043a\u0430\u0436\u0434\u044b\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e \u0441\u0432\u043e\u0435\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0435\u0439, \u0447\u0442\u043e \u0431\u044b \u044d\u0442\u043e \u0431\u044b\u043b\u043e \u043e\u0442\u043a\u0430\u0437\u043e\u0443\u0441\u0442\u043e\u0439\u0447\u0438\u0432\u044b\u043c \u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f\u043c \u0441\u0440\u0430\u0437\u0443 \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0443\u043c 2 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0438 \u0432\u0441\u0435. <\/p>\n<p>  <\/p>\n<p>\u041d\u0430 \u044d\u0442\u043e\u043c, \u043f\u043e\u0436\u0430\u043b\u0443\u0439, \u0438 \u0437\u0430\u043a\u043e\u043d\u0447\u0443.<\/p>\n<p>  <\/p>\n<p>\u0412\u0441\u0435\u043c \u0441\u043f\u0430\u0441\u0438\u0431\u043e \u0437\u0430 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435!<\/p>\n<p>  <\/p>\n<h2 id=\"ispolzuemye-istochniki\">\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438:<\/h2>\n<p>  <\/p>\n<p>WireGuard \u2014 <a href=\"https:\/\/www.wireguard.com\" rel=\"nofollow\">https:\/\/www.wireguard.com<\/a><\/p>\n<p>  <\/p>\n<p>Shorewall \u2014 <a href=\"https:\/\/shorewall.org\" rel=\"nofollow\">https:\/\/shorewall.org<\/a><\/p>\n<p>  <\/p>\n<p>TightVNC \u2014 <a href=\"https:\/\/www.tightvnc.com\/download.php\" rel=\"nofollow\">https:\/\/www.tightvnc.com\/download.php<\/a><\/p>\n<p>  <\/p>\n<p>GitLab runners \u2014 <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/runners\/\" rel=\"nofollow\">https:\/\/docs.gitlab.com\/ee\/ci\/runners\/<\/a><\/p>\n<p>  <\/p>\n<p>Linux firewall log format \u2014 <a href=\"http:\/\/www.stearns.org\/doc\/william_stearns_gcia.html#iptablesformat\" rel=\"nofollow\">http:\/\/www.stearns.org\/doc\/william_stearns_gcia.html#iptablesformat<\/a><\/p>\n<p>  <\/p>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u044b\u0445 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439 \u2014 <a href=\"https:\/\/rubular.com\/\" rel=\"nofollow\">https:\/\/rubular.com\/<\/a><\/p>\n<p>  <\/p>\n<p>Fluentd \u2014 <a href=\"https:\/\/docs.fluentd.org\/installation\/before-install\" rel=\"nofollow\">https:\/\/docs.fluentd.org\/installation\/before-install<\/a><\/p>\n<p>  <\/p>\n<p>Filebeat Iptables module \u2014 <a href=\"https:\/\/www.elastic.co\/guide\/en\/beats\/filebeat\/master\/filebeat-module-iptables.html\" rel=\"nofollow\">https:\/\/www.elastic.co\/guide\/en\/beats\/filebeat\/master\/filebeat-module-iptables.html<\/a><\/p>\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\/527404\/\"> https:\/\/habr.com\/ru\/post\/527404\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\n<p>\u041f\u0440\u0438\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435, \u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043e \u0441\u0432\u043e\u0435\u043c \u043e\u043f\u044b\u0442\u0435 \u043f\u043e\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0435\u0439 \u0441\u0435\u0442\u0438 \u043d\u0435 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u043a \u043e\u0444\u0438\u0441\u043d\u043e\u043c\u0443 \u043e\u0431\u043e\u0440\u0443\u0434\u043e\u0432\u0430\u043d\u0438\u044e \u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u043f\u0440\u0438 \u0435\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c \u0443\u0441\u043b\u043e\u0432\u0438\u0438, \u0447\u0442\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d \u0438\u043d\u0442\u0435\u0440\u043d\u0435\u0442. \u0421 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0432 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 <code>vpn<\/code> \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u043a \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0438 \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u0432 \u0441\u0435\u0442\u044c \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u0430. \u0418 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0441\u0435\u043c \u044d\u0442\u0438\u043c \u0438\u0437 \u043e\u0434\u043d\u043e\u0433\u043e \u043c\u0435\u0441\u0442\u0430 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0438\u043b\u0438 \u0443\u0434\u043e\u0431\u043d\u044b\u0439 GUI.<\/p>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/qs\/4d\/8u\/qs4d8uayvdggmqbm3wh872zfugc.jpeg\"><\/div>\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-312918","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312918","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=312918"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/312918\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=312918"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=312918"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=312918"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}