{"id":83,"date":"2022-12-06T11:48:23","date_gmt":"2022-12-06T03:48:23","guid":{"rendered":"https:\/\/vm1.go2see.me\/?p=83"},"modified":"2023-04-07T11:08:08","modified_gmt":"2023-04-07T03:08:08","slug":"83","status":"publish","type":"post","link":"https:\/\/vm1.go2see.me\/?p=83","title":{"rendered":"\u7532\u9aa8\u6587\u514d\u8cbb\u67b6\u7ad9\u7d00\u9304"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/v2-18ec038356e3aa0fa78ae647de338889_r-1024x341.jpg\" alt=\"\" \/><br \/>\n<em>(\u5b98\u7f51\u622a\u56fe)<\/em><\/p>\n<p><strong>\u76ee\u9304<\/strong><\/p>\n<p>[toc]<\/p>\n<h1>0 \u5728Oracle\u57fa\u5730\u514d\u8cbb\u67b6\u7ad9\uff08\u5927\u962a\uff09<\/h1>\n<h2>0.1 \u514d\u8cbb\u7d04\u5b9a<\/h2>\n<ul>\n<li><strong><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u6c38\u4e45\u514d\u8cbb\u7b97\u529b<\/span><\/strong>\uff1a\u63d0\u4f9b\u5169\u53f0 1\/8 OCPU\u6027\u80fd\u30011GB RAM \u7684\u6c38\u4e45\u514d\u8cbb x86 \u865b\u64ec\u4e3b\u6a5f\uff08V M\uff09\u53ef\u9078\u7528\u3002<\/p>\n<\/li>\n<li>\n<p><strong><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u6c38\u4e45\u514d\u8cbb\u5b58\u5132<\/span><\/strong>\uff1a200GB\u514d\u8cbb\u7a7a\u9593\u3002\u6bcf\u53f0VM\u7684\u5f15\u5c0e\u5b58\u5132\u7684\u8981\u6c42\u70ba50GB\u4ee5\u4e0a\uff0c\u6240\u4ee5\u6700\u591a\u53ef\u958b\u555f200\/50=4\u53f0\u514d\u8cbbVM\u3002<\/p>\n<\/li>\n<li>\n<p><strong><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u6bcf\u6708\u984d\u5916\u514d\u8cbbARM\u904b\u884c\u6642<\/span><\/strong>\uff1a\u63d0\u4f9b4\u500b\u71b1\u9580\u7684Ampere ARM OCPU \u670d\u52d9\u3001\u5e3624GB \u7684RAM\u3002\u53ef\u96a8\u610f\u958b\u4e00\u5230\u56db\u53f0\u7684ARM\u865b\u64ec\u4e3b\u6a5f\u3002<\/p>\n<\/li>\n<li>\n<p><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\"><strong>\u516c\u7db2IP<\/strong><\/span>\uff1a\u56db\u500bIPV4\u5730\u5740(3\u500b\u81e8\u6642\u5730\u5740+1\u500b\u9810\u7559\u5730\u5740)\uff0cIPV6\u5730\u5740\u662f\/16\u7684\u6578\u91cf\u3002\u5efa\u7acbVM\u6642\u53ef\u4ee5\u81e8\u6642\u8981\u65b0IP\uff0cIP\u6709\u554f\u984c\u6642\u53ef\u4ee5\u66f4\u63db\u3002\u5728\u8a2d\u5b9aIP\u6642\u53ef\u4ee5\u540c\u6642\u4fdd\u7559\u5230\u201c\u9810\u7559\u7684\u516c\u5171IP\u201d\u6c60\uff0c\u91cd\u704cVPS\u6642\u53ef\u5230\u201c\u9884\u7559\u7684\u516c\u5171IP\u201d\u53d6\u7fd2\u6163\u7528\u7684\u820aIP\uff0c\u9019\u6a23DNS\u4e0d\u5fc5\u70ba\u6b64\u4fee\u6539IP\u8a2d\u5b9a\u3002<\/p>\n<\/li>\n<li>\n<p><strong><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u514d\u8cbb\u6d41\u91cf<\/span><\/strong>\uff1a10T\/\u6708\u51fa\u7ad9\u6d41\u91cf\uff0c\u5920\u4f5b\u5fc3\u7684\uff0c\u73fe\u5728\u7684\u7db2\u901f\u5e7e\u4e4e\u7528\u4e0d\u5b8c\u3002\u3002\u3002<\/p>\n<\/li>\n<li>\n<p>\u5176\u4ed6\u7532\u9aa8\u6587\u514d\u8cbb\u8cc7\u6e90\uff1a\u9664\u4e86VM\u5be6\u4f8b\uff0c\u5176\u4ed6\u7532\u9aa8\u6587\u670d\u52d9\u76ee\u524d\u6211\u7684VPS\u7528\u4e0d\u4e0a\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017160355373-1024x824.png\" alt=\"\" \/><\/p>\n<p>(\u5b98\u7f51\u622a\u56fe)<\/p>\n<\/li>\n<\/ul>\n<p>\u7532\u9aa8\u6587\u96f2\u6700\u591a\u63d0\u4f9b\u5169\u53f0\u6c38\u4e45\u514d\u8cbbx86\u865b\u64ec\u6a5f\uff08VM\uff09\uff0c\u6bcf\u53f01GRAM\uff0c1\/8 CPU\u3002\u53e6\u5916\u9084\u6709\u6bcf\u6708\u8d08\u514d\u8cbb\uff08\u975e\u6c38\u4e45\uff09\u4f7f\u7528\u6642\u6578\u7684ARM\u865b\u64ec\u6a5f\u5668\u3002\u514d\u8cbb\u6642\u6578\u63db\u7b97\u5f8c\uff0c\u5728\u76ee\u524d\u653f\u7b56\u4e0b\uff0c\u76f8\u7576\u65bc 4\u6838\/24G RAM \u4ee5\u4e0b\u7684 ARM \u865b\u64ec\u6a5f\u80fd\u6301\u7e8c\u514d\u8cbb\u3002\u6bcf\u670810T\u514d\u8cbb\u6d41\u91cf\uff0c\u505a\u666e\u901a\u7db2\u7ad9\u9084\u4e0d\u932f\u3002<\/p>\n<p><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\"><strong>\u5728\u4e00\u500b\u6708\u5167\u7121\u9650\u514d\u8cbb\u7684\u689d\u4ef6\u4e0b\uff0c\u53ef\u4ee5\u5118\u91cf\u591a\u505a\u5617\u8a66\uff0c\u627e\u5230\u6700\u9069\u5408\u81ea\u5df1\u7684\u514d\u8cbb\u67b6\u7ad9\u898f\u5283\u3002<\/strong><\/span><\/p>\n<p><em>\u53c3\u8003\uff1a<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/zhuanlan.zhihu.com\/p\/416709744?ivk_sa=1024320u\">\u7532\u9aa8\u6587\u6c38\u4e45\u514d\u8d39vps\u6ce8\u518c\u548c\u4f7f\u7528\u7b80\u5355\u6559\u7a0b<\/a> \u67b6\u7ad9\u3002<\/em><\/p>\n<h2>0.2 \uff08\u6211\u7684\uff09\u67b6\u7ad9\u898f\u5283<\/h2>\n<p>\u7531\u65bcOracle\u670d\u52d9\u9700\u8981\u7d81\u5b9a\u4fe1\u7528\u5361\uff0c\u5e33\u6236\u5728\u7533\u8acb\u6642\uff0c\u5c31\u5fc5\u9808\u9078\u5b9a\u57fa\u5730\u4f4d\u7f6e\u4e0d\u80fd\u6539\uff0c\u800c\u5927\u90e8\u5206\u514d\u8cbb\u8cc7\u6e90\uff0c\u53ea\u80fd\u5728\u57fa\u5730\u4f4d\u7f6e\u6709\u6548\u6240\u4ee5\u57fa\u5730\u7684\u4f4d\u7f6e\u9078\u64c7\u9700\u8981\u614e\u91cd\u4e9b\u3002\u5927\u9678\u4fe1\u7528\u5361\u4f3c\u4e4e\u5be9\u6838\u6bd4\u8f03\u96e3\uff0c\u53f0\u7063\u4fe1\u7528\u5361\u5be9\u6838\u7121\u58d3\u529b\u3002<\/p>\n<p>\u96e2\u53f0\u7063\u6700\u8fd1\u7684\u5c31\u662f\u65e5\u672c\u4e86\uff0c\u4f46\u4e0d\u662f\u6bcf\u500bOracle\u57fa\u5730\u90fd\u6709\u8db3\u5920\u7684\u67b6\u7ad9\u8cc7\u6e90\uff0c\u64da\u8aaa\u6771\u4eac\u5c31\u5f88\u96e3\u7533\u8acb\u5230\uff0c\u6211\u5728\u5927\u962a\u7533\u8acb\u7684\u662fOK\u7684\uff0c\u53ef\u4ee5\u5bb9\u6613\u7684\u53d6\u5f97ARM\u548cx86\u8cc7\u6e90\uff082022\/10\uff09\uff0c\u67d0\u4e9b\u4eba\u62ff\u4f86\u505a\u65e5\u672c\u904a\u6232\u670d\u52d9\u5668\u7684\u8df3\u677f\uff0c\u665a\u4e0a\u7684\u7db2\u8def\u660e\u986f\u6703\u58c5\u585e\u4e9b\u3002<\/p>\n<p>\u9cf3\u51f0\u57ce\u8cc7\u6e90\u4fdd\u7559\u807d\u8aaa\u9084\u53ef\u4ee5\uff0c\u5c31\u662f\u6709\u9ede\u9060\uff0c\u5ef6\u9072\u660e\u986f\u504f\u9577\uff0c\u5728\u4e9e\u6d32\u4e0d\u662f\u597d\u9078\u64c7\u3002<\/p>\n<p>\u670d\u52d9\u5668\u898f\u5283\uff0c\u5254\u9664\u6bcf\u6708\u8d08\u9001\u7684ARM\u7b97\u529b\uff0c\u771f\u6b63\u6c38\u4e45\u7684\u5169\u500bx86\u865b\u64ec\u6a5f\u5be6\u4f8b\u9084\u662f\u8981\u7528\u4e0a\uff0c1GBR\u7684RAM\u5acc\u5c0f\uff0c\u4f46\u7576\u5c0f\u578b\u7684\u7db2\u9801\u670d\u52d9\u5668\u662fOK\u7684\u3002\u6bcf\u6708\u8d08\u9001\u7684ARM\u76844\u6838\/24G RAM\u6211\u60f3\u505a\u4e00\u4e9b\u958b\u767c\u5be6\u9a57\uff0c\u5c31\u6574\u5408\u6210\u4e00\u53f0\u7b97\u529b\u8f03\u597d\u7684VM\uff0c\u5b58\u5132\u5c31\u7d66\u5927\u4e00\u9ede\u505a\u5be6\u9a57\u5427\u3002<\/p>\n<p>\u6211\u7684\u8a2d\u5b9a\u5982\u4e0b\uff0c\u4e09\u53f0VPS\uff1a<\/p>\n<ul>\n<li><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">VM0:<\/span>  arm 4\u6838\/24GB \u4e00\u53f0\uff0c\u81ea\u8a02 100GB \u5b58\u5132\uff0c\u505a\u6027\u80fd\u5de5\u4f5c\u7528\u9014<\/li>\n<li><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">VM1:<\/span>  x86VM\uff0c\u81ea\u8a0250GB \u5b58\u5132\uff0c\u505a\u7db2\u7ad9\u7528\u9014\uff0c\u6216\u63d0\u4f9b\u5176\u4ed6\u670d\u52d9\u3002<\/li>\n<li><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">VM2:<\/span>  x86VM\uff0c\u81ea\u8a0250GB \u5b58\u5132\uff0c\u505a\u7db2\u7ad9\u7528\u9014\uff0c\u6216\u7576\u5099\u7528VPN\u3002<\/li>\n<\/ul>\n<p>\u7531\u65bcx86VM\u53ea\u67091GB\u7684RAM\uff0c1\/8 \u7684OCPU\uff0c\u6027\u80fd\u666e\u666e\uff0c\u8dd1\u4e0d\u52d5\u5927\u61c9\u7528\u3002\u4f46\u7576\u7d14\u6587\u5b57PC\u3001VPN\u3001Wordpress\u67b6\u7db2\u7ad9\u7528\u9084\u4e0d\u932f\uff0c\u4e0d\u8981\u8dd1\u684c\u9762\u61c9\u7528\u3002\uff08\u807d\u8aaa\u53ef\u6dfb\u52a0SWAP\uff0c\u8b93VM\u8dd1\u5927\u578b\u61c9\u7528\uff0c\u4f46\u4e0d\u60f3\u9019\u6a23\u6298\u9a30\u3002\u3002\u3002\uff09<\/p>\n<p>ARM \u548c x86\u6a5f\u5668\u90fd\u53ef\u5b89\u88dd\u514d\u8cbb\u7684Ubuntu\u6216Oracle Linux\u3002\uff08x86\u9084\u53ef\u88ddWindows\uff0cOS\u8981\u4ed8\u8cbb\uff0c\u9084\u9700\u64f4\u5bb9\uff09\uff0c\u6211\u9078\u64c7\u5e38\u7528\u7684Linux\u5b89\u88dd\u3002Ubuntu 22.04\u5b89\u88dd\u5f8c\uff0c \u521d\u59cb\u7528\u6237\u662f ubuntu\uff0c\u6ca1\u5bc6\u7801\uff0c\u4f7f\u7528\u8f03\u5b89\u5168\u7684ssh key \u767b\u5165 ssh\u7d42\u7aef\u670d\u52d9\u3002\uff08\u6ce8\u610f\u5728\u672c\u5730\u4fdd\u5b58\u597d key\uff0c\u5426\u5247\u6703\u7121\u6cd5\u767b\u5165\uff09<\/p>\n<p>Oracle\u53ef\u4fdd\u7559\u516c\u7db2IP\uff0c\u5728\u91cd\u5efaVM\u6642\uff0c\u9078\u7528\u7fd2\u6163\u7684\u820aIP\uff0c\u5c31\u53ef\u4ee5\u4e0d\u5fc5\u52d5DNS\u8a2d\u5b9a\u4e86\u3002\u6211\u628a\u6bcf\u500bVM\u7684\u516c\u7db2IP\u90fd\u6307\u5411\u4fdd\u7559\u7684IP\uff0c\u82e5\u767c\u73feIP\u88ab\u67d0\u7246\u570b\u9632\u706b\u7246\u963b\u6514\uff0c\u53ef\u4ee5\u66f4\u63dbIP\u3002<\/p>\n<h2>0.3 \u95dc\u65bcDNS\u7684\u4f7f\u7528<\/h2>\n<p>\u53ef\u4ee5\u4e0d\u7d66DNS\uff0c\u76f4\u63a5\u7528\u516c\u7db2IP\u9023\u670d\u52d9\u5668\uff0c\u4f46\u4e0d\u76f4\u89c0\uff0c\u6709\u6642\u6703\u9700\u8981\u66f4\u63dbIP\uff0c\u76f8\u61c9\u7684\u670d\u52d9\u66f4\u6539\u6703\u5f88\u75db\u82e6\u3002\u4f46\uff0cDNS\u7684\u4f7f\u7528\u9700\u8981\u8b39\u614e\u3002<\/p>\n<h3>0.3.1 <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/Freenom.com\">Freenom.com<\/a> \u514d\u8cbb\u7684\u6700\u8cb4\u3002\u3002\u3002<\/h3>\n<p><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/Freenom.com\">Freenom.com<\/a> \u63d0\u4f9b\u514d\u8cbbDNS\u7533\u8acb\u548cDNS\u670d\u52d9\uff0c\u7533\u8acb\u65b9\u4fbf\uff0c\u4f46<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u514d\u8cbbDNS\u767c\u73fe\u6703\u6709\u5f88\u591a\u554f\u984c<\/span>\u3002\u3002\u3002\uff08\u767c\u73fe\u9047\u5230\u885d\u7a81\u3001DNS\u7ac4\u6539\uff0c\u8df3\u5230\u6b3a\u9a19\u7db2\u9801\uff09\uff0c\u5be6\u9a57\u5728Let&#8217;s Encrypt\u4e0b\uff0c\u5f88\u6709<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u53ef\u80fd\u7121\u6cd5\u6b63\u78ba\u53d6\u5f97\/\u7e8c\u7d04\u8b49\u66f8<\/span>\u3002\u3002\u3002\u679c\u7136\uff0c\u4ee3\u8868\u7db2\u4e0a\u8eab\u5206\u7684\u57df\u540d\uff0c\u9084\u662f\u9700\u8981\u5c0f\u5fc3\u5947\u602a\u7684\u514d\u8cbb\u670d\u52d9\u5546\u3002<\/p>\n<h3>0.3.2 Namecheap \u6211\u7528\u7684\u57df\u540d\u670d\u52d9\u5546<\/h3>\n<p>\u4e4b\u524d\u6211\u5728NameCheap\u7533\u8acb\u4e86\u5169\u500b\u4ed8\u8cbbName\uff08go2see.co\u3001go2see.me\uff09\uff0c\u4e26\u5728\u53f0\u7063\u670d\u52d9\u5668\u4f7f\u7528\u3002\u6211\u5011\u53ef\u4ee5\u5728Namecheap\u7684DNS\u6dfb\u52a0 A record\uff0c\u5efa\u7acb\u4e09\u500b\u4e09\u7d1a\u5b50\u57df\u540d\uff0c\u6307\u5411Oracle\u7684VM\u7684\u516c\u7db2IP\u4f86\u5efa\u7acbVPS\u3002\u5982\uff1a<\/p>\n<pre><code class=\"language-sh \">vm0.go2see.me\nvm1.go2see.me\nvm2.go2see.me\n<\/code><\/pre>\n<p>\u5728Namecheap\u4e0a\u8a2d\u5b9a\u9801\u662f\u985e\u4f3c\u9019\u6a23\u7684\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017000122951-1024x725.png\" alt=\"\" \/><\/p>\n<h2>0.4 \u5275\u5efa Oracle VM<\/h2>\n<p>\u53c2\u8003\uff1a<br \/>\n<img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017104100250-1024x747.png\" alt=\"\" \/> <img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017104207348-1024x704.png\" alt=\"\" \/> <img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017104315649-1024x660.png\" alt=\"\" \/><\/p>\n<p>\u5275\u5efa\u597dVPS\u5be6\u4f8b\u5f8c\uff0c\u5f9e\u7ba1\u7406\u7db2\u9801\u7684 \u904b\u7b97 &#8212; \u5be6\u4f8b \u4e2d\uff0c\u6311\u9078\u525b\u5efa\u597d\u7684\u5be6\u4f8b\u7684\u8a73\u7d30\u4fe1\u606f\uff0c\u4fee\u6539\u516c\u7db2IP\u70ba\u6211\u9810\u7559\u7684IP\u3002<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017104841089-1024x612.jpg\" alt=\"\" \/><\/p>\n<p>\u5728\u5be6\u4f8b\u9801\u9762\u7684\u5de6\u4e0b\u89d2\u7684\u8cc7\u6e90\u6b04\uff0c\u9ede\u9078 \u201c\u9644\u52a0\u7684VNIC\u201d<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221023205222206-1024x479.png\" alt=\"\" \/><\/p>\n<p>\u7136\u5f8c\u9ede\u9078 \u201c\u4e3b\u8981VNIC\u201d \u65c1\u9023\u63a5\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221023205448960-1024x468.png\" alt=\"\" \/><\/p>\n<p>\u5728VNIC\u9801\u518d\u9ede\u9078\u5de6\u4e0b\u89d2\u7684 IPv4\u5730\u5740\uff0c\u5728\u5230IPv4\u5730\u5740\u9ede\u9078\u53f3\u65b9\u7684\u5f48\u51fa\u9078\u55ae\uff0c\u9078\u64c7\u7de8\u8f2f\u5f48\u51fa\u9801\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221023205838582-1024x436.png\" alt=\"\" \/><\/p>\n<p>\u7136\u5f8c\u9078\u64c7\u201c\u9810\u7559\u7684\u516c\u5171IP\u201d &#8212; \u201c\u9078\u64c7\u73fe\u6709\u9810\u7559IP\u5730\u5740\u201d &#8212; \u9ede\u9078\u64c7\u503c\uff0c\u5f48\u51fa\u9078\u55ae\u9078\u64c7\u60f3\u7528\u7684\u9810\u7559IP\uff0c\u4e26\u66f4\u65b0\uff1a<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221023210150806-1024x486.png\" alt=\"\" \/><\/p>\n<p>\u9019\u6a23\u5c31\u66f4\u63db\u4e86\u9810\u7559\u7684IP\u4e86\u3002\u3002\u3002<\/p>\n<h1>1 VM \u57fa\u790e\u7684\u521d\u59cb\u5316\u8a2d\u5b9a<\/h1>\n<p>\u6211\u5efa\u7acb\u4e863\u53f0\u865a\u62df\u673a\uff0c arm\u3001vm0\u3001vm1\u3002\u5efa\u7acb\u4e86\u5404\u81ea\u7684 ssh \u5bc6\u94a5\u5bf9\u3002\u5728arm\u53ef\u4ee5\u7528terminal\u8f6f\u4ef6ssh\u767b\u5165\uff0c\u5728linux\/macOS\u53ef\u4ee5\u76f4\u63a5 ssh\u547d\u4ee4\u767b\u5165\u3002<\/p>\n<h2>1.0 \u7b2c\u4e00\u6b21\u767b\u5165\u2013\u4f7f\u7528ssh\u91d1\u9470\u548c\u9810\u8a2d\u5e33\u6236\u540d<\/h2>\n<p>ubuntu 22.04\u670d\u52d9\u5668\u7684\u521d\u59cb\u5316\u7528\u6236\u540d\u548c\u5bc6\u78bc\u90fd\u662fubuntu\u3002 oracle\u7684ubuntu\u5728\u521d\u59cb\u5316\u5f8c\uff0c\u9810\u8a2d\u4e0d\u8b93\u7528\u5bc6\u78bc\u767b\u5165\uff0c\u53ea\u80fd\u7528\u5efa\u7acbVM\u6642\u751f\u6210\/\u63d0\u4f9b\u7684ssh\u91d1\u9470\u767b\u5165\u3002\u4e4b\u5f8c\u53ef\u4ee5\u81ea\u5df1\u6539\u6210\u53ef\u7528\u5bc6\u78bc\u767b\u5165\u3002<\/p>\n<p>\u6211\u5728Namecheap\u529f\u80fd\u8b8a\u6578\u540d\u7a31\u7ba1\u7406\u670d\u52d9\u4e2d\uff0c\u628avm0.go2see. co\u529f\u80fd\u8b8a\u6578\u540d\u7a31\u7d81\u5b9a\u5230arm\u865b\u64ec\u6a5f\u5668\u7684\u516c\u7db2IP\u5730\u5740\u4e86\uff0c\u6240\u4ee5\u6211\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\uff0c\u63a1\u7528\u6a19\u6e96\u7684\u57e022\uff0c\u767b\u5165arm\u865b\u64ec\u6a5f\u5668\uff1a<\/p>\n<pre><code class=\"language-sh \">ssh  -i ssh-arm.key -p 22 ubuntu@vm0.go2see.co\n<\/code><\/pre>\n<p>\u767b\u5165\u5f8c\uff0c\u5c31\u53ef\u4ee5\u958b\u59cb\u505a\u4e00\u4e9b\u8a2d\u5b9a\u4e86\u3002 \u5927\u9678\u6709\u6642\u5019\u9023ssh\u57e0\uff08port 22\uff09\u90fd\u64cb\uff0c\u5728\u4e4b\u5f8c\u76841.2\u7bc0\u6703\u6dfb\u52a0\u4e00\u500b\u5099\u7528\u57e0\u3002<\/p>\n<h2>1.1 \u6b65\u9aa4\uff1a\u8fdb\u5165root\uff0c\u8abf\u6574\u6642\u57df<\/h2>\n<pre><code class=\"language-sh \">#\u4e4b\u5f8c\u7684\u5de5\u4f5c\u8981\u5728 root\u4e0b\u505a\u3002\u3002\u3002\u3002\nsudo -s\n\n\n# \u8abf\u6574\u7cfb\u7d71\u6642\u57df\ndpkg-reconfigure tzdata\n# \u6309'A'\u5f8c\u6309\u4e0a\u4e0b\u9078\u64c7\uff1a Asia \u7136\u5f8c \u6309't'\u5f8c\u9078\u64c7 Taipei\u3002\n\n# \uff08\u82e5\u6642\u9593\u670d\u52d9\u7570\u5e38\uff09\u53ef\u66f4\u63db\u6642\u9593\u670d\u52d9\u5668\uff1a\n#apt-get install -y ntpdate ntp\n#ntpdate time.stdtime.gov.tw\n<\/code><\/pre>\n<h2>1.2 \u521d\u59cb\u5316\u9632\u706b\u7246\u3001\u5bc6\u78bc<\/h2>\n<p>\u6539\u7528ufw\u9632\u706b\u7246\u8a2d\u7f6e\u5de5\u5177\uff0c\u6bd4\u76f4\u63a5\u7528iptable\u7ba1\u7406\u9632\u706b\u7246\u597d\u7528\u3002<\/p>\n<p>Oracle\u5b50\u7db2\u57df\u4e5f\u9700\u8981\u53ef\u8a2d\u5b9a\u9632\u706b\u7246\u898f\u5247\uff0c\u5c0d\u7db2\u57df\u5167\u6a5f\u5668\u90fd\u6709\u6548\uff0c\u9700\u8981\u540c\u6b65\u8a2d\u5b9a\u898f\u5247\u6216\u95dc\u9589\u4ed6\uff08\u5141\u8a31\u6240\u6709\u9023\u63a5\uff09\u3002<\/p>\n<pre><code class=\"language-sh \"># \u521d\u59cb\u5316 apt\n# apt update &amp;&amp; apt upgrade -y\napt update  -y\n\n# \u6539\u7528 ufw \u4ee3\u66ff iptable \u5173\u95ed iptable\u3002\nufw disable\nufw reset\nufw default deny\nufw allow ssh\nufw allow http\nufw allow https\nufw allow from any to any port 3389 #RDP\nufw allow from any to any port 8082 #my vpn port\nufw allow 2222 # my 2nd ssh port\nufw enable\n\n# \u95dc\u9589\u672c\u6a5fufw\u9632\u706b\u7246\uff0c\u76f4\u63a5\u7528 oracle\u9632\u706b\u7246\uff1f\n ufw disable\n\n# \u5141\u8a31 ssh \u7528\u5bc6\u78bc\u767b\u5165\uff08no \u6539 yes\uff09,\u4e0d\u5fc5\u4e00\u76f4\u7528 ssh-key\uff08\u53ef\u80fd\u5f71\u97ff\u767b\u5165\u5b89\u5168\uff09\uff1a\nsed -i 's\/PasswordAuthentication no\/PasswordAuthentication yes\/g' \/etc\/ssh\/sshd_config\n\n# \u6dfb\u52a0\u5e33\u6236\u7684 ssh \u5bc6\u78bc:\npasswd ubuntu\n\n\n\n<\/code><\/pre>\n<ul>\n<li>ssh port 22 \u6709\u4e9b\u5730\u65b9\u4f1a\u6321\uff0c\u6211<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u63d0\u4f9b\u7b2c\u4e8c\u4e2a ssh \u63a5\u53e3\uff1a2222<\/span>\u3002\u8a18\u5f97Oracle\u5e33\u6236\u7684\u9632\u706b\u5899\u4e5f\u8981\u6253\u5f00\u3002\u3002\u3002<\/li>\n<\/ul>\n<pre><code class=\"language-sh \">## 1. \u9632\u706b\u5899\u6253\u5f00 2222 \u7aef\u53e3\uff0c\u6ce8\u610f Oracle \u5b50\u7f51\u57df\u9632\u706b\u5899\u4e5f\u8981\u6253\u5f00\u3002\u3002\u3002\nsudo ufw allow 2222\n\n## 2. \u7f16\u8f91 sshd_config\nsudo nano \/etc\/ssh\/sshd_config\n### \u5728\u6587\u4ef6\u4e2d\u6dfb\u52a0\u4ee5\u4e0b\u4e24\u884c\uff0c\u8ba9 sshd \u8046\u542c\u7aef\u53e3 22 \u548c 2222\uff1a\nPort 22\nPort 2222\n\n### 3. \u91cd\u542f sshd\nsudo systemctl restart sshd\n\n<\/code><\/pre>\n<h2>1.3 \u66f4\u6539\u4e3b\u7528\u6237\u540d<\/h2>\n<blockquote><p>\n  \u26a0\ufe0f\u6ce8\u610f\uff1a\u66f4\u6539\u7528\u4e3b\u6236\u540d\u53ef\u80fd\u9020\u6210\u7121\u6cd5\u767b\u5165\uff0c\u57f7\u884c\u524d\uff0c\u8acb\u78ba\u8a8d\u4ee5\u4e0b4\u9ede\u5df2\u7d93\u505a\u4e86\uff1a<\/p>\n<pre><code class=\"language-sh \"># \u26a0\ufe0f\u9700\u8981\u5b8c\u5168\u5728 root\u4e0b\u5de5\u4f5c\nsudo -s\n\n# \u26a0\ufe0f\u5141\u8a31\u7528\u5bc6\u78bc ssh\uff08no \u6539 yes\uff09,\u4e0d\u5fc5\u4e00\u76f4\u7528 ssh-key\uff08\u53ef\u80fd\u5f71\u97ff\u767b\u5165\u5b89\u5168\uff09\u767b\u5165\uff1a\nsed -i 's\/PasswordAuthentication no\/PasswordAuthentication yes\/g' \/etc\/ssh\/sshd_config\n\n# \u26a0\ufe0f\u8981\u5148\u7ed9 ubuntu \u8d26\u6237\u52a0\u5bc6\u7801\uff0c\u5426\u5219\u66f4\u540d\u4e4b\u5f8c\u53ef\u80fd\u65e0\u6cd5 sudo \u4e86\u3002\u3002\u3002\npasswd ubuntu\n<\/code><\/pre>\n<\/blockquote>\n<p>\u958b\u59cb\u4fee\u6539\uff1a<\/p>\n<pre><code class=\"language-sh \">cd \/\n\n# \u6539\u53d8 \/etc \u4e0b\u7684 passwd\u3001shadow\u3001group \u7528\u6237\u540d\u3002\u53ef\u4ee5\u7528 nano \u7f16\u8f91\uff0c\u6216 sed \u81ea\u52a8\u4fee\u6539\n  # \u8d26\u6237\u5bc6\u7801\u7684 \u6237\u540d\u3001\u5168\u540d\u3001\u5de5\u4f5c\u76ee\u5f55\uff1a\n  sed -i 's\/ubuntu\/cyue\/g' \/etc\/passwd\n  sed -i 's\/Ubuntu\/CYUE\/g' \/etc\/passwd\n  # shadow\u7684 \u6237\u540d\uff1a\n  sed -i 's\/ubuntu\/cyue\/g' \/etc\/shadow\n  # \u65e7\u5e10\u6237\u52a0\u5165\u7684\u7fa4\u7ec4\uff1a\n  sed -i 's\/ubuntu\/cyue\/g' \/etc\/group\n  # \u5de5\u4f5c\u76ee\u5f55\u540d\u53d8\u6362\n  mv \/home\/ubuntu \/home\/cyue\n\n# nano \/etc\/sudoers\uff0c\u5728root\u540e\u6dfb\u52a0\u65b0\u7528\u6237\u540d(\u4ee5cyue\u4e3a\u4f8b)\uff0c\u4e3a\u53ef\u4ee5\u6267\u884c sudo\u7684\u7528\u6237\u3002\n    echo 'cyue    ALL=(ALL:ALL) ALL' &gt;&gt; \/etc\/sudoers\n\n\n# reboot\u5b8c\u6210\u66f4\u540d\uff01\uff01\n  reboot\n\n# \u4e4b\u540e ssh \u53ef\u4ee5\u7528 cyue + \u5bc6\u7801 \u767b\u5165\u4e86\u3002\u3002\u3002\n<\/code><\/pre>\n<h2>1.4 \u672c\u673a\u514d\u5bc6\u767b\u5165\u670d\u52a1\u5668<\/h2>\n<p>\u82e5\u8fd1\u7aef\u5e73\u65f6\u5de5\u4f5c\u7684PC\u4e0a\u7684 <code>~\/.ssh\/id_rsa.pub<\/code> \u6587\u4ef6\uff08\u672c\u673a ssh \u516c\u5f00\u91d1\u94a5\uff09\u4e0d\u5b58\u5728\uff0c\u6267\u884c <code>ssh-keygen<\/code> \u5efa\u7acb\u672c\u673a ssh \u7528\u7684\u91d1\u94a5\u3002(\u8be2\u95ee\u95ee\u9898\u65f6\u53ef\u4ee5\u76f4\u63a5\u6309enter\u7ee7\u7eed)<\/p>\n<p>\u6709ssh \u91d1\u94a5\u540e\uff0c\u6267\u884c <code>ssh-copy-id<\/code> \u628assh\u516c\u94a5\u590d\u5236\u5230 \u670d\u52a1\u5668\u4e0a\uff1a<\/p>\n<pre><code class=\"language-sh \">ssh-copy-id -i ~\/.ssh\/id_rsa.pub cyue@vm0.go2see.me\n<\/code><\/pre>\n<p>\u6267\u884c\u540e\uff0c\u8f93\u5165\u8d26\u6237\u5bc6\u7801\uff0c\u4f1a\u628a\u672c\u673a\u7684\u516c\u94a5\u6dfb\u52a0\u5230\u670d\u52a1\u5668\u7684 cyue \u8d26\u6237\u7684 <code>~\/.ssh\/authorized_keys<\/code> \u5c3e\u7aef\u3002\u8fd9\u6837\u5728 ssh \u767b\u5165\u670d\u52a1\u5668\u7684 cyue \u8d26\u6237\u65f6\uff0c\u7cfb\u7edf\u4f1a\u9a8c\u8bc1\u516c\u94a5\u540e\u8fdb\u5165 ssh \uff0c\u4e0d\u5fc5\u518d\u8f93\u5165\u5bc6\u7801\u3002<\/p>\n<hr \/>\n<h1>2 \u6309\u88dd\u7db2\u9801\u670d\u52d9 LNMP+WP<\/h1>\n<h2>2.1 \u5b89\u88dd LNMP<\/h2>\n<p><strong>L<\/strong>inux\u9069\u7528\u7684\u901a\u7528\u67b6\u7ad9\u5305 &#8211; <strong>N<\/strong>ginx+<strong>M<\/strong>arriaDB+<strong>P<\/strong>HP\u3002<\/p>\n<p>LNMP\u7f51\u7ad9\u7684script\u4f3c\u4e4e\u4f1a\u6709\u95ee\u9898\uff0c\u6211\u624b\u52a8\u6dfb\u52a0NMP\uff0c\u4e0d\u7528LNMP\u7f51\u7ad9\u811a\u672c\u3002\u3002\u3002<\/p>\n<pre><code class=\"language-sh \">echo\necho '# 1. \u5b89\u88c5\u555f\u52d5 nginx'\necho\nsudo apt update\nsudo apt install nginx lynx -y #lynx\u662f\u6587\u5b57\u6a21\u5f0fbrowser\u7528\u4e8eterminal\u4e2d\u68c0\u67e5\u7f51\u9875\u3002\nsudo systemctl restart nginx.service\nsudo systemctl enable nginx.service\nsudo ufw allow 'Nginx Full' # \u9632\u706b\u7246\u6253\u958b nginx\n# \u9700\u8981\u7684\u8a71\uff0c\u6aa2\u67e5 nginx \u7db2\u9801\uff1a\n# lynx localhost  \n# sudo systemctl status nginx.service\n\necho\necho '# 2. \u5b89\u88c5MariaDB'\necho\nsudo apt install mariadb-server mariadb-client -y\nsudo systemctl stop mariadb.service\nsudo systemctl start mariadb.service\nsudo systemctl enable mariadb.service\n# \u6570\u636e\u5e93\u52a0\u5bc6\u4fdd\u62a4\nsudo mysql_secure_installation\n# \u9700\u8981\u5728\u6b64\u8a2d\u5b9a\u8cc7\u6599\u5eab\u7684 root \u5bc6\u78bc\uff0c\u7981\u6b62\u9060\u7a0b\u767b\u5165 root\n\n###\u6aa2\u67e5\u6578\u64da\u5eab\u5b89\u88dd\uff1a####\n# 1. \u767b\u5165\u67e5\u770b mariaDB \u6570\u636e\u5e93\uff1a\n#     sudo mysql -u root -p\n# 2. \u79bb\u5f00\u6570\u636e\u5e93\uff1a\n#    exit;\n####################\n\necho\necho '# 3. \u5b89\u88c5PHP'\necho\nsudo apt install php-fpm php-opcache php-cli php-gd php-curl php-mysql -y\n### \u4f9d\u64da\u5b89\u88dd\u7248\u6b21\u4fee\u6539php\u8a2d\u5b9a\n# sudo nano \/etc\/php\/8.1\/fpm\/php.ini\n#    \u53c3\u8003\u6578\u503c\uff1a\n#    max_execution_time = 360\n#    memory_limit = 256M\n#    cgi.fix_pathinfo = 0\n#    file_uploads = On\n#    upload_max_filesize = 100M\n#    allow_url_fopen = On\n#    date.timezone = Asia\/Taipei\n\n\nsudo sed -i 's\/max_execution_time = 30\/max_execution_time = 360\/g' \/etc\/php\/8.1\/fpm\/php.ini \nsudo sed -i 's\/memory_limit = 128M\/memory_limit = 256M\/g' \/etc\/php\/8.1\/fpm\/php.ini \nsudo sed -i 's\/upload_max_filesize = 2M\/upload_max_filesize = 100M\/g' \/etc\/php\/8.1\/fpm\/php.ini \n\n\nsudo systemctl restart nginx.service\nsudo systemctl restart php8.1-fpm.service\n\n<\/code><\/pre>\n<h2>2.2 \u5b89\u88c5 WordPress \u52d5\u614b\u7db2\u9801\u670d\u52d9<\/h2>\n<p>WordPress \u662f\u5f48\u6027\u6700\u5927\u7684\u500b\u4eba\u67b6\u7ad9\u9078\u64c7\u4e86\uff0c\u514d\u5beb\u7a0b\u5f0f\u3001\u63d0\u4f9b\u8c50\u5bcc\u7684\u529f\u80fd\u5916\u639b\u652f\u6301\u548c\u5916\u89c0\u98a8\u683c\u9078\u64c7\u3002<\/p>\n<h3>2.2.1 \u4e0b\u8f7d WordPress<\/h3>\n<p>\u4ece WordPress TW \u7f51\u7ad9\u5e76\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\uff0c\u89e3\u538b\u5e76\u653e\u5230 <code>\/var\/www\/<\/code><\/p>\n<pre><code class=\"language-sh \">echo\necho 1. \u4e0b\u8f09\u5b89\u88dd WordPress\necho *** \u4ece WordPress TW \u7f51\u7ad9\u5e76\u4e0b\u8f7d\u6700\u65b0\u7248\u672c\uff0c\u89e3\u538b\u5e76\u653e\u5230 \/var\/www\/\ncd \/tmp &amp;&amp; wget https:\/\/tw.wordpress.org\/latest-zh_TW.tar.gz\ntar -zxvf latest-zh_TW.tar.gz\nsudo mv wordpress \/var\/www\/wordpress\n\necho *** \u66f4\u6362 wordpress \u76ee\u5f55\u7684\u7528\u6237\u4e0e\u6743\u9650\uff08\u4f7f\u7528\u7528\u6237 www-data:www-data\uff0c \u6743\u9650 755 \uff09\uff1a\nsudo chown -R www-data \/var\/www\/wordpress\/\nsudo chmod -R 755 \/var\/www\/wordpress\/\n\necho\necho 2. \u914d\u7f6e mariaDB\uff08root \u767b\u5165 marriaDB\uff09\n\n#\u63a5\u7740\u8981\u8bbe\u5b9a\u8d44\u6599\u5e93\u4e86\u3002\u3002\u3002\nsudo mysql -u root -p\n<\/code><\/pre>\n<h3>2.2.2 \u8a2d\u5b9a\u7db2\u7ad9\u8cc7\u6599\u5eab<\/h3>\n<ul>\n<li>\u8cc7\u6599\u5eab\u8a2d\u7f6e\u53c3\u8003\uff1a\uff08\u70ba vm0 vm1 vm2  \u5efa\u7acb\u8cc7\u6599\u5eab\uff09<\/li>\n<\/ul>\n<pre><code class=\"language-mysql \"># \u82e5\u6709\u820a\u7684 DB\u522a\u9664\u8cc7\u6599\u5eab\u8207\u5e33\u865f\n#drop database vm0; \n#drop user uservm0;\n#drop database vm1; \n#drop user uservm1;\ndrop database vm2; \ndrop user uservm2;\n\n#\u5efa\u7acb\u8cc7\u6599\u5eab\u8207\u5e33\u6236\n### vm0\n#CREATE DATABASE vm0;\n#CREATE USER 'uservm0'@'localhost' IDENTIFIED BY 'PASSWORD';\n#GRANT ALL ON vm0.* TO 'uservm0'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;\n### vm1\n#CREATE DATABASE vm1;\n#CREATE USER 'uservm1'@'localhost' IDENTIFIED BY 'PASSWORD';\n#GRANT ALL ON vm1.* TO 'uservm1'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;\n### vm2\nCREATE DATABASE vm2;\nCREATE USER 'uservm2'@'localhost' IDENTIFIED BY 'PASSWORD';\nGRANT ALL ON vm2.* TO 'uservm2'@'localhost' IDENTIFIED BY 'PASSWORD' WITH GRANT OPTION;\n\n# \u4fdd\u5b58\u8bbe\u5b9a\u5e76\u9000\u51fa\uff1a\nFLUSH PRIVILEGES;\nEXIT;\n<\/code><\/pre>\n<h3>2.2.3 nginx \u5efa\u7acb wordpress \u670d\u52a1\u5668<\/h3>\n<ul>\n<li>\u5728nginx\u5efa\u7acb\u521d\u59cb\u5316\u7684 sites-available\/wordpress \u670d\u52a1\u5668\u6587\u4ef6\uff1a<\/li>\n<\/ul>\n<pre><code class=\"language-sh \"># \u5728nginx\u5efa\u7acb\u521d\u59cb\u5316\u7684 wordpress\u670d\u52a1\u5668\u6587\u4ef6\uff1a\nsudo nano \/etc\/nginx\/sites-available\/wordpress\n<\/code><\/pre>\n<p>\u5c06\u5185\u5bb9\u586b\u5165\u914d\u7f6e\u6587\u4ef6\uff0c\u628a\u5173\u8054\u7684\u7f51\u5740\u540d\u5199\u5230 <strong>server_name<\/strong> \u9879\u76ee\u540e\u65b9\uff1a<\/p>\n<pre><code class=\"language-php \">server {\n    root \/var\/www\/wordpress;\n    index  index.php index.html index.htm;\n\n    #server_name  vm0.go2see.me vm0.go2see.co; ## \u6ce8\u610f name\u4fee\u6539\uff01\uff01\n    #server_name  vm1.go2see.me vm1.go2see.co; ## \u6ce8\u610f name\u4fee\u6539\uff01\uff01\n    server_name  vm2.go2see.me vm2.go2see.co; ## \u6ce8\u610f\u8207 DNS \u5c0d\u61c9\u540d\u7a31\uff01\uff01\n\n    client_max_body_size 100M;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$args;\n    }\n\n    location ~ \\.php$ {\n         include snippets\/fastcgi-php.conf;\n         fastcgi_pass unix:\/var\/run\/php\/php8.1-fpm.sock;\n         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n         include fastcgi_params;\n    }\n\n}\n\n<\/code><\/pre>\n<ul>\n<li>\u7f16\u5b8c\u4fdd\u5b58\u3002<\/li>\n<\/ul>\n<h3>2.2.4 \u542f\u7528WordPress\u670d\u52a1\u5668<\/h3>\n<ul>\n<li>\u4ee5 ln \u5efa\u7acb\u8fde\u63a5\u65b9\u5f0f\u5c06\u525b\u5efa\u7acb\u7684\u6587\u4ef6 worepress \u9023\u63a5\u5230\u53ef\u4f7f\u7528\u4f4d\u7f6e\u3002<\/li>\n<\/ul>\n<pre><code class=\"language-sh \">sudo ln -s \/etc\/nginx\/sites-available\/wordpress \/etc\/nginx\/sites-enabled\/\n# \u91cd\u555f nginx \u548c php\u670d\u52d9\nsudo systemctl restart nginx.service\nsudo systemctl restart php8.1-fpm.service\n\n# \u9019\u6642\u700f\u89bd\u5668\u61c9\u8a72\u53ef\u4ee5\u770b\u5230Wordpress\u7db2\u7ad9\u5b89\u88dd\u756b\u9762\u4e86\uff0c\u700f\u89bd\u5668\u6253\u958b\u770b\u770b\uff1a\n# http:\/\/vm2.go2see.co\/wp-admin\/setup-config.php\n\n# \u57282.4\u7bc0\u6ce8\u610f\u8cc7\u6599\u5eab\u540d\u3001\u7528\u6236\u540d\u3001\u5bc6\u78bc\u3001\u4e3b\u6a5f\u4f4d\u7f6e\u8a18\u5f97\u7528\u524d\u9762\u8a2d\u5b9a\u7684\u3002\u3002\u3002\n\n<\/code><\/pre>\n<p>\u5b89\u88dd\u597d\u5148\u5225\u6025\u8457\u8a2d\u5b9a\uff0c\u6211\u5011\u5728 2.3 \u7bc0\u5148\u70ba\u7db2\u7ad9\u6dfb\u52a0\u514d\u8cbb\u7684 https\u8b49\u66f8\u3002<\/p>\n<h2>2.3. Certbot \u70ba\u7db2\u7ad9\u63d0\u4f9b\u514d\u8cbb\u8b49\u66f8<\/h2>\n<h4>2.3.1 \u53ef\u4ee5\u67e5\u770bcertbot\u5b98\u7f51\u5efa\u8bae\u5b89\u88c5\u65b9\u6cd5\uff1a<\/h4>\n<p>https:\/\/certbot.eff.org\/lets-encrypt\/ubuntufocal-nginx<\/p>\n<p>\u76ee\u524d\u9084\u6c92 ubuntu22.04\u7684\u5efa\u8b70\uff0c\u4f46\u53ef\u4ee5\u4f9d\u7167 nginx + ubuntu20.04 \u7684\u5efa\u8b70\u5b89\u88c5\u3002<\/p>\n<p>\u4e0b\u4e00\uff082.3.2\uff09\u5c0f\u7bc0\u7528Script\u5b8c\u6210\u3002<\/p>\n<h3>2.3.2 Certbot\u5b89\u88dd\u81ea\u52d5\u66f4\u65b0\u8b49\u66f8<\/h3>\n<pre><code class=\"language-sh \"># 1. Install snapd\nsudo apt update -y\nsudo apt install snapd\nsudo snap install core; sudo snap refresh core\n# 2. remove prev. certbot &amp; install classic\nsudo apt-get remove certbot \nsudo snap install --classic certbot\nsudo ln -s \/snap\/bin\/certbot \/usr\/bin\/certbot\n\n# 3. \u5efa\u7acb\u7db2\u7ad9\u8b49\u66f8\uff0c\u5b89\u88c5\u65f6\u56de\u7b54Y\u6216A\u5141\u8bb8\u5373\u53ef\u3002\n#  \uff08\u6211\u6709\u4e09\u500b\u7db2\u7ad9\uff0c\u6ce8\u610f\u8207DNS\u670d\u52d9\u5668\u5339\u914d\uff09\n\n# sudo certbot --nginx -m cyue12@me.com -d vm0.go2see.co -d vm0.go2see.me\n# sudo certbot --nginx -m cyue12@me.com -d vm1.go2see.co -d vm1.go2see.me\nsudo certbot --nginx -m cyue12@me.com -d vm2.go2see.co -d vm2.go2see.me\n\n# 4. \u770b\u5230 Congratulations! \u5c31\u662f\u8b49\u66f8\u5b89\u88dd\u6210\u529f\u4e86\u3002\u3002\u3002\n\n# 5. \uff08\u60f3\u8981\u7684\u8a71\uff09\u53ef\u4ee5\u624b\u52d5\u66f4\u65b0\u8b49\u66f8\n# sudo certbot certonly --nginx -m cyue12@me.com -d vm0.go2see.co -d vm0.go2see.me\n# sudo certbot certonly --nginx -m cyue12@me.com -d vm1.go2see.co -d vm1.go2see.me\n# sudo certbot certonly --nginx -m cyue12@me.com -d vm2.go2see.co -d vm2.go2see.me\n\n# 6. \u958b\u555f\u81ea\u52d5\u66f4\u65b0\u8b49\u66f8\nsudo certbot renew --dry-run\n\n# 7. \u6aa2\u67e5\u662f\u5426\u5df2\u7d93\u958b\u555f\u4e86 snap.certbot.renew.timer \u66f4\u65b0\u5b9a\u6642\u5668\nsudo systemctl list-timers |grep certbot\n<\/code><\/pre>\n<h2>2.4 \u958b\u59cb\u8a2d\u5b9a WordPress \u7db2\u9801<\/h2>\n<p>\u700f\u89bd\u5668\u6253\u958b vm1.go2see.co\uff0c\u53ef\u4ee5\u958b\u59cb\u8a2d\u5b9a\u4e86\u3002\u3002\u3002<\/p>\n<ul>\n<li><strong>\u7b2c\u4e00\u9801\uff1a<\/strong><span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u8cc7\u6599\u5eab\u540d<\/span>\u3001<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u7528\u6236\u540d<\/span>\u3001<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u5bc6\u78bc<\/span>\u3001\u8a18\u5f97\u7528\u524d\u9762\u8cc7\u6599\u5eab\u8a2d\u5b9a\u7684\u3002\u3002\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221016233440160-1024x755.png\" alt=\"\" \/><\/p>\n<ul>\n<li><strong>\u7b2c\u4e8c\u9801\uff1a<\/strong>\u5167\u5bb9\u4e0d\u548c\u8cc7\u6599\u5eab\u7d81\u5b9a\uff0c\u53ef\u4ee5\u81ea\u5df1\u5b9a\u7fa9\u3002\u3002\u3002\u3002\uff08\u6211\u61f6\uff0c\u5148\u7528\u6211\u7684PC\u5e33\u6236\u8a2d\u5b9a\uff09<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221016233635700-1017x1024.png\" alt=\"\" \/><\/p>\n<ul>\n<li>\u8a2d\u5b9a\u597d\u5c31\u53ef\u4ee5\u9032\u5165\u63a7\u5236\u53f0\uff0cOK\uff0c\u641e\u5b9a\u3002\u3002\u3002<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221016235301464-1024x836.png\" alt=\"\" \/><\/p>\n<h2>2.5 \u4e3b\u984c\u63a8\u85a6(\u7db2\u7ad9)<\/h2>\n<div class=\"video-container\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"CinS2aqlcI\"><p><a href=\"https:\/\/themeforwp.net\/best-wordpress-free-theme\/\">2022\u5e74\u597d\u7528\u7684WordPress\u514d\u8d39\u4e3b\u9898\u63a8\u8350<\/a><\/p><\/blockquote>\n<p><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"\u300a2022\u5e74\u597d\u7528\u7684WordPress\u514d\u8d39\u4e3b\u9898\u63a8\u8350\u300b\u2014WP\u4e3b\u9898\u7ad9\" src=\"https:\/\/themeforwp.net\/best-wordpress-free-theme\/embed\/#?secret=rEAjBjblp0#?secret=CinS2aqlcI\" data-secret=\"CinS2aqlcI\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe><\/div>\n<h2>2.6 \u4e0a\u50b3\u6587\u4ef6\u5927\u5c0f\u9650\u5236<\/h2>\n<p>\u9810\u8a2d 2M\uff0c\u6539 200M<\/p>\n<pre><code class=\"language-sh \">sudo sed -i 's\/upload_max_filesize = 2M\/upload_max_filesize = 200M\/g' \/etc\/php\/8.1\/cli\/php.ini\n\nsudo sed -i 's\/upload_max_filesize = 2M\/upload_max_filesize = 200M\/g' \/etc\/php\/8.1\/fpm\/php.ini \n\nsudo systemctl restart nginx.service\nsudo systemctl restart php8.1-fpm.service\n<\/code><\/pre>\n<hr \/>\n<h1>3. \u5b89\u88dd  OpenVPN \u670d\u52a1<\/h1>\n<blockquote><p>\n  \u4e00\u9375\u547d\u4ee4\u5b89\u88dd OpenVPN\uff0c\u5728Osaka\u57fa\u5730\u9a8c\u8bc1\u6210\u529f\uff0c<br \/>\n  \u9700\u8981\u66f4\u63db\u4e0d\u88ab\u5e72\u64fe\u7684\u516c\u7db2IP\uff0c\u624d\u80fd\u5728\u7246\u570b\u6709\u6548\u7684\u4f7f\u7528\u3002\u3002\n<\/p><\/blockquote>\n<h2>3.1. Linux\u4e0b\u8f7d\u5b89\u88c5OpenVPN \u670d\u52a1\u7aef \uff08\u4e00\u952e\u5b89\u88c5\u547d\u4ee4\uff09<\/h2>\n<pre><code class=\"language-sh \">wget https:\/\/git.io\/vpn -O openvpn-install.sh &amp;&amp; sudo bash openvpn-install.sh\n<\/code><\/pre>\n<p>Script\u57f7\u884c\u5f8c\u6703\u554f\u5e7e\u500b\u554f\u984c\uff0c\u624d\u958b\u59cb\u5b89\u88dd\u670d\u52d9\uff0c\u5982\uff1a<\/p>\n<pre><code class=\"\">Welcome to this OpenVPN road warrior installer!\n\nWhich IPv4 address should be used?\n     1) 192.168.5.229\n     2) 192.168.5.208\nIPv4 address [1]:  # \u82e5\u865b\u64ec\u6a5f\u5b89\u88dd\u6709\u591a\u500b\u7db2\u5361\uff0c\u6703\u8981\u6c42\u9078\u64c7\u7db2\u5361\u3002\n\nThis server is behind NAT. What is the public IPv4 address or hostname?\nPublic IPv4 address \/ hostname [xxx.10.10.61]: my.host.name  # \u53ef\u7528 IP\u6216\u7d81\u5b9a\u7684\u57df\u540d\u3002             \n\nWhich protocol should OpenVPN use?\n   1) UDP (recommended)\n   2) TCP\nProtocol [1]: # \u9810\u8a2d\u9078UDP \u6027\u80fd\u8f03\u4f73\u3002\n\nWhat port should OpenVPN listen to?\nPort [1194]: 31314 # \u9078\u64c7\u4e00\u500b\u7aef\u53e3\uff0c\u5118\u91cf\u4e0d\u8981\u9810\u8a2d\u7684 1194\uff0c\u6ce8\u610f\u9632\u706b\u7246\u8981\u5148\u6253\u958b\u6b64\u7aef\u53e3\u3002\n\nSelect a DNS server for the clients:\n   1) Current system resolvers\n   2) Google\n   3) 1.1.1.1\n   4) OpenDNS\n   5) Quad9\n   6) AdGuard\nDNS server [1]: 2 #\u6211\u90782\uff0c\u9810\u8a2d\u5373\u53ef\n\nEnter a name for the first client:\nName [client]: tw0-cyueMBP # \u70ba\u7b2c\u4e00\u500b Client \u6a5f\u5668\u7684\u8a2d\u5b9a\u6587\u4ef6\u53d6\u540d\u5b57\uff0c\u6703\u88ab\u653e\u5728 \/root\/ \u4e0b\u3002\n<\/code><\/pre>\n<p><strong>\u5b89\u88c5\u597d\u4ee5\u540e\uff0c\u901a\u8fc7<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.freedidi.com\/go.php?url=aHR0cHM6Ly93aW5zY3AubmV0L2VuZy9kb3dubG9hZC5waHA=\">WinSCP<\/a> \u628aROOT\u6839\u76ee\u5f55\u4e0b\u751f\u6210\u7684OpnVPN\u7684\u914d\u7f6e\u6587\u4ef6\uff0c\u5bfc\u51fa\u6765\u5c31\u53ef\u4ee5\u5728\u5ba2\u6237\u7aef\u4e0a\u8fde\u63a5\u4f7f\u7528\u3002<\/strong><\/p>\n<pre><code class=\"\">The client configuration is available in: \/root\/tw0-cyueMBP.ovpn\nNew clients can be added by running this script again.\n<\/code><\/pre>\n<blockquote><p>\n  \u26a0\ufe0f\u6ce8\u610f\uff1a\u8bb0\u5f97\u9700\u8981\u628a  Oracle Cloud \u5b50\u7f51\u8def\u7684 ovpn\u7aef\u53e3\uff08\u7bc4\u4f8b\u7ed9\u7684 31314\u53e3\uff09\u6253\u5f00\u3002\u3002\u3002\n<\/p><\/blockquote>\n<h2>3.2. \u6dfb\u52a0OpenVPN client \u8d26\u6237\u6cd5\uff1a<\/h2>\n<p>OpenVPN \u5c0d\u6bcf\u500b\u5ba2\u6236\u7aef\u90fd\u9700\u8981\u4e00\u500b\u55ae\u7368\u7684\u5e33\u865f\u3002\u6267\u884c\u524d\u9762\u4e0b\u8f09\u7684\u5b89\u88ddshell\uff0c\u9078\u64c7 \u30101\u3011\uff0c\u5c31\u53ef\u6dfb\u52a0\u53e6\u4e00\u53f0Client \u6a5f\u5668\u5e33\u6236\u7684\u8a2d\u5b9a\u6587\u4ef6\u540d\uff1a<\/p>\n<pre><code class=\"language-sh \">sudo bash openvpn-install.sh\n<\/code><\/pre>\n<p>\u914d\u7f6e\u6587\u4ef6\u4ecd\u7136\u653e\u5728 \/root \u4e0b\uff0c\u653e\u5230\u5ba2\u6236\u7aefapp\u57f7\u884c\u5b89\u88dd\u3002<\/p>\n<h2>3.3. \u522a\u9664OpenVPN client \u8d26\u6237\u6cd5\uff1a<\/h2>\n<p>\u904b\u884c\u540c\u4e00\u500b script\u547d\u4ee4\uff0c\u9078\u30102\u3011\uff0c\u5c31\u6703\u770b\u5230\u5e33\u6236\u5217\u8868\uff0c\u518d\u6311\u9078\u8981\u522a\u9664\u7684\u5373\u53ef\u3002<\/p>\n<hr \/>\n<h1>4. \u5b89\u88c5 Code Server\uff0c\u8fdc\u7aef\u7f51\u9875\u7f16\u7a0b<\/h1>\n<h2>4.1. \u627e\u5230\u8d44\u6e90\uff0c\u5b89\u88c5\uff01\uff01<\/h2>\n<p>\u5728\u7f51\u9875 \u6253\u5f00 https:\/\/github.com\/coder\/code-server\/releases \uff0c\u627e\u5230\u6700\u540e\u7248\u6b21\u7684\u673a\u5668\u3001\u7cfb\u7edf\u5bf9\u5e94\u7684\u5b89\u88c5\u5305\u3002<br \/>\n\u6211\u662f arm 64 CPU \u7684 ubuntu linux\uff08\u4f7f\u7528 deb\u5305\u5b89\u88c5\uff09\uff0c\u6700\u65b0\u7248\u662fv4.8.2\u9700\u8981\u4e0b\u8f7d\u7684\u94fe\u63a5\u662f\uff1a<\/p>\n<pre><code class=\"language-sh \">https:\/\/github.com\/coder\/code-server\/releases\/download\/v4.8.2\/code-server_4.8.2_arm64.deb\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u8fdb\u5165\u670d\u52a1\u5668\u7528 wget\u4e0b\u8f7d\u5b89\u88c5\u3002\u3002\u3002\u3002<\/p>\n<h2>4.2. \u5b89\u88c5-\u8bbe\u5b9a-\u6253\u5f00\u9632\u706b\u5899-\u540e\u53f0\u542f\u52a8\u670d\u52a1\uff1a<\/h2>\n<p>\u5728\u670d\u52a1\u5668\u7684\u7ec8\u7aef\u8fdb\u884c\u5982\u4e0b\u4e00\u6761\u9f99\u7684\u5b89\u88c5\u4e0e\u8bbe\u7f6e\uff1a\uff08\u6ce8\u610f Password \u7684 XXXXXX\u6539\u6210\u4f60\u60f3\u8981\u7684\uff09<\/p>\n<pre><code class=\"language-sh \">#### 1. \u53d6\u5f97 arm\u7248\u672c\u7684 vscode \u5305\necho 1. \u53d6\u5f97 arm\u7248\u672c\u7684 vscode \u5305\nwget https:\/\/github.com\/coder\/code-server\/releases\/download\/v4.8.2\/code-server_4.8.2_arm64.deb\n\n#### 2. \u5b89\u88c5\u6b64\u7248\u672c\u7684 arm64 CPU\u7684 deb \u5305\necho 2. \u5b89\u88c5\u6b64\u7248\u672c\u7684 arm64 CPU\u7684 deb \u5305\nsudo dpkg -i https:\/\/github.com\/coder\/code-server\/releases\/download\/v4.8.2\/code-server_4.8.2_arm64.deb\n\n#### 3. \u521b\u5efa .config\/code-server\/config.yaml \u8bbe\u5b9a\u6587\u4ef6\uff0c\u5b9a\u4e49\u5bc6\u7801\u4e0e\u8fdc\u7a0b\u8fde\u63a5\u3001\u8fde\u63a5\u7aef\u53e3\necho 3. \u521b\u5efa .config\/code-server\/config.yaml \u8bbe\u5b9a\u6587\u4ef6\uff0c\u5b9a\u4e49\u5bc6\u7801\u4e0e\u8fdc\u7a0b\u8fde\u63a5\u3001\u8fde\u63a5\u7aef\u53e3(8888):\n#### 0.0.0.0:8888 \u8868\u793a\u53ef\u4ee5\u4ece\u4efb\u4f55\u5730\u5740\u900f\u8fc7 8888 \u7aef\u53e3\u8bbf\u95ee code-server\necho bind-addr: 0.0.0.0:8888 &gt; .config\/code-server\/config.yaml\necho auth: password &gt;&gt; .config\/code-server\/config.yaml\n#### \u8bbe\u5b9a\u5bc6\u7801\u4e3a\uff1aXXXXXX \necho password: XXXXXX &gt;&gt; .config\/code-server\/config.yaml\necho cert: false &gt;&gt; .config\/code-server\/config.yaml\n#### \u68c0\u67e5\u8bbe\u7f6e\uff1a\ncat .config\/code-server\/config.yaml\n\n#### 4. \u6253\u5f00\u9632\u706b\u5899\u7684 8888 \u7aef\u53e3\u3002\necho 4. \u6253\u5f00\u9632\u706b\u5899\u7684 8888 \u7aef\u53e3\u3002\nsudo ufw allow 8888\n\n#### \uff01\uff01\u6b64\u5916\u5728 oracle \u7684\u5b50\u7f51\u8bbe\u5b9a\u7684\u5165\u7ad9\u89c4\u5219\u4e5f\u9700\u8981\u6253\u5f008888\u7aef\u53e3\u3002\uff01\uff01\necho \uff01\uff01\u6b64\u5916\u5728 oracle \u7684\u5b50\u7f51\u8bbe\u5b9a\u7684\u5165\u7ad9\u89c4\u5219\u4e5f\u9700\u8981\u6253\u5f008888\u7aef\u53e3\u3002\uff01\uff01\n\n\n#### 5. \u5728\u540e\u53f0\u542f\u52a8\u4e0d\u505c\u6b62\u7684 code-server\necho 5. \u5728\u540e\u53f0\u542f\u52a8\u4e0d\u505c\u6b62\u7684 code-server\nnohup code-server &amp;\n\n<\/code><\/pre>\n<h2>4.3. \u7f51\u9875\u900f\u8fc7 \u9009\u62e9\u7684 8888\u7aef\u53e3\u8fde\u63a5 code-server:<\/h2>\n<p>\u5728\u6d4f\u89c8\u5668\u8fde\u63a5\u6211\u7684\u7f51\u7ad9  <code>vm0.go2see.co:8888<\/code>\uff0c\u5373\u53ef\u900f\u8fc7\u5bc6\u7801\u8fde\u63a5<\/p>\n<h2>4.4. \u6d4b\u8bd5\u6548\u679c\uff1a<\/h2>\n<p>\u3002\u3002\u3002\u5728\u7246\u570b\u5e38\u65ad\u7ebf\uff0c\u9700\u8981\u91cd\u65b0\u542f\u52a8 code-server\u624d\u80fd\u91cd\u8fde\u3002\u3002\u3002<\/p>\n<hr \/>\n<h1>5. \u5b89\u88dd XRDP\u670d\u52d9\uff0c\u63d0\u4f9b\u8fdc\u7aef\u684c\u9762<\/h1>\n<blockquote><p>\n  <span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u26a0\ufe0f\u4e0d\u8981\u5728\u53ea\u67091GB RAM \u7684 x86\u5b89\u88dd\uff01\uff01\u7cfb\u7d71\u53ef\u80fd\u5d29\u6f70<\/span>\n<\/p><\/blockquote>\n<h2>5.1 \u4e00\u9375\u5b89\u88dd<\/h2>\n<pre><code class=\"language-sh \"># 0. XRDP\u6700\u597d\u7528\u8f83\u65b0\u7684\uff0c\u66f4\u65b0\u4e00\u4e0b\u7cfb\u7edf\u5427\u3002\u3002\u3002\nsudo apt upgrade -y \n\n# 1. \u5b89\u88c5 X11 + xrdp\nsudo apt install -y ubuntu-desktop xrdp \n\n# 2. \u89e3\u51b3RDP\u767b\u5f55\u65f6\u53cd\u590d\u9a8c\u8bc1\u95ee\u9898\necho \"[Allow Wifi Scan]\nIdentity=unix-user:*\nAction=org.freedesktop.NetworkManager.wifi.scan;org.freedesktop.NetworkManager.enable-disable-wifi;org.freedesktop.NetworkManager.settings.modify.own;org.freedesktop.NetworkManager.settings.modify.system;org.freedesktop.NetworkManager.network-control\nResultAny=yes\nResultInactive=yes\nResultActive=yes\" | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/47-allow-wifiscan.pkla\n\n# 3. \u89e3\u51b3\u201c\u8272\u5f69\u7ba1\u7406\u8bbe\u5907\u201d \/ \u201ccolor managed device\u201d \u5f39\u7a97\necho \"[Allow Colord all Users]\nIdentity=unix-user:*\nAction=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile\nResultAny=no\nResultInactive=no\nResultActive=yes\" | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/45-allow-colord.pkla\n\n# 4. \u89e3\u51b3\u201c\u5237\u65b0\u7cfb\u7edf\u8f6f\u4ef6\u6e90\u9700\u8981\u8ba4\u8bc1\u201d \/ \u201crefresh the system repositories\u201d \u5f39\u7a97\necho \"[Allow Refresh Repository all Users]\nIdentity=unix-user:*\nAction=org.freedesktop.packagekit.system-sources-refresh\nResultAny=no\nResultInactive=no\nResultActive=yes\" | sudo tee \/etc\/polkit-1\/localauthority\/50-local.d\/46-allow-packagekit.pkla\n\n# 5. \u6ce8\u91ca\u6389 `AutomaticLoginEnable` \u548c `AutomaticLogin` \u53d8\u91cf\uff1a\nsudo sed -i 's\/AutomaticLoginEnable\/#AutomaticLoginEnable' \/etc\/gdm3\/custom.conf\nsudo sed -i 's\/AutomaticLogin\/#AutomaticLogin' \/etc\/gdm3\/custom.conf\n\n# \u91cd\u542fRDP\u670d\u52a1\nsudo systemctl restart xrdp\n# \u67e5\u770b XRDP\u670d\u52a1\nsudo systemctl status xrdp\n\n<\/code><\/pre>\n<h1><a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.cnblogs.com\/tros\/p\/16517193.html\">6. \u3010\u89c6\u9700\u8981\u3011Wabdav-ubuntu\u901a\u8fc7nginx\u642d\u5efawebdav\u670d\u52a1\u5668<\/a><\/h1>\n<h2>6.1 webdav Info<\/h2>\n<p>\u2003\u2003WebDAV \uff08Web-based Distributed Authoring and Versioning\uff09 \u4e00\u79cd\u57fa\u4e8e <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/baike.baidu.com\/item\/HTTP\">HTTP<\/a> 1.1\u534f\u8bae\u7684<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/baike.baidu.com\/item\/\u901a\u4fe1\u534f\u8bae\/3351624\">\u901a\u4fe1\u534f\u8bae<\/a>\u3002\u5b83<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/baike.baidu.com\/item\/\u6269\u5c55\/2732987\">\u6269\u5c55<\/a>\u4e86HTTP 1.1\uff0c\u5728GET\u3001POST\u3001HEAD\u7b49\u51e0\u4e2aHTTP\u6807\u51c6\u65b9\u6cd5\u4ee5\u5916\u6dfb\u52a0\u4e86\u4e00\u4e9b\u65b0\u7684\u65b9\u6cd5\uff0c\u4f7f<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/baike.baidu.com\/item\/\u5e94\u7528\u7a0b\u5e8f\/5985445\">\u5e94\u7528\u7a0b\u5e8f<\/a>\u53ef\u5bf9[Web Server](https:\/\/baike.baidu.com\/item\/Web Server\/9306055)\u76f4\u63a5\u8bfb\u5199\uff0c\u5e76\u652f\u6301\u5199\u6587\u4ef6\u9501\u5b9a(Locking)\u53ca\u89e3\u9501(Unlock)\uff0c\u8fd8\u53ef\u4ee5\u652f\u6301\u6587\u4ef6\u7684<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/baike.baidu.com\/item\/\u7248\u672c\u63a7\u5236\/3311252\">\u7248\u672c\u63a7\u5236<\/a>\u3002<\/p>\n<p>\u2014\u2014\u6765\u81ea\u767e\u5ea6\u767e\u79d1https:\/\/baike.baidu.com\/item\/WebDAV<\/p>\n<h2>6.2 \u5b89\u88c5nginx-full<\/h2>\n<p>\u901a\u8fc7nginx\u642d\u5efawebdav\u670d\u52a1\u9700\u8981\u5b89\u88c5http_dav_module\u6a21\u5757\u3002nginx-full\u7248\u672c\u4e2d\u76f4\u63a5\u5305\u542b\u4e86http_dav_module\u6a21\u5757\u3002<\/p>\n<p>\u5b89\u88c5\u547d\u4ee4\uff1a<\/p>\n<pre><code class=\"language-bash \">sudo apt install nginx-full\n\nsudo ufw allow 8081 # \u6253\u958b\u9632\u706b\u7246\uff0c\u60f3\u75288081\u7aef\u53e3\nsudo mkdir -p \/home\/webdav\nsudo chown -R www-data:www-data \/home\/webdav\n<\/code><\/pre>\n<h2>6.3 \u7f16\u8f91webdav\u914d\u7f6e\u6587\u4ef6<\/h2>\n<h3>6.3.1 \u65b0\u5efawebdav.conf\u914d\u7f6e\u6587\u4ef6<\/h3>\n<pre><code class=\"language-bash \">sudo pico \/etc\/nginx\/conf.d\/webdav.conf\n<\/code><\/pre>\n<h3>6.3.2 \u5199\u5165\u914d\u7f6e\u5185\u5bb9<\/h3>\n<pre><code class=\"language-makefile \">server {\n    # \u9009\u62e9\u670d\u52a1\u7aef\u53e3\n    listen 8081;\n    listen [::]:8081;\n    server_name localhost;\n\n    # \u8ba4\u8bc1\u65b9\u5f0f\n    auth_basic              realm_name;\n    # \u5b58\u653e\u8ba4\u8bc1\u7528\u6237\u540d\u3001\u5bc6\u7801\u6587\u4ef6\uff08\u786e\u8ba4\u6709\u5bf9\u5e94\u6743\u9650\uff09\n    auth_basic_user_file    \/etc\/webdav\/.credentials.list;\n    # webdav\u670d\u52a1\u8bbf\u95ee\u7684\u6839\u76ee\u5f55\n    root \/home\/webdav\/;\n\n    # \u8bbe\u7f6e\u4f7f\u7528utf-8\u7f16\u7801,\u9632\u6b62\u4e2d\u6587\u6587\u4ef6\u540d\u4e71\u7801\n    charset utf-8;\n\n    # dav \u5141\u8bb8\u7684\u64cd\u4f5c\n    dav_methods     PUT DELETE MKCOL COPY MOVE;\n    # Allow current scope perform specified DAV method\n    dav_ext_methods PROPFIND OPTIONS;\n\n    # In this folder, newly created folder or file is to have specified permission. If none is given, default is user:rw. If all or group permission is specified, user could be skipped\n    # \u521b\u5efa\u6587\u4ef6\u7684\u4e09\u7ea7\u9ed8\u8ba4\u6743\u9650\uff0c\u9ed8\u8ba4user\n    dav_access      user:rw group:rw all:r;\n\n    # \u4e34\u65f6\u6587\u4ef6\u4f4d\u7f6e\n    client_body_temp_path   \/tmp\/webdav;\n\n    # \u6700\u5927\u4e0a\u4f20\u6587\u4ef6\u9650\u5236, 0\u8868\u793a\u65e0\u9650\u5236\n    client_max_body_size    0;\n\n    # \u5141\u8bb8\u81ea\u52a8\u521b\u5efa\u6587\u4ef6\u5939(\u5982\u679c\u6709\u9700\u8981\u7684\u8bdd)\n    create_full_put_path    on;\n}\n<\/code><\/pre>\n<h3>6.3.3 \u6d4b\u8bd5\u914d\u7f6e\u6587\u4ef6<\/h3>\n<pre><code class=\"language-bash \">sudo nginx -t\n<\/code><\/pre>\n<h3>6.4 \u521b\u5efa\u7528\u6237\u767b\u5f55\u9a8c\u8bc1\u4fe1\u606f\uff08\u7528\u6237\u540d-\u5bc6\u7801\uff09<\/h3>\n<pre><code class=\"language-bash \">sudo mkdir -p \/etc\/webdav\/\n\nsudo echo -n 'root:' | tee -a \/etc\/webdav\/.credentials.list\nsudo openssl passwd -apr1 PASSWORD | tee -a \/etc\/webdav\/.credentials.list\n\nsudo echo -n 'cyue:' | tee -a \/etc\/webdav\/.credentials.list\nsudo openssl passwd -apr1 PASSWORD | tee -a \/etc\/webdav\/.credentials.list\nsudo echo -n 'johnny:' | tee -a \/etc\/webdav\/.credentials.list\nsudo openssl passwd -apr1 PASSWORD | tee -a \/etc\/webdav\/.credentials.list\nsudo echo -n 'tony:' | tee -a \/etc\/webdav\/.credentials.list\nsudo openssl passwd -apr1 PASSWORD | tee -a \/etc\/webdav\/.credentials.list\n<\/code><\/pre>\n<h3>6.5 \u91cd\u542fnginx\u670d\u52a1<\/h3>\n<pre><code class=\"language-bash \">sudo systemctl restart nginx\n<\/code><\/pre>\n<p>\u67e5\u770bnginx\u72b6\u6001<\/p>\n<pre><code class=\"language-bash \">sudo systemctl status nginx\n<\/code><\/pre>\n<h3>6.6 nginx\u91cd\u542f\u6210\u529f\u540e\u5373\u53ef\u8bbf\u95eewebdav\u670d\u52a1<\/h3>\n<p>http:\/\/\u4e3b\u673aIP:8081<\/p>\n<p>\u8f93\u5165\u914d\u7f6e\u7684\u7528\u6237\u540d\u548c\u5bc6\u7801\u9a8c\u8bc1\u6210\u529f\u540e\u4fbf\u53ef\u6b63\u5e38\u8fdb\u884c\u64cd\u4f5c<\/p>\n<h3>6.7 \u6269\u5c55<\/h3>\n<p>\u53ef\u4ee5\u642d\u914dfrp\u7b49\u5185\u7f51\u7a7f\u900f\u5de5\u5177\u5c06\u672c\u5730webdav\u670d\u52a1\u66b4\u9732\uff0c\u8fd9\u6837\u5c31\u53ef\u4ee5\u5c06\u672c\u5730\u4e3b\u673a\u5f53\u505a\u7f51\u76d8\u6765\u4f7f\u7528\u3002<\/p>\n<p>\u624b\u673a\u5ba2\u6237\u7aef\u53ef\u4f7f\u7528ES\u6587\u4ef6\u6d4f\u89c8\u5668\uff0c\u4f7f\u7528\u6548\u679c\u826f\u597d\u3002<\/p>\n<p>\u73a9\u6cd5\u633a\u591a\uff0c\u6162\u6162\u63a2\u7a76\u3002<\/p>\n<h1>7. \u3010\u975e\u5fc5\u8981\u3011\u5b89\u88c5SFTP\u670d\u52a1<\/h1>\n<p>Sftp  \u662f SSH\u7684\u4e00\u90e8\u5206\u3002\u53ef\u4ee5\u628aSSH\u548cSFTP\u5340\u5206\uff0c\u9650\u5236\u4e00\u4e9b\u5ba2\u6236\u53ea\u80fd\u5728\u670d\u52d9\u5668\u4e0a\u50b3\u4e0b\u8f09\u6587\u4ef6\uff0c\u4e0d\u80fdSSH\u9032\u670d\u52d9\u5668\u3002<\/p>\n<blockquote>\n<ul>\n<li>sftp\u662fSecure File Transfer Protocol\u7684\u7f29\u5199\uff0c\u5b89\u5168\u6587\u4ef6\u4f20\u9001\u534f\u8bae\u3002\u53ef\u4ee5\u4e3a\u4f20\u8f93\u6587\u4ef6\u63d0\u4f9b\u4e00\u79cd\u5b89\u5168\u7684\u7f51\u7edc\u7684<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/so.csdn.net\/so\/search?q=\u52a0\u5bc6&amp;spm=1001.2101.3001.7020\">\u52a0\u5bc6<\/a>\u65b9\u6cd5\u3002<\/p>\n<\/li>\n<li>\n<p>sftp \u4e0e ftp \u6709\u7740\u51e0\u4e4e\u4e00\u6837\u7684\u8bed\u6cd5\u548c\u529f\u80fd\u3002SFTP \u4e3a SSH\u7684\u5176\u4e2d\u4e00\u90e8\u5206\uff0c\u662f\u4e00\u79cd\u4f20\u8f93\u6863\u6848\u81f3 Blogger \u4f3a\u670d\u5668\u7684\u5b89\u5168\u65b9\u5f0f\u3002<\/p>\n<\/li>\n<li>\n<p>\u5176\u5b9e\u5728SSH\u8f6f\u4ef6\u5305\u4e2d\uff0c\u5df2\u7ecf\u5305\u542b\u4e86\u4e00\u4e2a\u53eb\u4f5cSFTP(Secure File Transfer Protocol)\u7684\u5b89\u5168\u6587\u4ef6\u4fe1\u606f\u4f20\u8f93\u5b50\u7cfb\u7edf**\u3002 **SFTP\u672c\u8eab\u6ca1\u6709\u5355\u72ec\u7684\u5b88\u62a4\u8fdb\u7a0b\uff0c\u5b83\u76f4\u63a5\u4f7f\u7528sshd\u5b88\u62a4\u8fdb\u7a0b\uff08\u7aef\u53e3\u53f7\u9ed8\u8ba4\u662f22\uff09\u6765\u5b8c\u6210\u76f8\u5e94\u7684\u8fde\u63a5\u3002<\/p>\n<\/li>\n<li>SFTP\u540c\u6837\u7528SSH\u52a0\u5bc6\u4f20\u8f93\u8ba4\u8bc1\u4fe1\u606f\u548c\u4f20\u8f93\u7684\u6570\u636e\uff0c\u4f7f\u7528SFTP\u975e\u5e38\u5b89\u5168\uff0c\u4f46\u6548\u7387\u6bd4FTP\u8981\u4f4e\u5f97\u591a\u3002<\/li>\n<\/ul>\n<\/blockquote>\n<p>\u90e8\u5206 <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/so.csdn.net\/so\/search?q=Ubuntu&amp;spm=1001.2101.3001.7020\">Ubuntu<\/a>\u9ed8\u8ba4\u53ea\u5b89\u88c5openssh-client\uff0c\u9700\u8981\u624b\u52a8\u5b89\u88c5openssh-server\u6216\u8005sftp-server\u3002<br \/>\n\uff08\u7532\u9aa8\u6587\u63d0\u4f9b\u7684 Ubuntu22.04\u76ee\u524d\u5df2\u5b89\u88dd openssh-server\uff09<\/p>\n<pre><code class=\"language-bash \">sudo apt update -y\nsudo apt install openssh-server -y\n<\/code><\/pre>\n<h2>7.1 \u76ee\u6807<\/h2>\n<p>\u5728Ubuntu\u7cfb\u7edf\u4e0a\u5f00\u901asftp\u6587\u4ef6\u670d\u52a1\uff0c\u5141\u8bb8\u67d0\u4e9b\u7528\u6237\u4e0a\u4f20\u53ca\u4e0b\u8f7d\u6587\u4ef6\u3002<\/p>\n<p>\u4f46\u662f\u8fd9\u4e9b\u7528\u6237\u53ea\u80fd\u4f7f\u7528sftp\u4f20\u8f93\u6587\u4ef6\uff0c\u4e0d\u80fd\u4f7f\u7528<a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/so.csdn.net\/so\/search?q=SSH&amp;spm=1001.2101.3001.7020\">SSH<\/a>\u7ec8\u7aef\u8bbf\u95ee\u670d\u52a1\u5668\uff0c\u5e76\u4e14sftp\u4e0d\u80fd\u8bbf\u95ee\u7cfb\u7edf\u6587\u4ef6\u3002<\/p>\n<p>\u7cfb\u7edf\u7ba1\u7406\u5458\u5219\u65e2\u80fd\u4f7f\u7528sftp\u4f20\u8f93\u6587\u4ef6\uff0c\u4e5f\u80fd\u4f7f\u7528SSH\u8fdc\u7a0b\u7ba1\u7406\u670d\u52a1\u5668\u3002<\/p>\n<h2>7.2 \u64cd\u4f5c\u6b65\u9aa4<\/h2>\n<h3>7.2.1 sftp\u7528\u6237\u3001\u7528\u6237\u7ec4\u7684\u521b\u5efa<\/h3>\n<ul>\n<li>\u6dfb\u52a0sftp\u7528\u6237\uff0c<span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">\u521b\u5efa sftp \u7528\u6237\u7ec4<\/span><\/li>\n<\/ul>\n<pre><code class=\"language-bash \">sudo adduser cyue\nsudo adduser johnny\nsudo adduser tony\nsudo adduser shari\n\nsudo addgroup sftp-users\n\n\n# \u5c06cyue\u4ece\u6240\u6709\u5176\u4ed6\u7528\u6237\u7ec4\u4e2d\u79fb\u9664\u5e76\u52a0\u5165\u5230sftp-users\u7ec4\uff0c\u5e76\u4e14\u5173\u95ed\u5176Shell\u8bbf\u95ee\n#\/bin\/false\u4e5f\u53ef\u4ee5\u66ff\u6362\u4e3a\/sbin\/nologin\uff0c\u76ee\u7684\u662f\u4e0d\u5141\u8bb8\u8be5\u7528\u6237\u767b\u5f55\u5230\u7cfb\u7edf\u4e2d\n#sudo usermod -G sftp-users -s \/bin\/false cyue\n\n<\/code><\/pre>\n<ul>\n<li>\u521b\u5efasftp\u670d\u52a1\u5668\u7684\u7ba1\u7406\u5458\u8eab\u4efd\uff0c\u5e76\u4e14\u52a0\u5165 <span class=\"text-highlighted-inline\" style=\"background-color: #fffd38;\">ssh \u7528\u6237\u7ec4<\/span>\uff08\u4e0d\u9650\u5236\u4ed6\u7684shell\u64cd\u4f5c\u6743\u9650\uff09<\/li>\n<\/ul>\n<pre><code class=\"language-bash \">sudo adduser admin\nsudo addgroup ssh-users\n# -a \u8868\u793a\u4ee5\u8ffd\u52a0\u5f62\u5f0f\u5c06 admin \u52a0\u5165 ssh-users \nsudo usermod -a -G ssh-users admin\n\nsudo adduser cyue ssh-users\nsudo adduser johnny ssh-users\nsudo adduser tony ssh-users\nsudo adduser shari ssh-users\n<\/code><\/pre>\n<h3>7.2.2 \u521b\u5efa\u6587\u4ef6\u670d\u52a1\u5668\u76ee\u5f55<\/h3>\n<ul>\n<li>\u521b\u5efa\u670d\u52a1\u5668\u6587\u4ef6\u76ee\u5f55<\/li>\n<\/ul>\n<pre><code class=\"language-bash \"># \u521b\u5efa\u76d1\u72f1\u76ee\u5f55\nsudo mkdir \/home\/sftp_root\n# \u666e\u901a\u7528\u6237\u80fd\u591f\u5199\u5165\u7684\u5171\u4eab\u6587\u4ef6\u76ee\u5f55\nsudo mkdir \/home\/sftp_root\/shared\n# \u8bbe\u7f6e\u5171\u4eab\u6587\u4ef6\u5939\u7684\u62e5\u6709\u8005\u4e3a\u7ba1\u7406\u5458\u3001\u7528\u6237\u7ec4\u4e3a sftp-users\nsudo chown admin:sftp-users \/home\/sftp_root\/shared\n# \u62e5\u6709\u8005\u3001sftp\u7528\u6237\u7ec4\u7684\u6210\u5458\u5177\u6709\u4e00\u5207\u6743\u9650\nsudo chmod 770 \/home\/sftp_root\/shared\n<\/code><\/pre>\n<h3>7.2.3 \u6743\u9650\u914d\u7f6e(\u53ef\u9078)<\/h3>\n<p>\u9ed8\u8ba4\u5141\u8bb8\u6240\u6709\u7528\u6237\u6216\u8005\u7528\u6237\u7ec4\u767b\u5f55\u3002\u518d\u6b64\u6dfb\u52a0 <code>\/etc\/ssh\/sshd_config<\/code>\uff0c\u82e5\u4ec5\u5141\u8bb8\u6307\u5b9a\u7528\u6237\u6216\u8005\u7528\u6237\u7ec4\u8bbf\u95ee\uff0c\u6309\u7167\u4ee5\u4e0b\u683c\u5f0f\u914d\u7f6e:<\/p>\n<pre><code class=\"language-bash \"># \u4ee5\u7a7a\u683c\u95f4\u9694\n#AllowUsers user1 user2 \n#AllowGroups group1 group2 \n<\/code><\/pre>\n<pre><code class=\"language-bash \">sudo pico \/etc\/ssh\/sshd_config\n<\/code><\/pre>\n<p>\u5728sshd_config\u6587\u4ef6\u7684\u6700\u540e\uff0c\u6dfb\u52a0\u4ee5\u4e0b\u5185\u5bb9\uff1a<\/p>\n<pre><code class=\"language-bash \">AllowGroups ssh-users sftp-users\nMatch Group sftp-users\nChrootDirectory \/home\/sftp_root\nAllowTcpForwarding no\nX11Forwarding no\nForceCommand internal-sftp\n<\/code><\/pre>\n<p>\u8fd9\u6837\u914d\u7f6e\u7684\u76ee\u7684\u662f\uff1a<\/p>\n<ul>\n<li>\u53ea\u5141\u8bb8ssh-uers\u53casftp-users\u901a\u8fc7SSH\u8bbf\u95ee\u7cfb\u7edf\uff0c\u5176\u4e2dssh-uers\u7528\u6237\u7ec4\u53ef\u4ee5\u4f7f\u7528ssh\uff0c\u5e76\u4e14\u4e0d\u53d7\u5176\u4ed6\u9650\u5236\u3002\n<p>\u800cSFTP\u7528\u6237\u7ec4\u4ec5\u80fd\u4f7f\u7528SFTP\u8fdb\u884c\u8bbf\u95ee\uff0c\u4e14\u4e0d\u80fd\u4f7f\u7528shell<\/p>\n<\/li>\n<li>\n<p>\u9488\u5bf9sftp-users\u7528\u6237\uff0c\u989d\u5916\u589e\u52a0\u4e00\u4e9b\u8bbe\u7f6e\uff1a\u5c06\u201c\/home\/sftp_root\u201d\u8bbe\u7f6e\u4e3a\u8be5\u7ec4\u7528\u6237\u7684\u7cfb\u7edf\u6839\u76ee\u5f55\uff08\u56e0\u6b64\u5b83\u4eec\u5c06\u4e0d\u80fd\u8bbf\u95ee\u8be5\u76ee\u5f55\u4e4b\u5916\u7684\u5176\u4ed6\u7cfb\u7edf\u6587\u4ef6;<\/p>\n<\/li>\n<li>\n<p>\u7981\u6b62TCP Forwarding\u548cX11 Forwarding<\/p>\n<\/li>\n<\/ul>\n<p>\u53e6\u5916\u9700\u8981\u6ce8\u610f\u7684\u662f\uff1a<strong>ChrootDirectory\u7684\u6743\u9650\u95ee\u9898\uff0c\u4f60\u8bbe\u5b9a\u7684\u76ee\u5f55\u5fc5\u987b\u662froot\u7528\u6237\u6240\u6709<\/strong>\uff0c\u5426\u5219\u5c31\u4f1a\u51fa\u73b0\u95ee\u9898\u3002\u6240\u4ee5\u8bf7\u786e\u4fddsftp\u7528\u6237\u6839\u76ee\u5f55\u7684\u6240\u6709\u4eba\u662froot, \u6743\u9650\u662f 750 \u6216\u8005 755\u3002<\/p>\n<p>\u9700\u8981\u6ce8\u610f\u7684\u4e00\u70b9\u7684\u662f\uff0c\u73b0\u5728\u6240\u6709\u9700\u8981\u8fdc\u7a0b\u8fde\u63a5\u7684\u7528\u6237\u90fd\u5fc5\u987b\u52a0\u5165 ssh-users \u624d\u884c\u3002<\/p>\n<p>\u5982\u5c06\u7528\u6237 Tony \u52a0\u5165 \uff0c\u8fd9\u6837ta\u5c31\u53ef\u4ee5\u4f7f\u7528ssh\u8fde\u63a5\u672c\u673a\u3002<\/p>\n<pre><code class=\"language-bash \">sudo usermod -a -G ssh-users tony\n<\/code><\/pre>\n<ul>\n<li><strong>\u9650\u5236ssh\u8fde\u63a5\u7684\u8bbf\u95eeIP<\/strong><\/li>\n<\/ul>\n<p>\u7de8\u8f2f <code>\/etc\/ssh\/sshd_config<\/code> \uff1a<\/p>\n<pre><code class=\"language-bash \">#sudo pico \/etc\/ssh\/sshd_config\n\n# Authentication:\n#AllowUsers root@10.10.10.*        #\u9650\u5236root\u7528\u6237\u53ea\u80fd\u901a\u8fc710.10.10.*\u7f51\u6bb5\u767b\u5f55\u8bbf\u95ee\n#AllowUsers charles@10.10.10.*        #\u9650\u5236charles\u7528\u6237\u53ea\u80fd\u901a\u8fc710.10.10.*\u7f51\u6bb5\u767b\u5f55\u8bbf\u95ee\nAllowUsers cyue\nAllowUsers tony\nAllowUsers johnny\nAllowUsers shari\n\n\n<\/code><\/pre>\n<h3>7.2.4 \u91cd\u542fSSH<\/h3>\n<pre><code class=\"language-bash \"># \u4ea6\u53ef\n# \/etc\/init.d\/ssh restart\nservice ssh restart\n<\/code><\/pre>\n<blockquote><p>\n  \u53c2\u8003\u535a\u5ba2<\/p>\n<p>  <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/www.jianshu.com\/p\/6b588a712513\">\u642d\u5efasftp\u670d\u52a1\u5668<\/a>\n<\/p><\/blockquote>\n<hr \/>\n<h1>8 \u3010\u975e\u5fc5\u8981\u3011Oracle\u4e91\u670d\u52a1\u5668\u5f00\u542fIPv6<\/h1>\n<p>\u767b\u5f55Oracle\u540e\u53f0\uff0c\u524d\u5f80 \u7f51\u7edc -> \u865a\u62df\u4e91\u7f51\u7edc -> \u9009\u62e9\u67e5\u770b\u7f51\u7edc\u8be6\u60c5<\/p>\n<h2>8.1 \u4fee\u6539CIDR\u5757\uff0c\u6dfb\u52a0 IPv6\u5757<\/h2>\n<p>\u5728\u7f51\u7edc\u8be6\u60c5\u4e2d\uff0c\u70b9\u51fb\u5de6\u4fa7CIDR\u5757 -> \u70b9\u51fb \u3010\u6dfb\u52a0 IPv6 CIDR\u5757\u3011<\/p>\n<h2>8.2 \u4fee\u6539\u5b50\u7f51\uff0c\u8bbe\u7f6eIPv6<\/h2>\n<p>\u6253\u5f00\u5b50\u7f51\uff0c\u7f16\u8f91\u5b50\u7f51\u4fe1\u606f\uff0c\u52fe\u9009\u201c\u542f\u7528IPV6 CIDR\u5757\u201d\uff0c\u5728\u8f93\u5165\u6846\u968f\u4fbf\u8f93\u5165\u4e00\u4e2a\u5341\u516d\u4f4d\u503c\uff0c\u4f8b\u5982\uff1aee<\/p>\n<p>\u4fdd\u5b58\u540e\uff0cIPv6 CIDR\u5757\u6dfb\u52a0\u6210\u529f<\/p>\n<h2>8.3 \u4fee\u6539\u8def\u7531\u8868\uff0c\u6dfb\u52a0\u8def\u7531\u89c4\u5219<\/h2>\n<p>\u8def\u7531\u8868 -> \u8def\u7531\u8868\u8be6\u60c5 -> \u6dfb\u52a0\u8def\u7531\u89c4\u5219\uff1a<\/p>\n<blockquote><p>\n  \u76ee\u6807\u7c7b\u578b\uff1aInternet\u7f51\u5173<\/p>\n<p>  \u76ee\u7684\u5730 CIDR \u5757\uff1a::\/0 (\u6ce8\u610f2\u4e2a\u5192\u53f7)\n<\/p><\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221028010957215-1024x667.png\" alt=\"\" \/><\/p>\n<h2>8.4 \u4fee\u6539\u5b89\u5168\u89c4\u5219<\/h2>\n<p>\u4e0eIPv4\u76f8\u540c\uff0c\u4fee\u6539\u5b89\u5168\u5217\u8868 -> \u67e5\u770b\u8be6\u60c5 -> \u6dfb\u52a0\u51fa\u7ad9\u89c4\u5219 \u548c \u6dfb\u52a0 \u5165\u7ad9\u89c4\u5219<\/p>\n<h3>8.4.1 \u51fa\u7ad9\u89c4\u5219\uff1a<\/h3>\n<ul>\n<li>\u76ee\u7684\u5730CIDR   <code>::\/0<\/code><\/li>\n<li>IP\u534f\u8bae\uff1a\u6240\u6709\u534f\u8bae<\/li>\n<\/ul>\n<h3>8.4.2 \u5165\u7ad9\u89c4\u5219\uff1a<\/h3>\n<ul>\n<li>\u6e90 CIDR\uff1a<code>::\/0<\/code><\/li>\n<li>ipv4\u6709\u7684\u89c4\u5219\u90fd\u6dfb\u52a0\u3002<\/li>\n<\/ul>\n<blockquote><p>\n  \u76ee\u7684\u5730\u7c7b\u578b\uff1aCIDR\u76ee\u7684\u5730 CIDR\uff1a::\/0 (\u6ce8\u610f2\u4e2a\u5192\u53f7)<\/p>\n<p>  IP\u534f\u8bae\uff1a\u6240\u6709\u534f\u8bae<\/p>\n<p>  \u83b7\u53d6IPv6\u5730\u5740\n<\/p><\/blockquote>\n<p>\u8fd4\u56de\u670d\u52a1\u5668\u5b9e\u4f8b\u8be6\u60c5 -> \u9644\u52a0\u7684 VNIC -> \u70b9\u51fbVNIC\u8be6\u60c5\uff0c\u5de6\u4fa7\u53ef\u89c1\u591a\u4e86\u4e00\u4e2aIPv6\u5730\u5740 \u7684\u9009\u9879\uff01<\/p>\n<p>\u70b9\u51fb \u3010\u5206\u914d IPv6 \u5730\u5740\u3011\uff0c\u5373\u53ef\u83b7\u5f97IPv6\u5730\u5740\u3002<\/p>\n<h2>8.5 Sshd \u5141\u8bb8 ipv6<\/h2>\n<pre><code class=\"language-sh \"># \u7f16\u8f91  \/etc\/ssh\/sshd_config ,\u53d6\u6d88 #AddressFamily \u524d \u2018#\u2019 \u53f7\uff1a\nsudo sed -i 's\/#AddressFamily\/AddressFamily\/g' \/etc\/ssh\/sshd_config\n# \u91cd\u542f sshd\uff1a\nsudo systemctl restart sshd\n#netstat -tupln\n<\/code><\/pre>\n<hr \/>\n<h1>9 \u958b\u767c\u74b0\u5883\u5b89\u88dd<\/h1>\n<h2>9.1 \u4e00\u822c\u958b\u767c\u74b0\u5883<\/h2>\n<pre><code class=\"language-sh \"># compilers\nsudo apt install clang gcc cmake python3 python3-tk python3-pip -y\n\n# vscode for many languages\nsudo apt install code -y\n\n# Thonny for python\nsudo apt install thonny -y\n<\/code><\/pre>\n<h2>9.2 \u5b89\u88c5rust<\/h2>\n<pre><code class=\"language-sh \"># 1.\u5b89\u88c5curl\nsudo apt install curl -y\n\n# 2.\u5b89\u88c5rust, \u5b89\u88dd\u9078\u9805\u9078 1. \u9ed8\u8a8d\u5b89\u88dd\ncurl https:\/\/sh.rustup.rs -sSf | sh\n\n# 3. \u904b\u884crust\u524d\u7684\u74b0\u5883\u8b8a\u91cf\u8a2d\u5b9a\uff08\u6b64\u6307\u4ee4\u5df2\u7d93\u88ab\u653e\u5728 .bashrc \u4e86\uff0c\u4ee5\u5f8c\u767b\u5165\u4e0d\u5fc5\u518d\u57f7\u884c\uff09\nsource $HOME\/.cargo\/env\n\n#4.\u67e5\u770b\u7248\u672c\nrustc -V\n<\/code><\/pre>\n<h1>10 SNAP Chromium<\/h1>\n<pre><code class=\"language-sh \">sudo apt install snap\nsudo snap install chromium\n<\/code><\/pre>\n<hr \/>\n<h1>A <a class=\"wp-editor-md-post-content-link\" href=\"https:\/\/iweec.com\/158.html\">\u9644\u5f55\uff1aVPS\u5e38\u7528\u6027\u80fd\u6d4b\u8bd5\u811a\u672c<\/a><\/h1>\n<pre><code class=\"language-sh \">wget -qO- bench.sh | bash\n<\/code><\/pre>\n<p>\u770b\u4f86\u5ee3\u5dde\u5230\u5927\u962a\u7dda\u8def\u5f88\u5dee\uff0c\u5e7e\u4e4e\u4e0d\u80fd\u7528\u3002\u5ee3\u5dde\u5230\u53f0\u5317\uff0c\u6a5f\u5668\u96d6\u8001\uff0c\u4f46\u50b3\u8f38\u9084\u52c9\u5f37\u53ef\u7528\u3002\u3002\u3002<\/p>\n<ul>\n<li>\u5927\u962a\uff1a<img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017170609660-704x1024.png\" alt=\"\" \/><\/li>\n<li>\u53f0\u7063\uff1a<img decoding=\"async\" src=\"https:\/\/vm1.go2see.me\/wp-content\/uploads\/image-20221017172257816-704x1024.png\" alt=\"\" \/><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>(\u5b98\u7f51\u622a\u56fe) \u76ee\u9304 [toc] 0 \u5728Oracle\u57fa\u5730\u514d\u8cbb\u67b6\u7ad9\uff08\u5927\u962a\uff09 0.1 \u514d\u8cbb\u7d04\u5b9a \u6c38\u4e45\u514d\u8cbb\u7b97\u529b\uff1a\u63d0\u4f9b\u5169&#8230; &raquo; <a class=\"read-more-link\" href=\"https:\/\/vm1.go2see.me\/?p=83\">\u95b1\u8b80\u5168\u6587<\/a><\/p>\n","protected":false},"author":1,"featured_media":108,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-83","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":14,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":100,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions\/100"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=\/wp\/v2\/media\/108"}],"wp:attachment":[{"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vm1.go2see.me\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}