{"id":320680,"date":"2021-04-01T15:00:40","date_gmt":"2021-04-01T15:00:40","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=320680"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=320680","title":{"rendered":"\u0421\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f OpenVPN \u0441\u0435\u0440\u0432\u0435\u0440\u0430, \u0438\u043b\u0438 \u043a\u0430\u043a \u043e\u0434\u0438\u043d \u0430\u0434\u043c\u0438\u043d \u0443\u0434\u0430\u043b\u0435\u043d\u043a\u0443 \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u043b"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/pv\/f7\/ug\/pvf7ugllmhatkath2lm3l4_rbfu.jpeg\" alt=\"image\"><br \/>  \u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438! \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438 \u0443 \u0432\u0441\u0435\u0445 \u0431\u044b\u043b \u0432\u044b\u0431\u043e\u0440, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f \u0432\u044b\u0431\u0440\u0430\u043b OpenVPN. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0434\u0440\u0443\u0433\u0438\u043c, (\u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0435\u0431\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e), \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ovpn \u043d\u0430 centos 8 \u0441 \u043d\u0443\u043b\u044f, \u0431\u0435\u0437 \u0437\u0430\u043c\u043e\u0440\u043e\u0447\u0435\u043a.<br \/>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u043c\u0441\u044f \u043f\u043e\u0434 \u043a\u0430\u0442, \u0442\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f.<br \/>  <a name=\"habracut\"><\/a><br \/>  \u0412\u0435\u0441\u044c \u0441\u043a\u0440\u0438\u043f\u0442 \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d \u043d\u0430 \u043e\u0431\u0449\u0435\u043d\u0438\u0435 \u0441 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c. \u042d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u043e\u0431\u043b\u0435\u0433\u0447\u0430\u0435\u0442 \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u0435.<br \/>  \u0412\u043a\u0440\u0430\u0442\u0446\u0435. \u0421\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c openvpn, \u043d\u0443\u0436\u0435\u043d \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0434\u043b\u044f \u043e\u0431\u043c\u0435\u043d\u0430 \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0430\u043c\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u0434\u0430\u0432\u0430\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043f\u043e ssh\\ftp \u0442\u0435\u043c, \u043a\u043e\u043c\u0443 \u043d\u0443\u0436\u043d\u043e \u0438\u0445 \u0441\u043a\u0430\u0447\u0430\u0442\u044c.<br \/>  \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u043d\u0430 \u0447\u0438\u0441\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u044b \u0434\u043b\u044f \u0443\u043c\u0435\u043d\u044c\u0448\u0435\u043d\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u201c\u043d\u0430 \u0434\u0443\u0440\u0430\u043a\u0430\u201d. \u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0443\u0442\u0438\u043b\u0438\u0442 \u0441\u0430\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c.<br \/>  \u0412 \u044d\u0442\u043e\u043c \u0441\u043a\u0440\u0438\u043f\u0442\u0435 selinux \u043d\u0430\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f, \u0430 \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u0442\u0441\u044f. \u0418\u0437 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043e\u0441\u0442\u0430\u044e\u0442\u0441\u044f \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a \u0444\u0430\u0439\u043b\u0430 vars, \u0430 \u0442\u0430\u043a\u0436\u0435 \u043f\u043e\u0440\u0442, \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b, ip-\u0430\u0434\u0440\u0435\u0441, \u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439. \u041a\u043e \u0432\u0441\u0435\u043c \u0432\u043e\u043f\u0440\u043e\u0441\u0430\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e, \u0435\u0441\u0442\u044c \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435. \u041e\u0441\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u0442 \u043f\u043e \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u0439 \u043f\u0440\u043e\u0446\u0435\u0434\u0443\u0440\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 OpenVPN \u0441\u0435\u0440\u0432\u0435\u0440\u0430. \u0425\u043e\u0442\u0435\u043b \u0441\u0434\u0435\u043b\u0430\u0442\u044c silent \u0440\u0435\u0436\u0438\u043c, \u043d\u043e \u0434\u0443\u043c\u0430\u044e \u044d\u0442\u043e \u0443\u0436\u0435 \u043b\u0438\u0448\u043d\u0435\u0435. \u0413\u043e\u0442\u043e\u0432\u044b\u0435 \u0444\u0430\u0439\u043b\u044b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0432 \u043f\u0430\u043f\u043a\u0443 \/home\/openvpn\/ ready_conf. \u041e\u043d\u0438 \u0443\u0436\u0435 \u0433\u043e\u0442\u043e\u0432\u044b \u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044e.<br \/>   \u0421\u043a\u0440\u0438\u043f\u0442 \u0437\u0434\u0435\u0441\u044c, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0435\u0441\u0442\u044c \u043d\u0430 <a href=\"https:\/\/github.com\/AlexVlan\/OpenVPN\/blob\/main\/create_openvpn_server_centos8_v0_3.sh\" rel=\"nofollow noopener noreferrer\">github <\/a><br \/>  \u041d\u0430 centos 7 \u0437\u0430\u043c\u0435\u043d\u043e\u0439 dnf \u043d\u0430 yum \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b. \u0415\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0436\u0435\u043b\u0430\u043d\u0438\u0435 \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c, \u043f\u043e\u0442\u043e\u043c \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0435\u0442\u0435.   <\/p>\n<div class=\"spoiler\" role=\"button\" tabindex=\"0\">                         <b class=\"spoiler_title\">\u0421\u043a\u0440\u0438\u043f\u0442 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438<\/b>                         <\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"bash\">#!\/bin\/bash echo &quot;\u042d\u0442\u043e\u0442 \u0441\u043a\u0440\u0438\u043f\u0442 \u0441\u043e\u0437\u0434\u0430\u0441\u0442 OpenVPN \u0441\u0435\u0440\u0432\u0435\u0440 \u0441 \u043d\u0443\u043b\u044f, \u043e\u0442 \u0432\u0430\u0441 \u043f\u043e\u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0443\u043a\u0430\u0437\u0430\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u0438 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438&quot; echo &quot;\u041a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u043f\u0443\u043d\u043a\u0442\u0443 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u0435&quot; echo &quot;\u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f openvpn&quot;       #\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u043d\u043e\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f openvpn \u0441 \u043f\u0440\u0430\u0432\u0430\u043c\u0438 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u0430       #\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435, \u0434\u043b\u044f \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u044f \u043e\u0448\u0438\u0431\u043e\u043a \u043f\u0440\u0438 \u043f\u043e\u0432\u0442\u043e\u0440\u043d\u043e\u043c \u0437\u0430\u043f\u0443\u0441\u043a\u0435 username=openvpn #\u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f client_name=client #\u0438\u043c\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430 answer=y #\u043e\u0442\u0432\u0435\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f grep &quot;^$username:&quot; \/etc\/passwd &gt;\/dev\/null if [[ $? -ne 0 ]]; then    adduser openvpn; usermod -aG wheel openvpn; passwd openvpn    echo &quot;\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u043e\u0437\u0434\u0430\u043d&quot; else    echo &quot;\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0435&quot; fi       #\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e echo &quot;\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e. \u041f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0449\u0435 \u043f\u043e \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438&quot; read quantity_client       #\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430-\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0447\u0438\u0441\u043b\u043e, \u0438\u043d\u0430\u0447\u0435 \u0441\u043d\u0430\u0447\u0430\u043b\u0430 if [[ $quantity_client =~ ^[0-9]+$ ]]; then   #\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432    echo &quot;\u0411\u0443\u0434\u0443\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u043e &quot;$quantity_client&quot; \u043a\u043b\u0438\u0435\u043d\u0442\u0441\u043a\u0438\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439 \u0441 \u0438\u043c\u0435\u043d\u0430\u043c\u0438 &quot;$client_name&quot;[X].ovpn&quot; else    echo &quot;\u0432\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 \u0441\u0438\u043c\u0432\u043e\u043b \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0447\u0438\u0441\u043b\u043e\u043c, \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0441\u043d\u043e\u0432\u0430&quot;    echo &quot;\u041f\u043e\u043f\u0440\u043e\u0431\u043e\u0432\u0430\u0442\u044c \u0441\u043d\u043e\u0432\u0430? (y\/n\/e)&quot;    read answer    case $answer in            &quot;y&quot;)               $0               ;;            &quot;n&quot;)               echo &quot;bye&quot;               exit               ;;            &quot;e&quot;)               exit               ;;             *)               echo &quot;error&quot;               ;;    esac fi echo '\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043c \u0443\u0442\u0438\u043b\u0438\u0442\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u0434\u043b\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b' dnf install wget -y; dnf install tar -y; dnf install zip -y       #\u041d\u0430\u0447\u0438\u043d\u0430\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443. \u041f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043c \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0439 \u0438 \u0441\u043a\u0430\u0447\u0430\u0435\u043c \u0441\u0430\u043c \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432 dnf install epel-release -y; sudo dnf install openvpn -y       #\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430\u043b\u0438\u0447\u0438\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 openvpn \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0442\u043e \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0437\u0430\u043d\u043e\u0432\u043e, \u0438\u043d\u0430\u0447\u0435 \u0441\u043e\u0437\u0434\u0430\u0435\u043c if [[ -e \/etc\/openvpn ]]; then    rm -rf \/etc\/openvpn    mkdir \/etc\/openvpn; mkdir \/etc\/openvpn\/keys; chown -R openvpn:openvpn \/etc\/openvpn    echo &quot;\u0423\u0434\u0430\u043b\u0435\u043d\u0430 \u0441\u0442\u0430\u0440\u0430\u044f \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f openvpn, \u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f&quot; else    mkdir \/etc\/openvpn; mkdir \/etc\/openvpn\/keys; chown -R openvpn:openvpn \/etc\/openvpn    echo &quot;\u0441\u043e\u0437\u0434\u0430\u043d\u0430 \u043d\u043e\u0432\u0430\u044f \u0434\u0438\u0440\u043a\u0442\u043e\u0440\u0438\u044f openvpn&quot; fi       #\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c easy-rsa wget -P \/etc\/openvpn https:\/\/github.com\/OpenVPN\/easy-rsa\/releases\/download\/v3.0.8\/EasyRSA-3.0.8.tgz tar -xvzf \/etc\/openvpn\/EasyRSA-3.0.8.tgz -C \/etc\/openvpn rm -rf \/etc\/openvpn\/EasyRSA-3.0.8.tgz       #\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0444\u0430\u0439\u043b vars, \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f touch \/etc\/openvpn\/EasyRSA-3.0.8\/vars       #\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0434\u043b\u044f vars echo &quot;\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0432&quot; echo &quot;\u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0443\u043d\u043a\u0442\u0430 \u0435\u0441\u0442\u044c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0438\u0445 \u043c\u043e\u0436\u043d\u043e \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c&quot; echo &quot;\u0421\u0442\u0440\u0430\u043d\u0430(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e RH):&quot;; read country if [[ -z $country ]]; then    country=&quot;RH&quot; fi echo &quot;\u0420\u0430\u0437\u043c\u0435\u0440 \u043a\u043b\u044e\u0447\u0430(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 2048):&quot;; read key_size if [[ $key_size =~ ^[0-9]+$ ]]; then #\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0447\u0438\u0441\u043b\u043e    echo &quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u0440\u0430\u0437\u043c\u0435\u0440 \u043a\u043b\u044e\u0447\u0430:&quot; $key_size else    key_size=2048; echo &quot;\u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043a\u043b\u044e\u0447\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e&quot; fi echo &quot;\u0423\u043a\u0430\u0436\u0438\u0442\u0435 \u043e\u0431\u043b\u0430\u0441\u0442\u044c\\\u043a\u0440\u0430\u0439(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Tegucigalpa&quot;; read province if [[ -z $province ]]; then    province=&quot;Tegucigalpa&quot; fi echo &quot;\u0413\u043e\u0440\u043e\u0434(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e Tegucigalpa)&quot;; read city if [[ -z $city ]]; then    city=&quot;Tegucigalpa&quot; fi echo &quot;email(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e temp@mass.hn)&quot;; read mail if [[ -z $mail ]]; then    mail=&quot;temp@mass.hn&quot; fi echo &quot;\u0441\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430, \u0434\u043d\u0435\u0439(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 3650\/10 \u043b\u0435\u0442): &quot;; read expire if [[ $expire =~ ^[0-9]+$ ]]; then    echo &quot;\u0421\u0440\u043e\u043a \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430&quot; $expire &quot;\u0434\u043d\u0435\u0439&quot; else    expire=3650 fi       #\u041d\u0430\u0431\u0438\u0432\u0430\u0435\u043c vars cat &lt;&lt;EOF &gt; \/etc\/openvpn\/EasyRSA-3.0.8\/vars set_var EASYRSA_REQ_COUNTRY $country set_var EASYRSA_KEY_SIZE $key_size set_var EASYRSA_REQ_PROVINCE $province set_var EASYRSA_REQ_CITY $city set_var EASYRSA_REQ_ORG $domain_name set_var EASYRSA_REQ_EMAIL $mail set_var EASYRSA_REQ_OU $domain_name set_var EASYRSA_REQ_CN changeme set_var EASYRSA_CERT_EXPIRE $expire set_var EASYRSA_DH_KEY_SIZE $key_size EOF       #\u0422\u0435\u043f\u0435\u0440\u044c \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u043c \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043f\u0443\u0431\u043b\u0438\u0447\u043d\u044b\u0445 \u043a\u043b\u044e\u0447\u0435\u0439 cd \/etc\/openvpn\/; \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa init-pki       #\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0432\u043e\u0439 \u043a\u043b\u044e\u0447 \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa build-ca nopass       #\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa build-server-full server_cert nopass       #\u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0414\u0438\u0444\u0444\u0438 \u0425\u0435\u043b\u043c\u0430\u043d\u0430 \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa gen-dh       #crl \u0434\u043b\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445\/\u043e\u0442\u043e\u0437\u0432\u0430\u043d\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u0445 \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa gen-crl       #\u0422\u0435\u043f\u0435\u0440\u044c \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432\u0441\u0435 \u0447\u0442\u043e \u0441\u043e\u0437\u0434\u0430\u043b\u0438 \u0432 \u043f\u0430\u043f\u043a\u0443 keys cp \/etc\/openvpn\/pki\/ca.crt \/etc\/openvpn\/pki\/crl.pem \/etc\/openvpn\/pki\/dh.pem \/etc\/openvpn\/keys\/ cp \/etc\/openvpn\/pki\/issued\/server_cert.crt \/etc\/openvpn\/keys\/ cp \/etc\/openvpn\/pki\/private\/server_cert.key \/etc\/openvpn\/keys\/        #\u041f\u043e\u043b\u0443\u0447\u0438\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 server.conf echo &quot;\u0421\u0435\u0439\u0447\u0430\u0441 \u0441\u043e\u0431\u0435\u0440\u0435\u043c \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044e \u0434\u043b\u044f \u0444\u0430\u0439\u043b\u0430 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430.&quot; echo &quot;\u041f\u043e\u0440\u0442(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e 1194):&quot;; read port_num if [[ $port_num =~ ^[0-9]+$ ]]; then #\u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u0447\u0438\u0441\u043b\u043e    echo &quot;\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u043e\u0440\u0442:&quot; $port_num else    port_num=1194; echo &quot;\u041d\u043e\u043c\u0435\u0440 \u043f\u043e\u0440\u0442\u0430 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e&quot; echo &quot;\u041f\u0440\u043e\u0442\u043e\u043a\u043e\u043b(\u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e udp)\u0434\u043b\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 tcp \u0432\u0432\u0435\u0434\u0438\u0442\u0435 1&quot;; read protocol fi if [[ $protocol -eq 1 ]]; then    protocol=&quot;tcp&quot;    echo &quot;\u0412\u044b\u0431\u0440\u0430\u043d \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b tcp&quot; else    protocol=&quot;udp&quot;    echo &quot;\u0412\u044b\u0431\u0440\u0430\u043d \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b udp&quot; fi       #\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0438 \u0444\u0430\u0439\u043b\u044b \u0434\u043b\u044f \u043b\u043e\u0433\u043e\u0432 mkdir \/var\/log\/openvpn touch \/var\/log\/openvpn\/{openvpn-status,openvpn}.log; chown -R openvpn:openvpn \/var\/log\/openvpn       #\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u0435 \u0442\u0440\u0430\u0444\u0438\u043a\u0430 echo net.ipv4.ip_forward=1 &gt;&gt;\/etc\/sysctl.conf sysctl -p \/etc\/sysctl.conf       #\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c selinux dnf install policycoreutils-python-utils -y dnf install setroubleshoot -y semanage port -a -t openvpn_port_t -p $protocol $port_num \/sbin\/restorecon -v \/var\/log\/openvpn\/openvpn.log \/sbin\/restorecon -v \/var\/log\/openvpn\/openvpn-status.log       #\u041d\u0430\u0441\u0442\u0440\u043e\u0438\u043c firewalld firewall-cmd --add-port=&quot;$port_num&quot;\/&quot;$protocol&quot; firewall-cmd --zone=trusted --add-source=172.31.1.0\/24 firewall-cmd --permanent --add-port=&quot;$port_num&quot;\/&quot;$protocol&quot; firewall-cmd --permanent --zone=trusted --add-source=172.31.1.0\/24 firewall-cmd --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0\/24 -j MASQUERADE firewall-cmd --permanent --direct --add-rule ipv4 nat POSTROUTING 0 -s 172.31.1.0\/24 -j MASQUERADE systemctl restart firewalld      #\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c server.conf mkdir \/etc\/openvpn\/server touch \/etc\/openvpn\/server\/server.conf #chmod -R a+r \/etc\/openvpn cat &lt;&lt;EOF &gt; \/etc\/openvpn\/server\/server.conf port $port_num proto $protocol dev tun ca \/etc\/openvpn\/keys\/ca.crt cert \/etc\/openvpn\/keys\/server_cert.crt key \/etc\/openvpn\/keys\/server_cert.key dh \/etc\/openvpn\/keys\/dh.pem crl-verify \/etc\/openvpn\/keys\/crl.pem topology subnet server 172.31.1.0 255.255.255.0 route 172.31.1.0 255.255.255.0 push &quot;route 172.31.1.0 255.255.255.0&quot; push &quot;dhcp-option DNS 8.8.8.8&quot; push &quot;dhcp-option DNS 8.8.4.4&quot; keepalive 10 120 persist-key persist-tun status \/var\/log\/openvpn\/openvpn-status.log log-append \/var\/log\/openvpn\/openvpn.log verb 2 mute 20 daemon mode server user nobody group nobody EOF echo &quot;\u0414\u043e\u0431\u0430\u0432\u0438\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0432 \u0430\u0432\u0442\u043e\u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u043c&quot; sudo systemctl enable openvpn-server@server sudo systemctl start openvpn-server@server sudo systemctl status openvpn-server@server        #\u041d\u0430\u0447\u043d\u0435\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432       #\u0414\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044f \u0434\u043b\u044f \u0433\u043e\u0442\u043e\u0432\u044b\u0445 \u043a\u043e\u043d\u0444\u0438\u0433\u043e\u0432 mkdir \/home\/openvpn\/ready_conf echo &quot;IP \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0430\u0442\u044c\u0441\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u0430\u043c \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 111.111.111.111&quot;; read ip_adress       #\u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0442\u0435\u043c\u043f\u043e\u0432\u044b\u0439 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u043a\u043b\u0438\u0435\u043d\u0442\u0430 \u0441 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 touch \/home\/openvpn\/temp_conf_client.txt cat &lt;&lt;EOF &gt; \/home\/openvpn\/temp_conf_client.txt client dev tun proto $protocol remote $ip_adress $port_num persist-key persist-tun verb 3 route-method exe route-delay 2 EOF       #\u0442\u0435\u043f\u0435\u0440\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044f \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432 create_client () {    cd \/etc\/openvpn\/    \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa build-client-full &quot;$client_name$quantity_client&quot; nopass    cp \/home\/openvpn\/temp_conf_client.txt \/home\/openvpn\/ready_conf\/&quot;$client_name$quantity_client&quot;'.ovpn' {    echo &quot;&lt;ca&gt;&quot;; cat &quot;\/etc\/openvpn\/pki\/ca.crt&quot;; echo &quot;&lt;\/ca&gt;&quot;    echo &quot;&lt;cert&gt;&quot;; awk '\/BEGIN\/,\/END\/' &quot;\/etc\/openvpn\/pki\/issued\/$client_name$quantity_client.crt&quot;; echo &quot;&lt;\/cert&gt;&quot;    echo &quot;&lt;key&gt;&quot;; cat &quot;\/etc\/openvpn\/pki\/private\/$client_name$quantity_client.key&quot;; echo &quot;&lt;\/key&gt;&quot;    echo &quot;&lt;dh&gt;&quot;; cat &quot;\/etc\/openvpn\/pki\/dh.pem&quot;; echo &quot;&lt;\/dh&gt;&quot; } &gt;&gt; &quot;\/home\/openvpn\/ready_conf\/&quot;$client_name$quantity_client&quot;.ovpn&quot;  }        #\u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043a\u043b\u0438\u0435\u043d\u0442\u043e\u0432, \u043f\u043e \u0441\u0447\u0435\u0442\u0447\u0438\u043a\u0443 while [[ $quantity_client -ne 0 ]]; do    create_client    let &quot;quantity_client=$quantity_client-1&quot; done \/etc\/openvpn\/EasyRSA-3.0.8\/easyrsa gen-crl #\u0433\u0435\u043d\u0435\u0440\u0438\u0440\u0443\u0435\u043c crl \u0434\u043b\u044f \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438 \u043e\u0431 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0445 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u0445 cp \/etc\/openvpn\/pki\/crl.pem \/etc\/openvpn\/keys\/ #\u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u044e \u0441 \u0430\u043a\u0442\u0438\u0432\u043d\u044b\u043c\u0438 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u0430\u043c\u0438 sudo systemctl restart openvpn-server@server #\u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440, \u0434\u043b\u044f \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f crl cd \/home\/openvpn\/ready_conf\/; ls -alh .\/ echo &quot;\u0441\u0435\u0439\u0447\u0430\u0441 \u0432\u044b \u0432 \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0441 \u0433\u043e\u0442\u043e\u0432\u044b\u043c\u0438 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0439, \u0438\u0445 \u0443\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c&quot; echo &quot;\u0441\u043a\u0440\u0438\u043f\u0442 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d \u0443\u0441\u043f\u0435\u0448\u043d\u043e&quot; exec bash  <\/code><\/pre>\n<p>  <\/div>\n<\/p><\/div>\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\/550206\/\"> https:\/\/habr.com\/ru\/post\/550206\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/pv\/f7\/ug\/pvf7ugllmhatkath2lm3l4_rbfu.jpeg\" alt=\"image\"><br \/>  \u0414\u043e\u0431\u0440\u043e\u0433\u043e \u0434\u043d\u044f, \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438! \u0412\u043e \u0432\u0440\u0435\u043c\u044f \u043f\u0430\u043d\u0434\u0435\u043c\u0438\u0438 \u0443 \u0432\u0441\u0435\u0445 \u0431\u044b\u043b \u0432\u044b\u0431\u043e\u0440, \u0447\u0442\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u0430\u0446\u0438\u0438 \u0443\u0434\u0430\u043b\u0435\u043d\u043d\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0443\u043f\u0430. \u042f \u0432\u044b\u0431\u0440\u0430\u043b OpenVPN. \u0427\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0434\u0440\u0443\u0433\u0438\u043c, (\u0432 \u043f\u0435\u0440\u0432\u0443\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c \u0441\u0435\u0431\u0435, \u043a\u043e\u043d\u0435\u0447\u043d\u043e), \u0431\u044b\u043b \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u043a\u0440\u0438\u043f\u0442 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0439 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 Ovpn \u043d\u0430 centos 8 \u0441 \u043d\u0443\u043b\u044f, \u0431\u0435\u0437 \u0437\u0430\u043c\u043e\u0440\u043e\u0447\u0435\u043a.<br \/>  \u0418\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u043c\u0441\u044f \u043f\u043e\u0434 \u043a\u0430\u0442, \u0442\u0430\u043c \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u0438\u0435 \u043f\u043e\u044f\u0441\u043d\u0435\u043d\u0438\u044f.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-320680","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/320680","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=320680"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/320680\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=320680"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=320680"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=320680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}