Linux中国
1.71K subscribers
777 photos
6.34K links
Linux 中国官方 Telegram 频道
Download Telegram
如何构建一台网络引导服务器(四)

<a href="https://dn-linuxcn.qbox.me/data/attachment/album/201901/23/222618djzymxhxdrwjrqrd.jpg">Media</a>&#22312;&#26412;&#31995;&#21015;&#25945;&#31243;&#20013;&#25152;&#26500;&#24314;&#30340;&#32593;&#32476;&#24341;&#23548;&#26381;&#21153;&#22120;&#26377;&#19968;&#20010;&#24456;&#37325;&#35201;&#30340;&#38480;&#21046;&#65292;&#37027;&#23601;&#26159;&#25152;&#25552;&#20379;&#30340;&#25805;&#20316;&#31995;&#32479;&#38236;&#20687;&#26159;&#21482;&#35835;&#30340;&#12290;&#19968;&#20123;&#20351;&#29992;&#22330;&#26223;&#25110;&#35768;&#35201;&#27714;&#32456;&#31471;&#29992;&#25143;&#33021;&#22815;&#20462;&#25913;&#25805;&#20316;&#31995;&#32479;&#38236;&#20687;&#12290;&#20363;&#22914;&#65292;&#19968;&#20123;&#25945;&#24072;&#25110;&#35768;&#24076;&#26395;&#23398;&#29983;&#33021;&#22815;&#23433;&#35013;&#21644;&#37197;&#32622;&#19968;&#20123;&#20687; MariaDB &#21644; Node.js &#36825;&#26679;&#30340;&#21253;&#26469;&#20570;&#20026;&#20182;&#20204;&#35838;&#31243;&#32451;&#20064;&#30340;&#19968;&#37096;&#20998;&#12290;&#21487;&#20889;&#38236;&#20687;&#30340;&#21478;&#22806;&#30340;&#22909;&#22788;&#26159;&#65292;&#32456;&#31471;&#29992;&#25143;“&#31169;&#20154;&#23450;&#21046;”&#30340;&#25805;&#20316;&#31995;&#32479;&#65292;&#22312;&#19979;&#27425;&#19981;&#21516;&#30340;&#24037;&#20316;&#31449;&#19978;&#20351;&#29992;&#26102;&#33021;&#22815;“&#36319;&#30528;”&#20182;&#20204;&#12290;&#20462;&#25913; Bootmenu &#24212;&#29992;&#31243;&#24207;&#20197;&#20351;&#29992; HTTPS&#20026; bootmenu &#24212;&#29992;&#31243;&#24207;&#21019;&#24314;&#19968;&#20010;&#33258;&#31614;&#21517;&#30340;&#35777;&#20070;&#65306;<pre class="prettyprint linenums">$ sudo -i# MY_NAME=$(</etc/hostname)# MY_TLSD=/opt/bootmenu/tls# mkdir $MY_TLSD# openssl req -newkey rsa:2048 -nodes -keyout $MY_TLSD/$MY_NAME.key -x509 -days 3650 -out $MY_TLSD/$MY_NAME.pem</pre>&#39564;&#35777;&#20320;&#30340;&#35777;&#20070;&#30340;&#20540;&#12290;&#30830;&#20445; Subject &#34892;&#20013; CN &#30340;&#20540;&#19982;&#20320;&#30340; iPXE &#23458;&#25143;&#31471;&#36830;&#25509;&#20320;&#30340;&#32593;&#32476;&#24341;&#23548;&#26381;&#21153;&#22120;&#25152;&#20351;&#29992;&#30340; DNS &#21517;&#23383;&#26159;&#30456;&#21305;&#37197;&#30340;&#65306;<pre class="prettyprint linenums"># openssl x509 -text -noout -in $MY_TLSD/$MY_NAME.pem</pre>&#25509;&#19979;&#26469;&#65292;&#26356;&#26032; bootmenu &#24212;&#29992;&#31243;&#24207;&#21435;&#30417;&#21548; HTTPS &#31471;&#21475;&#21644;&#26032;&#21019;&#24314;&#30340;&#35777;&#20070;&#21450;&#23494;&#38053;&#65306;<pre class="prettyprint linenums"># sed -i "s#listen => .*#listen => ['https://$MY_NAME:443?cert=$MY_TLSD/$MY_NAME.pem\&key=$MY_TLSD/$MY_NAME.key\&ciphers=AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA'],#" /opt/bootmenu/bootmenu.conf</pre>&#27880;&#24847; <a href="http://ipxe.org/crypto">iPXE &#24403;&#21069;&#25903;&#25345;&#30340;</a> &#21152;&#23494;&#31639;&#27861;&#26159;&#26377;&#38480;&#21046;&#30340;&#12290;GnuTLS &#35201;&#27714; “CAPDACREAD_SEARCH” &#33021;&#21147;&#65292;&#22240;&#27492;&#23558;&#23427;&#28155;&#21152;&#21040; bootmenu &#24212;&#29992;&#31243;&#24207;&#30340; systemd &#26381;&#21153;&#65306;<pre class="prettyprint linenums"># sed -i '/^AmbientCapabilities=/ s/$/ CAP_DAC_READ_SEARCH/' /etc/systemd/system/bootmenu.service# sed -i 's/Serves iPXE Menus over HTTP/Serves iPXE Menus over HTTPS/' /etc/systemd/system/bootmenu.service# systemctl daemon-reload</pre>&#29616;&#22312;&#65292;&#22312;&#38450;&#28779;&#22681;&#20013;&#20026; bootmenu &#26381;&#21153;&#28155;&#21152;&#19968;&#20010;&#20363;&#22806;&#35268;&#21017;&#24182;&#37325;&#21551;&#21160;&#35813;&#26381;&#21153;&#65306;<pre class="prettyprint linenums"># MY_SUBNET=192.0.2.0# MY_PREFIX=24# firewall-cmd --add-rich-rule="rule family='ipv4' source address='$MY_SUBNET/$MY_PREFIX' service name='https' accept"# firewall…