<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://www.seirios.org/seirios/dokuwiki/lib/exe/css.php?s=feed" type="text/css"?>
<rss version="2.0">
    <channel xmlns:g="http://base.google.com/ns/1.0">
        <title>ほほほのほ - tech</title>
        <description></description>
        <link>http://www.seirios.org/seirios/dokuwiki/</link>
        <lastBuildDate>Tue, 05 May 2026 11:48:30 +0000</lastBuildDate>
        <generator>FeedCreator 1.8</generator>
        <image>
            <url>http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
            <title>ほほほのほ</title>
            <link>http://www.seirios.org/seirios/dokuwiki/</link>
        </image>
        <item>
            <title>Benchmark</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:benchmark</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;benchmark&quot;&gt;Benchmark&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
気分に応じて採取したBenchmark記録
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Benchmark&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;benchmark&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-71&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;目次&quot;&gt;目次&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;div&gt;&lt;div id=&quot;nojs_indexmenu_61636514685767a1687a3&quot; data-jsajax=&quot;%26sort%3Dt%26msort%3Dindexmenu_n%26group%3D1&quot; class=&quot;indexmenu_nojs&quot;&gt;
&lt;ul class=&quot;idx&quot;&gt;
&lt;li class=&quot;level1&quot; &gt;&lt;div class=&quot;li&quot;&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:benchmark:ms-01&quot; class=&quot;wikilink1&quot; title=&quot;tech:benchmark:ms-01&quot; data-wiki-id=&quot;tech:benchmark:ms-01&quot;&gt;Minisforum MS-01&lt;/a&gt;&lt;/div&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;/div&gt;&lt;script type=&#039;text/javascript&#039;&gt;
&lt;!--//--&gt;&lt;![CDATA[//&gt;&lt;!--
var indexmenu_61636514685767a1687a3 = new dTree(&#039;indexmenu_61636514685767a1687a3&#039;,&#039;bj-tango.png&#039;);
indexmenu_61636514685767a1687a3.config.urlbase=&#039;/seirios/dokuwiki/doku.php?id=&#039;;
indexmenu_61636514685767a1687a3.config.sepchar=&#039;:&#039;;
indexmenu_61636514685767a1687a3.config.useCookies=false;
indexmenu_61636514685767a1687a3.config.jsajax=&#039;%26sort%3Dt%26msort%3Dindexmenu_n%26group%3D1&#039;;
indexmenu_61636514685767a1687a3.add(&#039;tech:benchmark&#039;,0,-1,&quot;Benchmark&quot;,&#039;tech:benchmark&#039;);
indexmenu_61636514685767a1687a3.add(&#039;tech:benchmark:ms-01&#039;,1,0,&quot;Minisforum MS-01&quot;,0,0,0);
document.write(indexmenu_61636514685767a1687a3);
jQuery(function(){indexmenu_61636514685767a1687a3.init(0,1,&quot;&quot;,1,0);});
//--&gt;&lt;!]]&gt;
&lt;/script&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u76ee\u6b21&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u76ee\u6b21&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;72-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 04 May 2024 08:20:00 +0000</pubDate>
        </item>
        <item>
            <title>Hardwareに関するメモ</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:hardware</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;hardwareに関するメモ&quot;&gt;Hardwareに関するメモ&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
手元にある各種Hardwareに関するメモ
使わなくなると更新されなくなるので、日付やFirmware Revisionに注意の事
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:hardware:cm4008&quot; class=&quot;wikilink1&quot; title=&quot;tech:hardware:cm4008&quot; data-wiki-id=&quot;tech:hardware:cm4008&quot;&gt;OpenGear CM4008&lt;/a&gt; 恐らくCM4016やCM4048でも同様&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 09 Jan 2015 11:46:47 +0000</pubDate>
        </item>
        <item>
            <title>TCP/IPに於けるICMPの取り扱いについて</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:icmp</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;tcp_ipに於けるicmpの取り扱いについて&quot;&gt;TCP/IPに於けるICMPの取り扱いについて&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
ただいま書きかけでございます
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/detail.php?id=tech%3Aicmp&amp;amp;media=construct.gif&quot; class=&quot;media&quot; title=&quot;construct.gif&quot;&gt;&lt;img src=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=construct.gif&quot; class=&quot;media&quot; loading=&quot;lazy&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
ただいま書きかけでございます
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;TCP\/IP\u306b\u65bc\u3051\u308bICMP\u306e\u53d6\u308a\u6271\u3044\u306b\u3064\u3044\u3066&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tcp_ip\u306b\u65bc\u3051\u308bicmp\u306e\u53d6\u308a\u6271\u3044\u306b\u3064\u3044\u3066&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-174&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;目次&quot;&gt;目次&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#abstruct&quot; title=&quot;tech:icmp ↵&quot; class=&quot;wikilink1&quot;&gt;概要&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#はじめに&quot; title=&quot;tech:icmp ↵&quot; class=&quot;wikilink1&quot;&gt;はじめに&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#icmpとはなにか&quot; title=&quot;tech:icmp ↵&quot; class=&quot;wikilink1&quot;&gt;ICMPとはなにか？&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#icmpとファイアウォール&quot; title=&quot;tech:icmp ↵&quot; class=&quot;wikilink1&quot;&gt;ICMPとファイアウォール&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;#設定例&quot; title=&quot;tech:icmp ↵&quot; class=&quot;wikilink1&quot;&gt;設定例&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u76ee\u6b21&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u76ee\u6b21&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;175-333&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;abstruct&quot;&gt;Abstruct&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
近年、TCP/IPの利用において、ICMPを全て捨ててしまうような実装が一般化している。この手法は、IPv4ネットワークにおいては実質上ほぼ問題なく動作する。しかしながら、IPv6ネットワークを利用したり、IPv4でも特別な環境では問題なることがあり得るものである。
&lt;/p&gt;

&lt;p&gt;
本文書は、ICMP及びICMPv6に関して説明すると共に、ファイアウォールなどでフィルターを書く際のサンプルとなる設定情報を公開することが目的である。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Abstruct&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;abstruct&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;334-917&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;はじめに&quot;&gt;はじめに&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ICMPとは、Internet Control Message Protocolの略であり、RFC792にて規定されている。IPv6用のICMPv6は数回の改訂の後、RFC4443によって定義された。
&lt;/p&gt;

&lt;p&gt;
本文書では、特に断りがない限り、ICMPと記載した場合、RFC792にて規定されているものを、またICMPv6と記載した場合、RFC4443にて規定されているものを示すものとする。なお、関連するRFCとして、RFC4727にて&lt;code&gt;Experimental Values in IPv4, IPv6, ICMPv4, ICMPv6, UDP and TCP Headers&lt;/code&gt;が発行されている。本文書では、この実験的な値に関しては割愛する。
&lt;/p&gt;

&lt;p&gt;
正確な仕様などについては、以下のリンクより英語版を参照されたい。また、読解の役に立つように、日本語に翻訳したものへのリンクも掲載しておく。なお、日本語訳に関しては複数の翻訳があるものもあるが、今回利用した翻訳のみを掲載した。
&lt;/p&gt;
&lt;div class=&quot;table sectionedit5&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; &lt;abbr title=&quot;Request for Comments&quot;&gt;RFC&lt;/abbr&gt; &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Title &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Original &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; 日本語版 &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; RFC792  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; INTERNET CONTROL MESSAGE PROTOCOL                                                                   &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://tools.ietf.org/html/rfc792&quot; class=&quot;urlextern&quot; title=&quot;http://tools.ietf.org/html/rfc792&quot;&gt;オリジナル&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;a href=&quot;http://srgia.com/docs/rfc792j.html&quot; class=&quot;urlextern&quot; title=&quot;http://srgia.com/docs/rfc792j.html&quot;&gt;日本語訳&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; RFC4443 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://tools.ietf.org/html/rfc4443&quot; class=&quot;urlextern&quot; title=&quot;http://tools.ietf.org/html/rfc4443&quot;&gt;オリジナル&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;a href=&quot;http://www5d.biglobe.ne.jp/~stssk/rfc/rfc4443j.html&quot; class=&quot;urlextern&quot; title=&quot;http://www5d.biglobe.ne.jp/~stssk/rfc/rfc4443j.html&quot;&gt;日本語訳&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; RFC4727 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; Experimental Values in IPv4, IPv6, ICMPv4, ICMPv6, UDP and TCP Headers                              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; &lt;a href=&quot;http://tools.ietf.org/html/rfc4727&quot; class=&quot;urlextern&quot; title=&quot;http://tools.ietf.org/html/rfc4727&quot;&gt;オリジナル&lt;/a&gt; &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;a href=&quot;http://www5d.biglobe.ne.jp/~stssk/rfc/rfc4727j.html&quot; class=&quot;urlextern&quot; title=&quot;http://www5d.biglobe.ne.jp/~stssk/rfc/rfc4727j.html&quot;&gt;日本語訳&lt;/a&gt; &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1909-2658&amp;quot;} --&gt;
&lt;p&gt;
他の参考URLとして以下を挙げる。必要に応じて参照されたい。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html&quot; class=&quot;urlextern&quot; title=&quot;http://www5d.biglobe.ne.jp/~stssk/rfcjlist.html&quot;&gt;ＲＦＣ日本語版リスト&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.ietf.org/rfc.html&quot; class=&quot;urlextern&quot; title=&quot;http://www.ietf.org/rfc.html&quot;&gt;IETFのRFCページ&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
RFCを作成された方々及び日本語版情報を集めて公開されているIshida Soさんに感謝いたします。
&lt;/p&gt;

&lt;p&gt;
本文書は、私的に作成したものであり、無償かつ無保証で掲載するものである。
内容は正確であることを目標に記述しているが、間違い、勘違い、曖昧な部分が含まれている可能性があることに留意して頂きたい。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u306f\u3058\u3081\u306b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u306f\u3058\u3081\u306b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;918-3309&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit6&quot; id=&quot;icmpとは何か&quot;&gt;ICMPとは何か？&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ICMP\u3068\u306f\u4f55\u304b\uff1f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;icmp\u3068\u306f\u4f55\u304b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;3310-3342&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;icmpとファイアウォール&quot;&gt;ICMPとファイアウォール&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ICMP\u3068\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;icmp\u3068\u30d5\u30a1\u30a4\u30a2\u30a6\u30a9\u30fc\u30eb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3343-3387&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;設定例&quot;&gt;設定例&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u8a2d\u5b9a\u4f8b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u8a2d\u5b9a\u4f8b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;3388-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 23 Feb 2011 04:38:51 +0000</pubDate>
        </item>
        <item>
            <title>Datalink Layerでの冗長化プロトコル</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:l2redundancy</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;datalink_layerでの冗長化プロトコル&quot;&gt;Datalink Layerでの冗長化プロトコル&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
TCP/IPを利用する際、さまざまなLayerで冗長化Protocolが定義されているが、特に利用頻度が高いのはおそらくDatalink Layer（特にEthernet)におけるそれだろう。すぐに思いつく限りでもVRRP/HSRP/CARPは思いつくし、どうやらGLBPというのもあるらしい。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Datalink Layer\u3067\u306e\u5197\u9577\u5316\u30d7\u30ed\u30c8\u30b3\u30eb&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;datalink_layer\u3067\u306e\u5197\u9577\u5316\u30d7\u30ed\u30c8\u30b3\u30eb&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-383&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;protocol_summary&quot;&gt;Protocol Summary&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
以下に各プロトコルに関する簡単な説明を記載する。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Protocol Summary&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;protocol_summary&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;384-487&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;hsrp&quot;&gt;HSRP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://en.wikipedia.org/wiki/Hot_Standby_Router_Protocol&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Hot_Standby_Router_Protocol&quot;&gt;Hot Standby Router Protocol&lt;/a&gt;の略
&lt;/p&gt;

&lt;p&gt;
Cisco(TM)によって設計・実装された冗長化プロトコル。1998年、RFC2281で説明されている。プロプラエタリ実装であり、仕様は非公開。
&lt;/p&gt;

&lt;p&gt;
HSRPは非常に古いProtocolであり、現在はversion2が主流。v2でIPv6がサポートされ、実装状の改善(安定性の向上、規模拡張容易性等の向上など)もされているため、現時点で利用するならv2であるべきである。
&lt;/p&gt;

&lt;p&gt;
複数のNode間で&lt;strong&gt;共通&lt;/strong&gt;のIP Addressを保持し、その中から代表(Master)を選出し、Masterがパケットの転送を行う
&lt;/p&gt;

&lt;p&gt;
HSRPはあくまで共通のIP Addressを選出するためのProtocolであり、動作中のRouterの各種状態(NAT状態や経路表)は同期しないので、状態をもつ上位層プロトコルの取り扱いには注意が必要。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;HSRP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;hsrp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;488-1438&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit4&quot; id=&quot;vrrp&quot;&gt;VRRP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://ja.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol&quot; class=&quot;urlextern&quot; title=&quot;https://ja.wikipedia.org/wiki/Virtual_Router_Redundancy_Protocol&quot;&gt;Virtual Router Redundancy Protocol&lt;/a&gt;の略
&lt;/p&gt;

&lt;p&gt;
HSRPがプロプラエタリ実装であるため、さまざまな実装でHSRPで実装された機能を利用できるようにIETFで検討されたProtocol。
&lt;/p&gt;

&lt;p&gt;
複数のNode間で&lt;strong&gt;共通&lt;/strong&gt;のIP Addressを保持し、その中から代表(Master)を選出し、Masterがパケットの転送を行う
&lt;/p&gt;

&lt;p&gt;
VRRPはあくまで共通のIP Addressを選出するためのProtocolであり、動作中のRouterの各種状態(NAT状態や経路表)は同期しないので、状態をもつ上位層プロトコルの取り扱いには注意が必要。
&lt;/p&gt;

&lt;p&gt;
(2023現在)現実的には最も普及・利用されているL2 Redundancy Protocolと言えるだろう
&lt;/p&gt;

&lt;p&gt;
VRRPは各種Network機器に実装されており、HSRPを開発したCisco社のNetwork機器でも利用可能なことが多い
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VRRP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vrrp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1439-2359&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit5&quot; id=&quot;opensource実装&quot;&gt;Opensource実装&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://gitlab.com/fredbcode/Vrrpd&quot; class=&quot;urlextern&quot; title=&quot;https://gitlab.com/fredbcode/Vrrpd&quot;&gt;https://gitlab.com/fredbcode/Vrrpd&lt;/a&gt; (Moved from GitHUB)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;del&gt;&lt;a href=&quot;https://github.com/fredbcode/Vrrpd&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/fredbcode/Vrrpd&quot;&gt;Advanced VRRPd&lt;/a&gt; (Archived at 2023/04/14)&lt;/del&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/acassen/keepalived&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/acassen/keepalived&quot;&gt;Keepalived&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/FRRouting/frr&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/FRRouting/frr&quot;&gt;FRR&lt;/a&gt; Routing Daemon&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://github.com/e3prom/rVRRPd&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/e3prom/rVRRPd&quot;&gt;rVRRPd&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
他多数
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Opensource\u5b9f\u88c5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opensource\u5b9f\u88c5&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2360-2720&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;carp&quot;&gt;CARP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Common_Address_Redundancy_Protocol&quot;&gt;Common Address Redundancy Protocol&lt;/a&gt;の略
&lt;/p&gt;

&lt;p&gt;
OpenBSD Projectによって開発された VRRP 代替Protocol。
&lt;/p&gt;

&lt;p&gt;
現在、OpenBSD, FreeBSD, NetBSDは標準でKernelもしくはKernel Moduleとして取り込まれている。LinuxやmacOSなどのPlatformでは、uCARP(Userland CARP)やCARP-rsなどの実装があるが、uCARP/CARP-rsはすでにArchive状態であり、更新は停止していると思われる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CARP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;carp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;2721-3221&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit7&quot; id=&quot;簡単な歴史&quot;&gt;簡単な歴史&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
IETFは1990年代後半、Routerの冗長性を確保するためのProtocol策定作業を開始した。Ciscoはこの分野における特許を取得していたため、それをIETFに通知、1998年にはHSRPに関する特許を通知した。さまざまな議論の末、IETF VRRP WGは、Ciscoが合理的で非差別的なライセンス条件の下で第三者に特許を利用できるようにする限り、特許技術に依存したまま、VRRPを承認することを決定した。その際、VRRPはHSRPプロトコルにあった問題を解決したため、CiscoはHSRPを独自のものとして主張しつつ、VRRPも使用し始めた。
&lt;/p&gt;

&lt;p&gt;
以上の経緯より、Ciscoは、OpenBSD開発チームに対し、HSRPに特許を適用することを通告した。この際に提示されたCisco側のライセンス条件がOpenSourceとしてのVRRP実装を妨げたため、OpenBSD開発チームはVRRPの代替となるCARPの開発を開始した。OpenBSDはセキュリティに重点を置いており、CARPでやり取りされる通信を保護するために暗号技術を使用するようにCARPを設計した。また、Masterを決めるためのアルゴリズムも再設計したため、CARPはVRRPと根本的に異なる実装であって、Ciscoの特許を侵害しないことが保証された。
&lt;/p&gt;

&lt;p&gt;
なお、Ciscoの保持するHSRPに関する米国特許は2014年に失効したが、このHSRP/VRRP/CARPの３つのプロトコルは現在も並行して共存している。
&lt;/p&gt;

&lt;p&gt;
OpenBSDにおけるCARPにはL2でのLoad Balance機構(arpbalance)が実装されているが、FreeBSD 10.0以降では(CARPが再実装されたため)LB機能は実装されていない。（それ以前のFreeBSDでLB機構が実装されていたかは確認していない)。また、NetBSDは、Manual Pageを見る限りarpbalanceは実装されてるように見えるが、確認はしていない。このARP Balance機構を利用すると、複数ホストでLoad Balanceできる可能性がある。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u7c21\u5358\u306a\u6b74\u53f2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u7c21\u5358\u306a\u6b74\u53f2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;3222-5302&amp;quot;} --&gt;
&lt;h4 class=&quot;sectionedit8&quot; id=&quot;vrrpとの非互換性&quot;&gt;VRRPとの非互換性&lt;/h4&gt;
&lt;div class=&quot;level4&quot;&gt;

&lt;p&gt;
OpenBSDプロジェクトは、CARPのために、IANAに対し一意の番号を要求したが、拒否された。OpenBSDは特許対応等のためVRRPを「公式」な配布物に組み入れられないため、OpenBSDにおけるL2での冗長化ProtocolとしてはCARPを採用した。そのため、CARPに対し、他と競合しない（予定だった）IP Protocol 112に設定し、IANAに通知した。IANAはこれに対し、返事を拒否した。IANAではプロトコル番号112をVRRPに割り当て(1998年、RFC 2338)、現在でもプロトコル番号112はVRRPによって引き続き使用されている。このため、VRRPとCARPは現在でもプロトコル番号112で衝突したままである。
&lt;/p&gt;

&lt;p&gt;
ただし、プロトコル番号が衝突していても、VRRPグループIDとCARP仮想ホストIDが異なる限り、同じブロードキャストドメインでVRRPとCARPを使用することは可能である。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VRRP\u3068\u306e\u975e\u4e92\u63db\u6027&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vrrp\u3068\u306e\u975e\u4e92\u63db\u6027&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;5303-6296&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit9&quot; id=&quot;glbp&quot;&gt;GLBP&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
&lt;a href=&quot;https://en.wikipedia.org/wiki/Gateway_Load_Balancing_Protocol&quot; class=&quot;urlextern&quot; title=&quot;https://en.wikipedia.org/wiki/Gateway_Load_Balancing_Protocol&quot;&gt;Gateway Load-Balancing Protol&lt;/a&gt;の略
&lt;/p&gt;

&lt;p&gt;
Cisco(TM)によって設計・実装された冗長化プロトコル。
&lt;/p&gt;

&lt;p&gt;
HSRP、VRRP、CARPが、複数台のnodeを 1 Master(Active) - Other Slave(Standby) 構成で冗長化を図るのに対し、GLBPは Multi Master構成で利用でき、負荷分散を図れるところが特徴。分散方法を決めるアルゴリズムとしては、host-depended/RoundRobin/Weightedの３種がある。
&lt;/p&gt;

&lt;p&gt;
GLBPは、グループごとに1つのAVG（Active Virtual Gateway）を選択する。他のグループメンバーは、AVGに障害が発生した場合にAVGのバックアップとして機能する。AVGは、自身を含むGLBPグループの各メンバーに仮想MACアドレスを割り当て、AVF（Active Virtual Forwarders）を有効にする。各AVFは、仮想MACアドレスに送信されたパケットを転送する責任を負う。AVFは最大4台まで存在可能である。
&lt;/p&gt;

&lt;p&gt;
IOS 12.2(33)SXIでGLBPがIPv6をサポートした。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;GLBP&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;glbp&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;6297-7377&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;その他&quot;&gt;その他&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
上記の他にもさまざまな実装がある。以下に一部を記載する
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Extreme Standby Router Protocol (ESRP)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Extreme社製品に実装されている、高速FailoverおよびL2保護を実装したExtreme社独自プロトコル&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Routed Split multi-link trunking (R-SMLT)&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Avaya社独自プロトコル&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; NetScreen Redundancy Protocol (NSRP) &lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Juniper社独自プロトコル。元来は、Juniper社に買収されたNetscreen社の独自プロトコル&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Chassis Cluster Redundant Ethernet&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Juniper社独自プロトコル。SRXプラットフォームで使用されている&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Multi-active Gateway Protocol (MAGP) &lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mellanox社独自プロトコル。VRRPを元にした、Active-Acvive運用を可能にするプロトコル&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VRRPE&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Brocade社独自プロトコル&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u305d\u306e\u4ed6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u305d\u306e\u4ed6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;7378-8229&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;protocol間比較&quot;&gt;Protocol間比較&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;div class=&quot;table sectionedit12&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; 項目 &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; HSRP v1 &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; HSRP v2 &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; VRRP &lt;/th&gt;&lt;th class=&quot;col4&quot;&gt; CARP &lt;/th&gt;&lt;th class=&quot;col5&quot;&gt; GLBP &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 規格 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Cisco独自 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; RFC3768 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; OpenBSD独自 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; Cisco独自 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot; rowspan=&quot;2&quot;&gt; グループ構成 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Active 1台 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Master 1台 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; Master 1台 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; AVG 1台 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Standby その他 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; Backup その他 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Backup その他 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; AVF その他(最大4台) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 最大グループ数 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 255 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 4095 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 255 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; 255 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; 1024 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; パケット転送 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Active機 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Master機 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; Master機 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; AVF機 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; ARP Requestへの返答 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Active機 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Master機 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; Master機 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; AVG機 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Virtual IP Address &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 未使用アドレス &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 物理I/Fもしくは未使用アドレス &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; 未使用アドレス &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; 未使用アドレス &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot; rowspan=&quot;3&quot;&gt; Virtual MAC Address &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 0000.0c07.acXX &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 0000.0c9f.fXXX &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 0000.5e00.01XX &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;  0000.5e00.01XX &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; 0007.b400.XXYY &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0&quot; rowspan=&quot;2&quot;&gt; XX = グループ番号 &lt;/td&gt;&lt;td class=&quot;col1&quot; rowspan=&quot;2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col2&quot; rowspan=&quot;2&quot;&gt; XX = グループ番号 &lt;/td&gt;&lt;td class=&quot;col3&quot; rowspan=&quot;2&quot;&gt; XX = グループ番号 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; XX = グループ番号 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; YY=MACアドレス番号 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Hello Multicast address &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 224.0.0.2 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 224.0.0.102 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 224.0.0.18 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; 224.0.0.18 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; 224.0.0.102 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0&quot; rowspan=&quot;2&quot;&gt; Timer default &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Hello 3s &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; advertise 1s &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; advbase 1s &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; Hello 3s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; Hold 10s &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; master-down 3s &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; advsket 0ms &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; Hold 10s &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 認証方式 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; Plane text/MD5 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Plane text/MD5 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; SHA1 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; Plane text/MD5 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; preempt &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 無効 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 有効 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; 無効 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; AVG:無効, AVF:有効 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0&quot; rowspan=&quot;2&quot;&gt; 動作プロトコル &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; UDP上 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; IP上 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; IP上 &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; UDP上 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; UDP/IPでカプセル化 &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; IPでカプセル化 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; IPでカプセル化 &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; UDP/IPでカプセル化 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; メッセージ送信に使うポート &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 1985/UDP &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; 同左 &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 112/IP &lt;/td&gt;&lt;td class=&quot;col4&quot;&gt; 112/IP &lt;/td&gt;&lt;td class=&quot;col5&quot;&gt; 3222/UDP &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;8261-9908&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Protocol\u9593\u6bd4\u8f03&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;protocol\u9593\u6bd4\u8f03&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;8230-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 02 Aug 2023 03:25:00 +0000</pubDate>
        </item>
        <item>
            <title>未整理のメモ</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:memos</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;未整理のメモ&quot;&gt;未整理のメモ&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
ここには、取りあえずのTipsを適当に置いておく。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u672a\u6574\u7406\u306e\u30e1\u30e2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u672a\u6574\u7406\u306e\u30e1\u30e2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-103&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;dd&quot;&gt;dd&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ddコマンドにkill -USR1 を送ると、現在の転送状態が表示される。
知らなかった。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;dd&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;dd&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;104-227&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;adobeの無料フォント&quot;&gt;Adobeの無料フォント&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://sourceforge.jp/projects/sfnet_sourcesans.adobe/&quot; class=&quot;urlextern&quot; title=&quot;http://sourceforge.jp/projects/sfnet_sourcesans.adobe/&quot;&gt;ここ&lt;/a&gt;で配られている。&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Adobe\u306e\u7121\u6599\u30d5\u30a9\u30f3\u30c8&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;adobe\u306e\u7121\u6599\u30d5\u30a9\u30f3\u30c8&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;228-361&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;virtualbox&quot;&gt;VirtualBox&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
VirtualBoxを利用していると、たまにDisk容量を増やしたくなることがある。というわけで、MacOS-X上のVirtualBoxでWindows Vistaを動かしているDiskを拡張する方法。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VirtualBoxの設定コンソールで、新規Diskを作成する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; VirtualBoxのCommandLine toolで以下を実行&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;VBoxManage clonehd ~/VirtualBox¥ VMs/OriginalDisk.vdi ~/VirtualBox¥ VMs/NewDisk.vdi –existing&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Virtualboxの設定コンソールで、Storageの設定を、OriginalDisk.vdiからNewDisk.vdiに切り替える&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Windows Vistaを起動→コントロールパネル→管理ツール→コンピュータの管理→ディスクの管理を選択&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 起動したDiskを右クリック→ボリュームの拡張を選択し、容量を増やす&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
これだけ。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;VirtualBox&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;virtualbox&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;362-1197&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;英語の数字の表記&quot;&gt;英語の数字の表記&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
英語と米語でbillionの意味が違うというのは何となく覚えていたが、なんとこういうことだったのか？というのが出てたので転記しておく。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.jimloy.com/math/billion.htm&quot; class=&quot;urlextern&quot; title=&quot;http://www.jimloy.com/math/billion.htm&quot;&gt;元URL&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://ja.wikipedia.org/wiki/命数法&quot; class=&quot;urlextern&quot; title=&quot;http://ja.wikipedia.org/wiki/命数法&quot;&gt;日本語の命数法&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
なお、塵劫記の写本次第で変化があるらしい。ここでは万進を前提（1万単位で表記が変わる）を採用しているものとする。
&lt;/p&gt;
&lt;div class=&quot;table sectionedit6&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Number of zeros &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; U.S. &amp;amp; scientific community &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; Other countries &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; 日本 &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;         3 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;           thousand &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                   thousand &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　　　　 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;         6 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;            million &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                    million &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百　　　万 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;         9 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;            billion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  1000 million (1 milliard) &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十　　　億 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        12 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;           trillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                    billion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  一　　　兆 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        15 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;        quadrillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;               1000 billion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　　　兆 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        18 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;        quintillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                   trillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百　　　京 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        21 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;         sextillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;              1000 trillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十　　　垓 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        24 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;         septillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                quadrillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  一　　　秄 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        27 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          octillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;           1000 quadrillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　　　秄 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        30 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          nonillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                quintillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百　　　穣 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        33 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;          decillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;           1000 quintillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十　　　溝 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        36 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;        undecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                 sextillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  一　　　澗 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        39 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;       duodecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;            1000 sextillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　　　澗 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        42 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;       tredecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                 septillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百　　　正 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        45 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;  quattuordecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;            1000 septillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十　　　載 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        48 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;      quindecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                  octillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  一　　　極 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        51 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;       sexdecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;             1000 octillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　　　極 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        54 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;    septendecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                  nonillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百　恒河沙 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        57 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;      octodecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;             1000 nonillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十　阿僧祇 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        60 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;     novemdecillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                  decillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  一　那由他 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        63 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;       vigintillion &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;             1000 decillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  千　那由他 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        66 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                    &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;               vigintillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  百不可思議 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;        69 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                    &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;          1000 vigintillion &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  十無量大数 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row24&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;  69 - 120 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;                            &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;             &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row25&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;       303 &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;         centillion &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;                            &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;             &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row26&quot;&gt;
		&lt;td class=&quot;col0 rightalign&quot;&gt;       600 &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                    &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;                 centillion &lt;/td&gt;&lt;td class=&quot;col3 leftalign&quot;&gt;             &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;1716-3935&amp;quot;} --&gt;
&lt;p&gt;
しかし、これだとその人の背景を知らないと正しい数字を理解できないかも。困ったものである。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u82f1\u8a9e\u306e\u6570\u5b57\u306e\u8868\u8a18&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u82f1\u8a9e\u306e\u6570\u5b57\u306e\u8868\u8a18&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;1198-4070&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit7&quot; id=&quot;svnでrepositoryを作成&quot;&gt;SVNでRepositoryを作成&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
これも毎回調べているので、メモにしておく。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /path/to/repos
# svnadmin create /path/to/repos
# cd /path/to
# svn import data file:///path/to/repos -m &amp;quot;Initial Import&amp;quot;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;SVN\u3067Repository\u3092\u4f5c\u6210&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;svn\u3067repository\u3092\u4f5c\u6210&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;4071-4320&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;cvsでrepositoryを作成&quot;&gt;CVSでRepositoryを作成&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
毎回調べているので、メモにしておく。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /path/to/repos
# cvs -d /path/to/repos init
# cd /path/to/data
# cvs import -m &amp;quot;Strings&amp;quot; modulename vendorTag ReleaseTag&lt;/pre&gt;

&lt;p&gt;
例
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mkdir /REPOS/CVSroot/MUNCHKIN
# cvs -d /REPOS/CVSroot/MUNCHKIN init
# cd ~/Work/code/munchkin
# cvs import -m &amp;quot;Munchkin initial&amp;quot; munchikin seirios 1.0&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;CVS\u3067Repository\u3092\u4f5c\u6210&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cvs\u3067repository\u3092\u4f5c\u6210&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:1,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;4321-4733&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;tcp_stream_に_file_を_cat_する&quot;&gt;TCP Stream に file を cat する&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
普通は、こんな事をする必要がないんだが、どうしてもこの手を使わないといけないことがあったので、やり方のメモ。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; netcatをinstallする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; catしたいファイルを作成する(for ex. t)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; nc server port &amp;lt; t&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
これでなんとかなる。
&lt;/p&gt;

&lt;p&gt;
なお、今時のFreeBSDには nc は標準で入っている
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;TCP Stream \u306b file \u3092 cat \u3059\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;tcp_stream_\u306b_file_\u3092_cat_\u3059\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;4734-5146&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;対arp_spoofing&quot;&gt;対ARP Spoofing&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ちょっと気になったのでARP Spoofing対策手法を調べてみた。
&lt;/p&gt;

&lt;p&gt;
本当は、Xen Domain 0 の bridgeを使って、pfで色々頑張るか、bpfで頑張るのが筋だと思うんだけど、今の状態では難しいので、staticにarpを切る方法を。
&lt;/p&gt;

&lt;p&gt;
# see man arp(8)
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# arp -s hostname MACaddrs
もしくは
# arp -f filename
# cat filename
hostname1 MACaddr1
hostname2 MACaddr2
....
#&lt;/pre&gt;

&lt;p&gt;
として、MAC Addressをstaticに書いておくのがよさそう。ただ、VRRPとかRIPで頑張っている場合などはちょっと問題。
&lt;/p&gt;

&lt;p&gt;
まぁ、defaultを見てMACアドレス書き換えるような奴が現れたら考えよう。
&lt;/p&gt;

&lt;p&gt;
そうそう、当然だけど、ICMP Router RedirectはDomain0で防御するのが吉です。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u5bfeARP Spoofing&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u5bfearp_spoofing&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;5147-5953&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit11&quot; id=&quot;web_redirect&quot;&gt;Web Redirect&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
いつも忘れてしまうので、メモ
&lt;/p&gt;

&lt;p&gt;
取りあえず、5秒で http://some.where/URL/に飛ぶようにするMETA Tag.
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;&amp;lt;META HTTP-EQUIV=&amp;quot;Refresh&amp;quot; CONTENT=&amp;quot;5; URL=http://some/where/URL/&amp;quot; /&amp;gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Web Redirect&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;web_redirect&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:4,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;5954-6196&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit12&quot; id=&quot;osの安全性&quot;&gt;OSの安全性&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ISO/IEC 15408でOSに関する安全性が規定されている。&lt;br/&gt;

もともとはTCSEC/ITSECであり、これが統合され、ISO/IEC15408 Common Criteria(CC)として定義された。
&lt;/p&gt;

&lt;p&gt;
CCはセキュリティの評価基準であり、7段階の評価保証レベル(Evaluation Assurance Level / EAL)が規定されている。
&lt;/p&gt;

&lt;p&gt;
CCは日本でも取り込まれ、JISECとして公表されている。
&lt;/p&gt;
&lt;div class=&quot;table sectionedit13&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  CC EAL  &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  ITSEC  &lt;/td&gt;&lt;td class=&quot;col2 centeralign&quot;&gt;  TCSEC  &lt;/td&gt;&lt;td class=&quot;col3 centeralign&quot;&gt;  Description  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL1     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E0-E1   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; D-C1    &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 機能テスト &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL2     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E1      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; C1      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 構造化テスト &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL3     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E2      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; C2      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 方式的テスト、及びチェック &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL4     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E3      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; B1      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 方式的設計、テスト及びレビュー &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL5     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E4      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; B2      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 準形式的設計、及びテスト &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL6     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E5      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; B3      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 準形式的検証済み設計、及びテスト &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; EAL7     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; E6      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; A       &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 形式的検証済み設計、及びテスト &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;6636-7182&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OS\u306e\u5b89\u5168\u6027&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;os\u306e\u5b89\u5168\u6027&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;6197-7184&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;機器故障率とmtbf&quot;&gt;機器故障率とMTBF&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;/div&gt;

&lt;h5 id=&quot;mtbf&quot;&gt;MTBF&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
Mean Time Between Failureの略であり、機器もしくはパーツ単位での単体平均故障時間を表す。&lt;br/&gt;

MTBFが長いほど機器は故障しにくいことを意味する。&lt;br/&gt;

このMTBFを用いて、機器の保守対応や予備機材購入、システムの冗長化手法を数値化して検討することが可能になる。
&lt;/p&gt;

&lt;/div&gt;

&lt;h5 id=&quot;機器故障率&quot;&gt;機器故障率&lt;/h5&gt;
&lt;div class=&quot;level5&quot;&gt;

&lt;p&gt;
機器の故障確率はMTBFを元に計算できる。&lt;br/&gt;

MTBFが同一の機器の場合、単体MTBFを機器数で割った値が同一機器群における(少なくとも1台が壊れるまでの)時間となる。&lt;br/&gt;

たとえば、MTBFが3年の機器が36台あるとすると、&lt;br/&gt;

3年 ÷ 36台 ＝ 36ヶ月 ÷36台 ＝ 1ヶ月／台 &lt;br/&gt;

となり、1ヶ月に1台程度の頻度で機器が故障する可能性が高いと想定できる。
&lt;/p&gt;

&lt;p&gt;
システム全体の故障機器発生確率を求める場合の例を以下に記載する。&lt;br/&gt;

&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;例）故障確率がそれぞれ 1台/1ヶ月、1台/2ヶ月、1台/3ヶ月である機器群によって構成されたシステムの故障確率は
 1/1 + 1/2 + 1/3 = 11/6
従って、システム中の機器が故障する確率は6ヶ月に11台&lt;/pre&gt;

&lt;p&gt;
以上の計算から、上記例の場合、おおむね1月に2台弱の機器が故障すると予測できる。&lt;br/&gt;

但し、上記計算は、「何が壊れるのか」は述べていない。また、当然「実際に壊れる台数」を述べている物でもない。
あくまで確率であることに注意。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6a5f\u5668\u6545\u969c\u7387\u3068MTBF&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6a5f\u5668\u6545\u969c\u7387\u3068mtbf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;7185-8752&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;mtree&quot;&gt;mtree&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
mtreeを使う。マニュアルを見ても良くわからなかったので、適当に色々やってみる。
&lt;/p&gt;

&lt;p&gt;
取りあえず、Hash Listを作成するなら
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mtree -c -K sha1digest -p . &amp;gt; HashList&lt;/pre&gt;

&lt;p&gt;
取りあえず比較するなら
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# mtree -p [Dir] &amp;lt; HashList&lt;/pre&gt;

&lt;p&gt;
でなんとかなる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;mtree&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;mtree&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;8753-9098&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;vendor_codeとdevice_code&quot;&gt;Vendor CodeとDevice Code&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
今回InstallしたPCでは、kernelがこんなWarningを出した。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;vendor 0x8086 product 0x0326 (interrupt system, interface 0x20, revision 0x09) at pci2 dev 0 function 1 not configured&lt;/pre&gt;

&lt;p&gt;
で、ちょっと調べてみた。
&lt;/p&gt;

&lt;p&gt;
こういうときはGoogle様のお告げを聞こう。
&lt;/p&gt;

&lt;p&gt;
&lt;del&gt;なんかDriver Agent(&lt;a href=&quot;http://listing.driveragent.com/&quot; class=&quot;urlextern&quot; title=&quot;http://listing.driveragent.com/&quot;&gt;http://listing.driveragent.com/&lt;/a&gt;)というサイトがある。&lt;br/&gt;

ここで、ちまちま調べれば、必要な情報が見つかるだろう。（でも重たい）&lt;/del&gt;&lt;br/&gt;

これよりも、The PCI ID Repository(&lt;a href=&quot;http://pci-ids.ucw.cz/&quot; class=&quot;urlextern&quot; title=&quot;http://pci-ids.ucw.cz/&quot;&gt;http://pci-ids.ucw.cz/&lt;/a&gt;)の方がいい。早いし。
&lt;/p&gt;

&lt;p&gt;
これで、8086 → &lt;strong&gt;Intel&lt;/strong&gt; がわかり、0326 → &lt;strong&gt;6700/6702PXH I/OxAPIC Interrupt Controller A&lt;/strong&gt; であることがわかる。
&lt;/p&gt;

&lt;p&gt;
ああ、NetBSDでは対応していないっぽいなぁ。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Vendor Code\u3068Device Code&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;vendor_code\u3068device_code&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;9099-9933&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;opensslで証明書の情報を見る&quot;&gt;Opensslで証明書の情報を見る&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
RemoteのSSL接続サーバーの証明書の情報を見る方法
&lt;/p&gt;

&lt;p&gt;
&lt;code&gt;openssl s_client -connect [&lt;abbr title=&quot;Uniform Resource Locator&quot;&gt;URL&lt;/abbr&gt;]:443 &amp;lt; /dev/null 2&amp;gt; /dev/null | openssl x509 -noout -subject -dates&lt;/code&gt;
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Openssl\u3067\u8a3c\u660e\u66f8\u306e\u60c5\u5831\u3092\u898b\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;openssl\u3067\u8a3c\u660e\u66f8\u306e\u60c5\u5831\u3092\u898b\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:9,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;9934-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Fri, 12 May 2023 08:30:00 +0000</pubDate>
        </item>
        <item>
            <title>AESNIの計算速度をOpenSSLで測る</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:openssl</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;aesniの計算速度をopensslで測る&quot;&gt;AESNIの計算速度をOpenSSLで測る&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
OpenSSLを用いて、演算速度(暗号演算性能)を測定する。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; FreeBSDの場合(AES-NIなし): /usr/bin/openssl speed aes-256-cbc&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; FreeBSDの場合(AES-NIあり): /usr/bin/openssl speed -engine cryptodev -evp aes-256-cbc&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;AESNI\u306e\u8a08\u7b97\u901f\u5ea6\u3092OpenSSL\u3067\u6e2c\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;aesni\u306e\u8a08\u7b97\u901f\u5ea6\u3092openssl\u3067\u6e2c\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-294&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;測定結果&quot;&gt;測定結果&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
以下 AES256-CBCでの測定結果
&lt;/p&gt;

&lt;p&gt;
HP DL365G5 / AMD Opteron 2384 2.7GHz / XenServer 6.5SP1&lt;br/&gt;

FreeBSD 10.1 PVHVM / vCPUx2 / 2048M / OpenSSL 1.0.1l-freebsd 15 Jan 2015
&lt;/p&gt;
&lt;div class=&quot;table sectionedit3&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; type       &lt;/th&gt;&lt;th class=&quot;col1 rightalign&quot;&gt;    16 bytes &lt;/th&gt;&lt;th class=&quot;col2 rightalign&quot;&gt;   64 bytes &lt;/th&gt;&lt;th class=&quot;col3 rightalign&quot;&gt;  256 bytes &lt;/th&gt;&lt;th class=&quot;col4 rightalign&quot;&gt;  1024 bytes &lt;/th&gt;&lt;th class=&quot;col5 rightalign&quot;&gt;  8192 bytes &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; no AES-NI  &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;   54914.45k &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  58765.42k &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  60038.89k &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;  155310.19k &lt;/td&gt;&lt;td class=&quot;col5 rightalign&quot;&gt;  155993.34k &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;489-654&amp;quot;} --&gt;
&lt;p&gt;
HP DL360Gen8 / Intel Xeon E312xx 1.79GHz / XenServer 6.5SP1&lt;br/&gt;

FreeBSD 10.1 / vCPUx1 / 1024M / OpenSSL 1.0.1l-freebsd 15 Jan 2015
&lt;/p&gt;
&lt;div class=&quot;table sectionedit4&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0 leftalign&quot;&gt; type       &lt;/th&gt;&lt;th class=&quot;col1 rightalign&quot;&gt;    16 bytes &lt;/th&gt;&lt;th class=&quot;col2 rightalign&quot;&gt;    64 bytes &lt;/th&gt;&lt;th class=&quot;col3 rightalign&quot;&gt;   256 bytes &lt;/th&gt;&lt;th class=&quot;col4 rightalign&quot;&gt;  1024 bytes &lt;/th&gt;&lt;th class=&quot;col5 rightalign&quot;&gt;  8192 bytes &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; no AES-NI  &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;   47192.64k &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;   50545.86k &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;   51148.71k &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;  110930.60k &lt;/td&gt;&lt;td class=&quot;col5 rightalign&quot;&gt;  113857.88k &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; AES-NI     &lt;/td&gt;&lt;td class=&quot;col1 rightalign&quot;&gt;  234559.88k &lt;/td&gt;&lt;td class=&quot;col2 rightalign&quot;&gt;  245204.99k &lt;/td&gt;&lt;td class=&quot;col3 rightalign&quot;&gt;  249549.28k &lt;/td&gt;&lt;td class=&quot;col4 rightalign&quot;&gt;  248483.50k &lt;/td&gt;&lt;td class=&quot;col5 rightalign&quot;&gt;  249318.06k &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;785-1039&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6e2c\u5b9a\u7d50\u679c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6e2c\u5b9a\u7d50\u679c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;295-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Wed, 03 Jun 2015 06:15:17 +0000</pubDate>
        </item>
        <item>
            <title>Lost Password and Clear to Factory Default</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:password</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;lost_password_and_clear_to_factory_default&quot;&gt;Lost Password and Clear to Factory Default&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
ハードウェアの初期化とパスワード復活方法
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Lost Password and Clear to Factory Default&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;lost_password_and_clear_to_factory_default&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-120&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;cisco2621_初期化方法&quot;&gt;Cisco2621 初期化方法&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Cisco 2600のパスワードリカバリー方法
&lt;/p&gt;

&lt;p&gt;
もし、以下の設定が入っている場合、うまく復旧できない。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;no service password-recovery&lt;/pre&gt;

&lt;p&gt;
この場合、起動時に
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;PASSWORD RECOVERY FUNCTIONALITY IS DISABLED&lt;/pre&gt;

&lt;p&gt;
が出るので、諦める？？
&lt;/p&gt;

&lt;p&gt;
一応、cisco曰くstartup configurationが壊れるが復旧可能とあるが、うまく行かなかった。なぜ？？
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ciscoのConsoleポートにシリアルケーブルを繋ぐ&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 9600 bps, 8 bit, non-parity, stop-bit 1の設定をする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 電源を入れる&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Break信号を送る。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; FlashのイメージをDecompressしている時にBreakすること&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;confreg 0x2142&lt;/code&gt;を入力&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Power Cycleを実施&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; rommonからresetを入力すればよい&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; これで初期設定モードで立ち上げるので、最初の質問に&lt;code&gt;no&lt;/code&gt;を応える&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; loginして、write eraseする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 以下を実行&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;router# configure terminal
router(config)# config-register 0x2102
router(config)# end
router# 
      &lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; reloadする&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Cisco2621 \u521d\u671f\u5316\u65b9\u6cd5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;cisco2621_\u521d\u671f\u5316\u65b9\u6cd5&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;121-1239&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;netscreen_初期化方法&quot;&gt;Netscreen 初期化方法&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
もう、Netscreen25なんてわざわざ記録しておく必要は無いと思うけど、一応。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Hardwareに貼ってあるシールからシリアル番号を取得する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Serial Consoleを接続する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; ID, Password共に、メモしたシリアル番号を入力する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 自動的に初期化プロセスが動き出す&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 終了&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Netscreen \u521d\u671f\u5316\u65b9\u6cd5&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;netscreen_\u521d\u671f\u5316\u65b9\u6cd5&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1240-1630&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;opengear_cm4008_password_recovery_and_initialization_and_firmware_update&quot;&gt;opengear CM4008 Password Recovery and Initialization and Firmware Update&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
opengear製CM4008は、便利なConsole Serverであり、また、Monitoring Proverとしても利用できる。
&lt;/p&gt;

&lt;p&gt;
このHardwareの初期化に関して。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 電源を入れる&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 背面にあるERASEボタンを2度押す&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 初期化完了&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
これで、IP Address: 192.168.0.1 User: root, Password: defaultで、sshでloginできる。
&lt;/p&gt;

&lt;p&gt;
もちろん、Webからも、&lt;a href=&quot;https://192.168.0.1&quot; class=&quot;urlextern&quot; title=&quot;https://192.168.0.1&quot;&gt;https://192.168.0.1&lt;/a&gt;でlogin可能。
&lt;/p&gt;

&lt;p&gt;
Firmwareの更新は、以下の方法で。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Webでloginし、最上段にあるFirmware Revisionを確認&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;ftp://ftp.opengear.com&quot; class=&quot;urlextern&quot; title=&quot;ftp://ftp.opengear.com&quot;&gt;ftp://ftp.opengear.com&lt;/a&gt; から最新のcm4008*.flashを入手&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Administration : System : Firmwareを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Firmware Upgrade Fileのchooseボタンで、更新するファイルを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; これでFirmwareの更新は終了&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;opengear CM4008 Password Recovery and Initialization and Firmware Update&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;opengear_cm4008_password_recovery_and_initialization_and_firmware_update&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;1631-2479&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit5&quot; id=&quot;ap7900_password_recovery_and_initialization&quot;&gt;AP7900 Password Recovery and Initialization&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
APC(&lt;a href=&quot;http://www.apc.com/index.cfm&quot; class=&quot;urlextern&quot; title=&quot;http://www.apc.com/index.cfm&quot;&gt;http://www.apc.com/index.cfm&lt;/a&gt;) AP7900(Switched Rack Mount PDU)のパスワード消去方法
&lt;/p&gt;

&lt;p&gt;
以下の作業は、各電源には影響を与えないはず。
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Serial Cableを刺す。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; AP7900のSerial Cableは特殊なので注意&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Terminalから接続し、“User Name :“のPromptが出るのを確認&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Network Management Cardのリセットボタンを押す&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Status LEDが橙色と緑色の早い点滅になるはず&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 再度Network Management Cardのリセットボタンを押す&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Terminalからの接続が切れるので、再度Terminalから接続する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Status LEDが消灯した後、緑色で点灯する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 30秒以内にTerminalから”Enter”を押して、“User Name :“のPromptを出す&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Loginする&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; User ID: apc&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Password: apc&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 新しいパスワードを設定する&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
結構時間がかかるので注意
&lt;/p&gt;

&lt;p&gt;
初期化する場合、以上のpassword recover作業後、
&lt;/p&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; AP7900にLoginする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 3 Systemを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 4 Toolsを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 4 Reset Only TCP/IP to Defaultsを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 2 Reset to Defaultsを選択&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; “ESC”を数回押してTopに戻る&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 4 Logoutを選択し、Logoutする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; しばらく待つと初期化される&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
初期状態のUser IDはapc、Passwordはapcとなる
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;AP7900 Password Recovery and Initialization&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ap7900_password_recovery_and_initialization&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:3,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;2480-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 15 Oct 2018 08:02:52 +0000</pubDate>
        </item>
        <item>
            <title>RAIDについて</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:raid</link>
            <description>
&lt;h2 class=&quot;sectionedit1&quot; id=&quot;raidについて&quot;&gt;RAIDについて&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
昔書いたRAID規格の整理表。
&lt;/p&gt;

&lt;p&gt;
実質RAID50/51はいらないかなぁ。まぁ、メモって事で。
&lt;/p&gt;
&lt;div class=&quot;table sectionedit2&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot; colspan=&quot;2&quot;&gt;  &lt;a href=&quot;http://ja.wikipedia.org/wiki/RAID&quot; class=&quot;urlextern&quot; title=&quot;http://ja.wikipedia.org/wiki/RAID&quot;&gt;http://ja.wikipedia.org/wiki/RAID&lt;/a&gt;  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  規格     &lt;/td&gt;&lt;td class=&quot;col1 centeralign&quot;&gt;  説明  &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID0    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 耐故障性のないディスクアレイ方式。複数のディスクをつなげて単純に1台に見せる。コンキャットネートディスク(Concat)ということもある。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID1    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; 二重化(ミラーリング/Mirror)方式。複数台のディスクを完全に同期させ、同一の情報を持つ完全なコピーとして動作させる。耐障害性に優れているが、効率は悪い。また、RAIDの最大の弱点であるコントロー&amp;gt;ラーの故障にも対応しやすい。RAID1は最低でも2台のHDDが必要である。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID1+0  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; RAID0によってConcatしたDiskをRAID1によってMirrorすることによって作られるディスク。大容量で、完全に二重化されているため、耐障害性に優れている。なお、RAID0とRAID1を組み合わせて利用する場合、先にRAID1を用いてMirrorしたDiskをRAID0を用いてConcatするべきである。これは、Concatするディスクがすでに二重化されているためにRAID0を構成する全ディスクの耐故障性が高まってるからである。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID2    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ビット単位での専用誤り訂正符号ドライブ方式。ハミングコードを用いたECCによる冗長化機構を利用しているため、全RAID中もっとも耐障害性に優れている。現在のHDDの信頼性は、ECCを用いる必要があるほど低くないため、RAID2を利用することはなく、市販製品もない。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID3    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ビット・バイト単位での専用パリティードライブ方式。RAID2における誤り訂正符号作成方式を排他的論理和(XOR)によってパリティーに変換する手法に置き換え、演算コストを低減した物である。最低3台のHDDを利用し、1台を誤り訂正政府号に割り当て、残り複数台にデータを記録する。RAID5によって効率・性能が大幅に改善されたため、現在ではRAID3は利用されない。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID4    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ブロック単位での専用パリティードライブ方式。RAID2,RAID3と同様、最低3台のHDDが必要となる。RAID3では、ビット・バイト単位で誤り訂正を行うため、I/O効率が低い。この問題をブロック単位で扱うことによって改善した物である。RAID5によって効率・性能が大幅に改善されたため、現在ではRAID4は利用されない。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID5    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;ブロック単位でのパリティー分散記録方式。RAID5は複数のハードディスクに誤り訂正符号データと共に分散させて記録することで、RAID3、RAID4のボトルネックを回避する方式であルーターだし、読み出しは&amp;gt;高速に行えるが、パリティー計算を行う必要があるため書き込みは遅くなる。RAID5は耐故障性、読み出し速度の面から、現在最も利用されているRAID手法である。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID5+0  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; RAID10と同様にRAID5で構成されたディスクをConcatすることで、耐故障性の高い巨大なディスクを作成する手法。近年ではHDDの大容量化が進み、RAID 50を必要とする局面はあまり無くなっている。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID5+1  &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; RAID5で構成されたディスクセットをRAID1でMirrorする手法。近年HDDの大容量化が進んだため、HDD1台が故障した場合のRAID5の復旧に時間がかかるようになっている。この問題を回避するため、完全に冗長化された仕組みをもってディスクを構成する場合にRAID51を用いる。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAID6    &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; フロック単位での複数パリティー分散方式。HDDを最低4台必要とする。RAID5では、同時に2台のディスクが故障した場合（復旧中にディスクが故障する場合も含む）対応ができない。この問題に対応するために開発された。パリティー情報を複数作成するため、RAID 5よりもさらに書き込みが遅くなる。 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; RAIDZ     &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ZFS上に実装されたRAID同等の機能。RAID5やRAID6には、パリティ更新時に何らかの障害が発生した場合、データとパリティが一致しなくなり、システム上では正常に見えても内部ではデータ破壊が進んでいるという状態（サイレントクラッシュ）に陥るという致命的な欠点がある。またストライプ幅より小さいデータを書き込む際、全体のデータとパリティを読み込んで再計算をする必要があり、パフォーマンスが著しく低下するという弱点もある。RAIDZは常にストライプ全体への書き込みを行う。これに、コピーオンライトを組み合わせることによりRAID5やRAID6が持つサイレントクラッシュの問題を完全に回避できる。&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAIDZ1   &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; パリティが1つのRAIDZ (RAID5相当) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAIDZ2   &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; パリティが2つのRAIDZ (RAID6相当) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0 centeralign&quot;&gt;  RAIDZ3   &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; パリティが3つのRAIDZ&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;144-5226&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;RAID\u306b\u3064\u3044\u3066&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;raid\u306b\u3064\u3044\u3066&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-5227&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit3&quot; id=&quot;raidの遅さ&quot;&gt;RAIDの遅さ&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
RAID/RAIDZは、読み出し、書き込み時に、Parityを再計算して問題がないことを確認する。これは、たとえばRAID5において512Bytesのデータを読み出す場合、512*3(Disk書き込みの最小単位。最近では4Kのものもあるが分かりやすく考えるためにあえて512Bytesで考えている)の読み出しを行う。これは、読み出しに余計な時間がかかるということであり、特に細かいファイルを大量に読み出す際に性能劣化が発生するということを意味する。
&lt;/p&gt;

&lt;p&gt;
RAIDによる冗長性＋容量を採るか、Mirrorによる冗長性＋読み出し速度を採るかは状況によるが、特にHDDを利用する場合、大きく効いてくるので注意が必要。特に、AppleのTimeMachineを利用するのであれば、Mirrorを利用するなどの高速化を視野に入れる必要がある。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;RAID\u306e\u9045\u3055&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;raid\u306e\u9045\u3055&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;5228-6173&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit4&quot; id=&quot;raidに関する若干の考察&quot;&gt;RAIDに関する若干の考察&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
自宅などでRAIDを用いたNASなどを構築するときのためのメモ
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;RAID\u306b\u95a2\u3059\u308b\u82e5\u5e72\u306e\u8003\u5bdf&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;raid\u306b\u95a2\u3059\u308b\u82e5\u5e72\u306e\u8003\u5bdf&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;6174-6298&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;前提条件&quot;&gt;前提条件&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; FreeBSDでZFSを利用するものとする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 考慮対象は Mirror(RAID1), RAIDZ1, RAIDZ2、及びRAID0(Concat/Striping)とする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 故障理由に書き込み寿命等の要件は考慮しないものとする&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mirroringを採用した場合、&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 書き込み速度は1倍、&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 読み込みは並列読み込みできるものとし、n台のDIskでMirrorをするなら単純にn倍になるとする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; RAIDZを利用する場合、&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Parity計算にかかる時間は概ね無視できる（CPUに十分な計算力があると仮定）&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 書き込み速度は1倍（Parity計算を無視できるとする）&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 読み込み速度は1倍（ParityからのData再計算はしないとする）&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u524d\u63d0\u6761\u4ef6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u524d\u63d0\u6761\u4ef6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6299-7053&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;仮定条件&quot;&gt;仮定条件&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ol&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diskへの書き込みに関して、Errorは出ない&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;
実際には、HDDからの情報読み出しにおいては、回復不能なエラーが発生する可能性がある。
以下はSeagate製品のカタログから抜き出している。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Consumer向けHDDで、 1bit/10^14bit 程度&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Enterprise向け高信頼HDDで 1bit/10^16bit 程度&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
これは、Consumer 向け2TB disk 5本で構築されたRAID5システムにおいて、一回全領域を読み出した場合、60%の確率で1bit、「回復不能」のエラーが発生する可能性があることを示している。なお、Enterprise向け高信頼HDDならば、同条件で1bitの「回復不能」エラーが発生する確率は単純に0.6%である。
つまり、Rebuildを実施した場合、Consumer向けHDDでは60%の確率でRebuildに失敗することを意味する。ただし、実際には、Disk容量を100%使い切ることはないであろうことから、失敗する確率はもう少し低くなると考えられる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u4eee\u5b9a\u6761\u4ef6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u4eee\u5b9a\u6761\u4ef6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7054-8116&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;注意点&quot;&gt;注意点&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
以下、Disk2本でRAIDZ1を組むという本質的には無意味な設定を検討している。
これは、実際には構築できない設定が含まれることを意味するが、思考実験でもあるので、注意して欲しい。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6ce8\u610f\u70b9&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6ce8\u610f\u70b9&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;8117-8387&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit8&quot; id=&quot;diskが2本の場合&quot;&gt;Diskが2本の場合&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
可能な選択は、
&lt;/p&gt;
&lt;div class=&quot;table sectionedit9&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;Mirror&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 2倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数1台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;RAIDZ1&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数1台&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table1&amp;quot;,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;8441-8622&amp;quot;} --&gt;
&lt;p&gt;
の２種類。
&lt;/p&gt;

&lt;p&gt;
この場合、書き込み速度は変わらないが、読み出し速度はMirrorの方が単純に2倍早くなる
Diskが1台故障した場合、復旧にかかる時間は、
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Mirrorの場合、単純なコピーで済む&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; RAIDZ1の場合、Parityからのデータ再計算が必要になるため、CPUの計算量を無駄に消費する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
結論：単純にMirrorを選択すべき。
&lt;/p&gt;

&lt;p&gt;
以下、同容量での組み合わせでRAID vs Mirrorという条件が発生したらMirrorのみを考慮するものとする
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Disk\u304c2\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;disk\u304c2\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;8388-9174&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit10&quot; id=&quot;diskが3本の場合&quot;&gt;Diskが3本の場合&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
可能な選択は、
&lt;/p&gt;
&lt;div class=&quot;table sectionedit11&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;3本Mirror  &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 3倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数3台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数3台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;3本でRAIDZ2&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数3台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数2台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;3本でRAIDZ1&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 2本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数1台&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table2&amp;quot;,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;9228-9520&amp;quot;} --&gt;
&lt;p&gt;
の4種類。
&lt;/p&gt;

&lt;p&gt;
結論：実際に選択可能な選択は事実上(1)か(3)となる。
&lt;/p&gt;

&lt;p&gt;
これは、必要となる容量と同時故障台数予測を以ってで考えるべき
&lt;/p&gt;

&lt;p&gt;
・Diskが4本の場合
可能な選択は、
&lt;/p&gt;
&lt;div class=&quot;table sectionedit12&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;4本でMirror              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 4倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数4台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数3台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;4本でRAIDZ2              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 2本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数3台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数2台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;4本でRAIDZ1              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 3本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数1台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;4&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;2本でMirror、2setでMirror&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 4倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数4台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数3台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;2本でMirror、2setでRAID0 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 2本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 2倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数2台&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table3&amp;quot;,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;9748-10311&amp;quot;} --&gt;
&lt;p&gt;
の5種類。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; (1)と(4)は実質同等であるが、管理の複雑さを考慮すると、選択肢は(1)となる&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; (2)と(5)は容量は等価。読み込み速度は(5)の方が2倍早くなるが、故障時のリスクが(5)の方が大きくなる&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; (2)場合、Diskが２本破損しても稼働する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; (5)の場合、DiskをA,B,C,Dとした場合、(A,B)+(C,D)という構成とし、Aが破損したと考えた場合、&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; C or Dが破損した場合は、稼働する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Bが破損した場合、(A,B)が破損し、Volume全体が破損する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
となるため、3台中2台までは破損しても稼働する＝2/3=0.66台まで破損に対応できると考えられる。
&lt;/p&gt;

&lt;p&gt;
障害復旧に関しては、(1)=(4)&amp;lt;(5)&amp;lt;(3)&amp;lt;(2)となる。
&lt;/p&gt;

&lt;p&gt;
結論：実際の選択としては、(1),(2),(3)となる。これは必要となる容量に応じて検討するべき。
ただし、読み出し速度が重要な局面では、(2)の代わりに(5)を選択する局面がある
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Disk\u304c3\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;disk\u304c3\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;9175-11317&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;diskが5本の場合&quot;&gt;Diskが5本の場合&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
事実上可能な選択は
&lt;/p&gt;
&lt;div class=&quot;table sectionedit14&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;5本でMirror&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;5本でRAIDZ2&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;5本でRAIDZ1&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table4&amp;quot;,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;11377-11430&amp;quot;} --&gt;
&lt;p&gt;
となる。
&lt;/p&gt;

&lt;p&gt;
議論はDiskが4本の場合と同じ。ただし、Diskが4本の場合と異なり、(5)の選択肢はない
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Disk\u304c5\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;disk\u304c5\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;11318-11558&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit15&quot; id=&quot;diskが6本の場合&quot;&gt;Diskが6本の場合&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
事実上可能な選択は
&lt;/p&gt;
&lt;div class=&quot;table sectionedit16&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;1&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;6本でMirror              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 1本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 6倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数6台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数5台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;2&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;6本でRAIDZ2              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 4本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数3台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数2台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;3&lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;6本でRAIDZ1              &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 5本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 1倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数1台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;4&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;2本でMirror、3setでRAID0 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 3本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 2倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数2台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数3台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;5&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;2本でMirror、3setでRAIDZ1&lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 2本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 2倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数4台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数4台&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;6&lt;/td&gt;&lt;td class=&quot;col1&quot;&gt;3本でMirror、2setでRAID0 &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt;Disk 2本分&lt;/td&gt;&lt;td class=&quot;col3&quot;&gt;READ 3倍&lt;/td&gt;&lt;td class=&quot;col4&quot;&gt;WRITE 1倍&lt;/td&gt;&lt;td class=&quot;col5&quot;&gt;最小破損台数3台&lt;/td&gt;&lt;td class=&quot;col6&quot;&gt;最大故障台数4台&lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table5&amp;quot;,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;11618-12295&amp;quot;} --&gt;&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 一般の用途において、5多重は考慮の対象から外して問題ない。従って、(1)は対象から外れる。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; (2)と(4)は容量が必要な場合に検討対象となる。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; (4)と(6)は読み込み速度が重要な場合に検討対象となる。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ただし、(4)は、故障条件が厳しすぎて、実質１台の故障しか許容できないところに問題がある。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt;最小２台の故障でVolumeが壊れる。最大３台までは破損しない可能性もある&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; (5)は、同時故障台数の許容量は大きいが、これなら(6)の方が有効&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Diskが5本以上ある場合、RAIDZ1では同時故障の許容度が低すぎる。これで問題がない場合もあるが、復旧時の負荷を考えると(3)は外さざるを得ない&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;Disk\u304c6\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;disk\u304c6\u672c\u306e\u5834\u5408&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;11559-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 03 Sep 2022 13:10:00 +0000</pubDate>
        </item>
        <item>
            <title>sshに関して</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:ssh</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;sshに関して&quot;&gt;sshに関して&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
技術メモなどに色々バラバラに書いていたssh関係を一度まとめる。
詳細は色々な本などにあるだろうし、過去記事のまとめ程度に抑えておく。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ssh\u306b\u95a2\u3057\u3066&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh\u306b\u95a2\u3057\u3066&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:1,&amp;quot;range&amp;quot;:&amp;quot;1-225&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit2&quot; id=&quot;ssh_とは&quot;&gt;ssh とは&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
sshは、Secure Shell から名前をとった、リモート端末との通信を行うためのプロトコル、コマンドのことをいう。
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 大本に、rsh(remote shell)がある。rshは、Remote Shellから名前をとったもの&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 他に、telnetやrloginなどもある。何れにしても暗号化などの保護はない。なお、telnetにSSL/TLSを組み合わせたtelnetsもあるが、ほぼ利用されていない。&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; rshには、通信保護の機構はなく、通信内容はRPCを利用し、生データが流れていた&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sshでは、RPCを利用することをやめ、ssh daemonとssh client間で暗号化された通信路を用いてデータをやりとりする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
sshはRFCにより仕様が規定および公開されている。(20190925時点で調べたもの。今ではもっとあるんだろうけど、面倒だから調べてない)
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4250&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4250&quot;&gt; RFC 4250 &lt;/a&gt; : The Secure Shell (SSH) Protocol Assigned Numbers&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4251&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4251&quot;&gt; RFC 4251 &lt;/a&gt; : The Secure Shell (SSH) Protocol Architecture&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4252&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4252&quot;&gt; RFC 4252 &lt;/a&gt; : The Secure Shell (SSH) Authentication Protocol&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4253&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4253&quot;&gt; RFC 4253 &lt;/a&gt; : The Secure Shell (SSH) Transport Layer Protocol&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4254&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4254&quot;&gt; RFC 4254 &lt;/a&gt; : The Secure Shell (SSH) Connection Protocol&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4255&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4255&quot;&gt; RFC 4255 &lt;/a&gt; : Using &lt;abbr title=&quot;Domain Name System&quot;&gt;DNS&lt;/abbr&gt; to Securely Publish Secure Shell (SSH) Key Fingerprints&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;https://tools.ietf.org/html/rfc4256&quot; class=&quot;urlextern&quot; title=&quot;https://tools.ietf.org/html/rfc4256&quot;&gt; RFC 4256 &lt;/a&gt; : Generic Message Exchange Authentication for the Secure Shell Protocol (SSH)&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ssh \u3068\u306f&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh_\u3068\u306f&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:2,&amp;quot;range&amp;quot;:&amp;quot;226-1930&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit3&quot; id=&quot;機能関係&quot;&gt;機能関係&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
以下、&lt;a href=&quot;https://github.com/sheo0147/CEoR&quot; class=&quot;urlextern&quot; title=&quot;https://github.com/sheo0147/CEoR&quot;&gt;CEoR&lt;/a&gt;改を実装するために必要となりそうなsshの機能のみに限定してのメモ
&lt;/p&gt;

&lt;p&gt;
対象とする実装は、&lt;a href=&quot;https://www.openssh.com&quot; class=&quot;urlextern&quot; title=&quot;https://www.openssh.com&quot;&gt; OpenSSH &lt;/a&gt;とする。これは、CEoRで管理をしたい対象がFreeBSD/OpenBSD/Linux系のOS環境であり、これらには標準的にOpenSSHが採用されているからである。
&lt;/p&gt;
&lt;div class=&quot;table sectionedit4&quot;&gt;&lt;table class=&quot;inline&quot;&gt;
	&lt;thead&gt;
	&lt;tr class=&quot;row0&quot;&gt;
		&lt;th class=&quot;col0&quot;&gt; Option &lt;/th&gt;&lt;th class=&quot;col1&quot;&gt; Config Param name &lt;/th&gt;&lt;th class=&quot;col2&quot;&gt; default &lt;/th&gt;&lt;th class=&quot;col3&quot;&gt; descriptions &lt;/th&gt;
	&lt;/tr&gt;
	&lt;/thead&gt;
	&lt;tr class=&quot;row1&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -A/-a  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 認証Agentの転送を許可/禁止 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row2&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -D     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Debug logを引数で指定したファイルに書き出す(-v/-vv/-vvv出力) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row3&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;2&quot;&gt; -e     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;2&quot;&gt; EscapeChar        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;2&quot;&gt; &lt;code&gt;~&lt;/code&gt;   &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; &lt;code&gt;文字&lt;/code&gt;/&lt;code&gt;^文字&lt;/code&gt; 指定文字/制御文字をエスケープ文字にする &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row4&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; none: エスケープ文字を禁止する。(Binary Dataに対して透過になる) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row5&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -F     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2&quot;&gt; ~/.ssh/config &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 設定ファイルを指定する。 &lt;strong&gt;システムdefaultは無視される&lt;/strong&gt; &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row6&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -f     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; sshの認証後、BackGroundに移行する &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row7&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;2&quot;&gt; -J     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;2&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;2&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 引数で指定されたマシンを踏み台にして対象ホストに接続する &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row8&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 対象ホストの名前解決ができなければならない &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row9&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -L     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; LocalForward      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Local forward &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row10&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -l     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; User              &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; login名 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row11&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -N     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; リモートコマンドを実行しない (-Mと併せて使う) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row12&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -n     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; stdinを/dev/nullに切り替える。Passphraseなどを入力する必要がある場合 &lt;code&gt;-f&lt;/code&gt; を使う &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row13&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;3&quot;&gt; -O     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;3&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;3&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; -Mで作ったMasterへの制御コマンドを送る。 check: Masterがあるかのチェック &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row14&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; forward: port forwardを要求 / cancel: port forwardをキャンセル &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row15&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; exit: Master Processを終了する / stop: これ以上の分岐を禁止する &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row16&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -o     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 設定ファイルと同じ形式でのオプション指定 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row17&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -M     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ControlMaster     &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; no      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 単一のネットワーク接続において、複数セッションを共有するか &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row18&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;3&quot;&gt; -Q     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;3&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;3&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 問い合わせ。cipher(対象暗号の種類)/cipher-auth(認証付き暗号化をサポートする対象暗号の種類) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row19&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; mac(メッセージ認証コードの種類)/kex(鍵交換アルゴリズム)/key-cert(証明書の鍵の形式) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row20&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt;&lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row21&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -q     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; quiet mode &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row22&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -R     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; RemoteForward     &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; リモーロフォワード &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row23&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -S     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ControlPath       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Master modeにおける制御用Socketファイルの指定 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row24&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -T/-t  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; RequestTTY        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; セッションに対してTTYを要求するか？ no:要求しない/yes:要求する(-t)/forcce:強制的に割り当て(-tt) &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row25&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -X/-x  &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ForwardX11        &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; no      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; X11接続を転送するか yes:許可/no:禁止 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row26&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt; -y     &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt;                   &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; logをsysぉg経由で飛ばす。defaultではstderrに出力される &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row27&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; BatchMode         &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; no      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Password/Passphrase入力を求めるか？ &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row28&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; CheckHostIP       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; yes     &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; knwnhostsファイルのエントリーとの比較を行うか？ &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row29&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1&quot;&gt; ConnectionAttmpts &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; 1       &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 接続試行回数 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row30&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ConnectTimeout    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; TCP Connectionが成立するまでのTimeout時間の設定 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row31&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ControlPath       &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; Master modeにおける制御用Socketファイルの指定 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row32&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;4&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;4&quot;&gt; ControlPersist    &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;4&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; no: MasterはForegroundのまま、最初のClientが終了した直後に終了 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row33&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; yes / 0 : MasterはBackgroundに移行し、永続的に保持される &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row34&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; 数値(秒) / 時間形式 : idleな時間が指定値を越えると接続が終了 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row35&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; OpenSSH 5.6以降でのみ利用可能 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row36&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot;&gt; ForwardAgent      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot;&gt; no      &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 認証エージェントへの接続を転送するか &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row37&quot;&gt;
		&lt;td class=&quot;col0 leftalign&quot; rowspan=&quot;2&quot;&gt;        &lt;/td&gt;&lt;td class=&quot;col1 leftalign&quot; rowspan=&quot;2&quot;&gt; IdentityFile      &lt;/td&gt;&lt;td class=&quot;col2 leftalign&quot; rowspan=&quot;2&quot;&gt;         &lt;/td&gt;&lt;td class=&quot;col3&quot;&gt; 利用する秘密鍵 &lt;/td&gt;
	&lt;/tr&gt;
	&lt;tr class=&quot;row38&quot;&gt;
		&lt;td class=&quot;col0&quot;&gt; force: 常に要求 /auto: loginセッションの時だけ要求する &lt;/td&gt;
	&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;table&amp;quot;,&amp;quot;secid&amp;quot;:4,&amp;quot;range&amp;quot;:&amp;quot;2350-6549&amp;quot;} --&gt;
&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u6a5f\u80fd\u95a2\u4fc2&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u6a5f\u80fd\u95a2\u4fc2&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:3,&amp;quot;range&amp;quot;:&amp;quot;1931-6550&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit5&quot; id=&quot;controlmaster&quot;&gt;ControlMaster&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; Masterになる場合、 &lt;code&gt;-M&lt;/code&gt; もしくは &lt;code&gt;-o ControlMaster=yes&lt;/code&gt; を指定し、 &lt;code&gt;ControlPath=[SocketFilename]&lt;/code&gt; を指定する。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; Masterの接続を流用する場合、&lt;code&gt;-o ControlMaster=no&lt;/code&gt; を指定し、 &lt;code&gt;ControlPath=[SocketFilename]&lt;/code&gt; を指定する。&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; ControlPathに指定されたSocket Fileがない場合には、通常の接続が行われる&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;-o ControlMaster=auto&lt;/code&gt;を指定すると、「Master接続が利用できる場合にはそれを利用、利用できない場合には自動的に新しい接続を作成」する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ControlPathの引数にはEscape Sequenceが利用できる&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%L&lt;/code&gt; : Localのホスト名の最初の部分&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%l&lt;/code&gt; : localのホスト名(hostnameコマンドの返り値)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%h&lt;/code&gt; : remoteのホスト名&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%n&lt;/code&gt; : コマンドラインで指定された(remote)ホスト名&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%p&lt;/code&gt; : remoteのport番号&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%r&lt;/code&gt; : remoteのログイン名&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%u&lt;/code&gt; : sshを実行したユーザーのログイン名&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%i&lt;/code&gt; : sshを実行したユーザーのUID&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;%C&lt;/code&gt; : &lt;code&gt;%l%h%p%r&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ControlMaster&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;controlmaster&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:5,&amp;quot;range&amp;quot;:&amp;quot;6551-7660&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit6&quot; id=&quot;controlmasterに関するcommand_line&quot;&gt;ControlMasterに関するCommand line&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ssh -M 127.0.0.1&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Masterとして動作し、RemoteのTTYを掴む。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 制御用socketは(FreeBSDの場合)&lt;code&gt;/tmp&lt;/code&gt;に置かれる&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 制御用socketのファイル名を取得する方法がない&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ssh -M -S [SocketFileName] 127.0.0.1&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Masterとして動作し、RemoteのTTYを掴む。&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 制御用socketは&lt;code&gt;-S&lt;/code&gt;の引数に記載された&lt;code&gt;[SocketFileName]&lt;/code&gt;になる&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ssh -N -f -M -S [SocketFileName] 127.0.0.1&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Masterとして動作し、Socketを作成した後sshはBackgroundに&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; 制御用socketは&lt;code&gt;-S&lt;/code&gt;の引数に記載された&lt;code&gt;[SocketFileName]&lt;/code&gt;になる&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ssh -N -f -O exit -S [SocketFileName] 127.0.0.1&lt;/code&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;[SocketFileName]]&lt;/code&gt; に紐づいたssh接続が終了する&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ssh -N -f -M -S [SocketFileName] 127.0.0.1&lt;/code&gt;を２回起動する&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;ControlMaster=auto&lt;/code&gt; 相当の挙動をする&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ControlMaster\u306b\u95a2\u3059\u308bCommand line&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;controlmaster\u306b\u95a2\u3059\u308bcommand_line&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:6,&amp;quot;range&amp;quot;:&amp;quot;7661-8583&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit7&quot; id=&quot;shell_scriptとssh&quot;&gt;shell scriptとssh&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;

&lt;p&gt;
shell scriptにおいて、ファイルから1行ずつ読み込んで処理をするような場合、以下のようにかける。
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; line; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${line}&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
ところが、この手を使ってsshを実行すると、なぜか最初の行しか実行されない
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; line; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; xxx.xxx.xxx.xxx &lt;span class=&quot;co1&quot;&gt;${line}&lt;/span&gt;	&lt;span class=&quot;co0&quot;&gt;# XXX 期待通りに動かない&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
原因はsshコマンド実行に伴う標準入力の切替と考えられる。
sshコマンドを実行すると、ローカルホストのstdinからの入力を終了し、sshで指定したリモートホストのstdinからの入力受付を開始する。
従って、ローカルホストのファイルの読込みを終了させた上でsshコマンドを実行し、再びreadコマンドを実行しようとしていると考えられる。もちろん、この時点で既にファイルがcloseされている為、whileが終了してしまう。
&lt;/p&gt;

&lt;p&gt;
対策は、sshに&lt;code&gt;-n&lt;/code&gt;オプションをつけること。これよって、sshコマンドのstdin切り替えを禁止することが出来る。
&lt;/p&gt;

&lt;p&gt;
この原因がちっともわからず、数時間を無駄にしてしまった。
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; line; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; xxx.xxx.xxx.xxx &lt;span class=&quot;co1&quot;&gt;${line}&lt;/span&gt;	&lt;span class=&quot;co0&quot;&gt;# これで/dev/nullがsshのstdinにつながる&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
このほかに、for文で &lt;code&gt;for line in `cat file`&lt;/code&gt; で代用する手も考えられるが、これは、行にスペースがある場合、$lineに代入される値が１行まるごとではなく、スペースまでの部分になるので、ここにも明確な罠があると考えられる。これを回避するにはIFSを変えれば良いのだから、
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;re2&quot;&gt;IFS&lt;/span&gt;=$&lt;span class=&quot;st_h&quot;&gt;&#039;\n&#039;&lt;/span&gt;				&lt;span class=&quot;co0&quot;&gt;# 区切り文字を&amp;quot; &amp;quot;から&amp;quot;\n&amp;quot;に変える&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;for&lt;/span&gt; line &lt;span class=&quot;kw1&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;kw2&quot;&gt;cat&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;file&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;		&lt;span class=&quot;co0&quot;&gt;# while readの代わりにcatで読み込ませる&lt;/span&gt;
  &lt;span class=&quot;kw2&quot;&gt;ssh&lt;/span&gt; &lt;span class=&quot;re5&quot;&gt;-n&lt;/span&gt; xxx.xxx.xxx.xxx &lt;span class=&quot;co1&quot;&gt;${line}&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
あと、whileはちょっと特殊な制御文で、場合によってはwhile内で変数設定しているはずなのにloopをでてくると変数が空のようなことが起こる。
これは、Whileと他のコマンドを組み合わせた場合、組み合わせ方次第で処理がsubshellがわで処理されてしまう事が原因である。
shellでpipelineを用いて実行した処理は、subshellで処理される。while loopの内部でpipelineを利用すると、whileブロック全体がsubshellで処理されるため、whileブロックの内部と外部で変数の共有が出来ない。
このような場合、whileに対して出力をredirectしてやることで解決できる。
&lt;/p&gt;
&lt;pre class=&quot;code bash&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;while&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;read&lt;/span&gt; line; &lt;span class=&quot;kw1&quot;&gt;do&lt;/span&gt;
  &lt;span class=&quot;re2&quot;&gt;OUT&lt;/span&gt;=&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${line}&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;|&lt;/span&gt; &lt;span class=&quot;kw2&quot;&gt;sed&lt;/span&gt; &lt;span class=&quot;st_h&quot;&gt;&#039;s/test/test2&#039;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;`&lt;/span&gt;
&lt;span class=&quot;kw1&quot;&gt;done&lt;/span&gt; &lt;span class=&quot;sy0&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;re4&quot;&gt;$1&lt;/span&gt;
&lt;span class=&quot;kw3&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;co1&quot;&gt;${OUT}&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;
なお、/bin/shの引数に &lt;code&gt;-v&lt;/code&gt; や &lt;code&gt;-x&lt;/code&gt; をつけると、デバッグに大変に役立つ
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;shell script\u3068ssh&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;shell_script\u3068ssh&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:0,&amp;quot;secid&amp;quot;:7,&amp;quot;range&amp;quot;:&amp;quot;8584-11480&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit8&quot; id=&quot;sftpとscp関連&quot;&gt;sftpとscp関連&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
scpには様々な問題があるということで、scpはDeprecatedになっており、sftpを利用したファイル転送を利用すべきである。
&lt;/p&gt;

&lt;p&gt;
というわけで、メモ
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://d.hatena.ne.jp/cakephper/20120918/1347935609&quot; class=&quot;urlextern&quot; title=&quot;http://d.hatena.ne.jp/cakephper/20120918/1347935609&quot;&gt;http://d.hatena.ne.jp/cakephper/20120918/1347935609&lt;/a&gt;
&lt;a href=&quot;http://f99aq.hateblo.jp/entry/20090802/1249222491&quot; class=&quot;urlextern&quot; title=&quot;http://f99aq.hateblo.jp/entry/20090802/1249222491&quot;&gt;http://f99aq.hateblo.jp/entry/20090802/1249222491&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
要するに、/etc/ssh/sshd_configを修正し、対象Dirをroot:wheelにすること。
&lt;/p&gt;

&lt;p&gt;
ちなみに、sshd_configに ForceCommand internal-sftp を追加しないと、passwdに記載されているshellを実行しようとするので注意。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;sftp\u3068scp\u95a2\u9023&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sftp\u3068scp\u95a2\u9023&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:8,&amp;quot;range&amp;quot;:&amp;quot;11481-12061&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit9&quot; id=&quot;sshと二要素認証&quot;&gt;sshと二要素認証&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
参考
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://konishi.me/?p=175&quot; class=&quot;urlextern&quot; title=&quot;http://konishi.me/?p=175&quot;&gt;http://konishi.me/?p=175&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://jerrywalsh.org/2008/two-factor-authentication-with-openssh-on-freebsd-7-0-1113.html&quot; class=&quot;urlextern&quot; title=&quot;http://jerrywalsh.org/2008/two-factor-authentication-with-openssh-on-freebsd-7-0-1113.html&quot;&gt;http://jerrywalsh.org/2008/two-factor-authentication-with-openssh-on-freebsd-7-0-1113.html&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;
要するに、BSDでは、上記patchを当てないと出来ないが、RSA AuthenticationとChallenge Response Authenticationを組み合わせて二要素認証にするという話。
&lt;/p&gt;

&lt;p&gt;
/etc/ssh/sshd_config の変更点だけ書いておく。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;ChallengeResponseAuthentication yes
RSAAuthentication yes

RequiredAuthentications2 publickey,keyboard-interactive&lt;/pre&gt;

&lt;p&gt;
Password Authenticationを使う事は出来ないっぽいけど、まだ試してない。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ssh\u3068\u4e8c\u8981\u7d20\u8a8d\u8a3c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh\u3068\u4e8c\u8981\u7d20\u8a8d\u8a3c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:5,&amp;quot;secid&amp;quot;:9,&amp;quot;range&amp;quot;:&amp;quot;12062-12701&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit10&quot; id=&quot;sshdでpublickeyをauthorized_keys以外から持ってくる&quot;&gt;sshdでPublickeyをauthorized_keys以外から持ってくる&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
ちょっと某所で sshd でのPublickey Authentication時のPublickeyを~/.ssh/authorized_keys以外から持ってくる設定について聞かれたので、ちょっと調べてみた。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;sshd\u3067Publickey\u3092authorized_keys\u4ee5\u5916\u304b\u3089\u6301\u3063\u3066\u304f\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;sshd\u3067publickey\u3092authorized_keys\u4ee5\u5916\u304b\u3089\u6301\u3063\u3066\u304f\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:10,&amp;quot;range&amp;quot;:&amp;quot;12702-12971&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit11&quot; id=&quot;問題&quot;&gt;問題&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;AuthorizedKeysCommand&lt;/code&gt; に公開鍵を引っ張ってくるscriptを指定したんだけど、認証に失敗する&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; sshd_configに以下の記述&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;AuthorizedKeysCommand /tmp/pubkey.sh&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;AuthorizedKeysCommandUser hogehoge&lt;/code&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; pubkey.shは以下の通り&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;dl class=&quot;code&quot;&gt;
&lt;dt&gt;&lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?do=export_code&amp;amp;id=tech:ssh&amp;amp;codeblock=6&quot; title=&quot;この部分をダウンロード&quot; class=&quot;mediafile mf_sh&quot;&gt;pubkey.sh&lt;/a&gt;&lt;/dt&gt;
&lt;dd&gt;&lt;pre class=&quot;code&quot;&gt;#!/bin/bash -e
echo &amp;quot;ssh-rsa AAAA.........&amp;quot;&lt;/pre&gt;
&lt;/dd&gt;&lt;/dl&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; ssh -v の結果&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;pre class=&quot;code&quot;&gt;Permission denied (publickey,gssapi-keyex,gssapi-with-mic).&lt;/pre&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u554f\u984c&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u554f\u984c&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:6,&amp;quot;secid&amp;quot;:11,&amp;quot;range&amp;quot;:&amp;quot;12972-13450&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit12&quot; id=&quot;解決&quot;&gt;解決&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; sshdのlogを見ると、&lt;code&gt;error: Unsafe AuthorizedKeysCommand “/tmp/pubkey.sh”: bad ownership or modes for file /tmp/pubkey.sh&lt;/code&gt; が&lt;code&gt;/var/log/auth.log&lt;/code&gt;に出力されていた&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; 色々調べてみると、以下が判明&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; sshdは以下の条件のうち一つでも満たすと、上記エラーを吐く&lt;/div&gt;
&lt;ol&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; 他人に書き換えられる可能性のあるDirectoryに設置されている(/tmpとかはやばい)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Ownerがrootではない&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; Owner以外が書き換えることができる(g+wとかo+wだとまずい)&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level3&quot;&gt;&lt;div class=&quot;li&quot;&gt; AuthorizedKeysCommandUser に指定されたUser Accountで実行できない&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li class=&quot;level1 node&quot;&gt;&lt;div class=&quot;li&quot;&gt; というわけで、以下のように修正&lt;/div&gt;
&lt;ul&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; Scriptを&lt;code&gt;/usr/local/bin/pubkey.sh&lt;/code&gt;に設置&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;AuthorizedKeysCommand /usr/local/bin/pubkey.sh&lt;/code&gt; として&lt;em class=&quot;u&quot;&gt;sshd_config&lt;/em&gt;に設定&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;chmod 750 /usr/local/bin/pubkey.sh&lt;/code&gt; を実行&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;code&gt;chown root:nobody /usr/local/bin/pubkey.sh&lt;/code&gt; を実行&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level2&quot;&gt;&lt;div class=&quot;li&quot;&gt; sshdを再起動&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u89e3\u6c7a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u89e3\u6c7a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:12,&amp;quot;range&amp;quot;:&amp;quot;13451-14440&amp;quot;} --&gt;
&lt;h3 class=&quot;sectionedit13&quot; id=&quot;結論&quot;&gt;結論&lt;/h3&gt;
&lt;div class=&quot;level3&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; この手法を使えば、LDAPでsshの公開鍵を引っ張ってくることができそうだ&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; OpenSSHはSecurity的に相当細かくCheckしているので、ある程度はこの手法を利用しても安全性を確保できそうだ&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 意外と問題の原因が分かりにくいので、追いかけるのが大変&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; 俺はエスパーじゃないので、何をどうしたいのか説明してくれ&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u7d50\u8ad6&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u7d50\u8ad6&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:13,&amp;quot;range&amp;quot;:&amp;quot;14441-14883&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit14&quot; id=&quot;sshの秘密鍵をos-xのkeychain_accessに登録&quot;&gt;sshの秘密鍵をOS-XのKeychain Accessに登録&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
&lt;abbr title=&quot;Operating System&quot;&gt;OS&lt;/abbr&gt;-Xで&lt;code&gt;man ssh-add&lt;/code&gt;していたら、-KなるOptionを発見した。
そういえば、むかーしむかしに見たような気もする。
&lt;/p&gt;

&lt;p&gt;
&amp;lt;node&amp;gt;
-K      When adding identities, each passphrase will also be stored in your
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;      keychain.  When removing identities with -d, each passphrase will
      be removed from your keychain.&lt;/pre&gt;

&lt;p&gt;
&amp;lt;/note&amp;gt;
&lt;/p&gt;

&lt;p&gt;
つまり、&lt;code&gt;ssh-add -K&lt;/code&gt; しておけば、その後はいちいちパスフレーズを入力しなくてもよくなる。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ssh\u306e\u79d8\u5bc6\u9375\u3092OS-X\u306eKeychain Access\u306b\u767b\u9332&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh\u306e\u79d8\u5bc6\u9375\u3092os-x\u306ekeychain_access\u306b\u767b\u9332&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:14,&amp;quot;range&amp;quot;:&amp;quot;14884-15426&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit15&quot; id=&quot;os-xでsshdの待ち受けポートを変更する&quot;&gt;OS-Xでsshdの待ち受けポートを変更する&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
MacOS-Xでリモートアクセスを許可すると、sshで接続できるようになる。
&lt;/p&gt;

&lt;p&gt;
しかし、/etc/sshd_configをいじってもsshの待ち受けポートが変わらないので調べてみたら、&lt;code&gt;/System/Library/LaunchDaemons/ssh.plist&lt;/code&gt;を修正する必要があるということで、以下のように修正
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;       &amp;lt;key&amp;gt;Sockets&amp;lt;/key&amp;gt;
        &amp;lt;dict&amp;gt;
                &amp;lt;key&amp;gt;Listeners&amp;lt;/key&amp;gt;
                &amp;lt;dict&amp;gt;
                        &amp;lt;key&amp;gt;SockServiceName&amp;lt;/key&amp;gt;
                        &amp;lt;string&amp;gt;65535&amp;lt;/string&amp;gt;
                        &amp;lt;key&amp;gt;Bonjour&amp;lt;/key&amp;gt;
                        &amp;lt;array&amp;gt;
                                &amp;lt;string&amp;gt;ssh&amp;lt;/string&amp;gt;
                                &amp;lt;string&amp;gt;sftp-ssh&amp;lt;/string&amp;gt;
                        &amp;lt;/array&amp;gt;
                &amp;lt;/dict&amp;gt;
        &amp;lt;/dict&amp;gt;&lt;/pre&gt;

&lt;p&gt;
このSockServiceNameの文字列sshを待ち受けたいport番号にかえればOK。なお、この例では65535にしているが、ポート番号は適当にどうぞ。
&lt;/p&gt;

&lt;p&gt;
なお、当然、この変更を行った後で
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;% sudo launchctl unload /System/Library/LaunchDaemons/ssh.plist
% sudo launchctl load /System/Library/LaunchDaemons/ssh.plist&lt;/pre&gt;

&lt;p&gt;
を実行する事。そうしないと、変更が反映されないよ。ま、再起動でもいいけどね。
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;OS-X\u3067sshd\u306e\u5f85\u3061\u53d7\u3051\u30dd\u30fc\u30c8\u3092\u5909\u66f4\u3059\u308b&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;os-x\u3067sshd\u306e\u5f85\u3061\u53d7\u3051\u30dd\u30fc\u30c8\u3092\u5909\u66f4\u3059\u308b&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:8,&amp;quot;secid&amp;quot;:15,&amp;quot;range&amp;quot;:&amp;quot;15427-16782&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit16&quot; id=&quot;sshとcron&quot;&gt;sshとcron&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
Backupを取得するに際して、Backupを元々のServerに置いておいたら、Disk破損の時に一気に死ぬ。
で、そんな事態は救われないので、BackupをRemoteに置いておくために、Backup Scriptまで作ったわけだが、Serverの内側でcronなどでBackupを取得するのは設定ミスとか管理の分散とかが起こってうれしくない。
というわけで、remoteからsshを利用してBackupを取得するようにscriptを作ったのだが、
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;Pseudo-terminal will not be allocated because stdin is not a terminal.&lt;/pre&gt;

&lt;p&gt;
などといいうErrorが出た。で、これはptyの割り付けないremoteからのコマンドは実行できないということでsshが吐き出すErrorである。
&lt;/p&gt;

&lt;p&gt;
しかし、shell scriptには&lt;code&gt;-t&lt;/code&gt;は記載されていて、ちゃんと動くはずだとどはまりをしたわけで…
&lt;/p&gt;

&lt;p&gt;
で、困りに困って調べてみたら、出てました。man ssh
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt; -t      Force pseudo-tty allocation.  This can be used to execute arbitrary screen-based pro-
         grams on a remote machine, which can be very useful, e.g. when implementing menu ser-
         vices.  Multiple -t options force tty allocation, even if ssh has no local tty.&lt;/pre&gt;

&lt;p&gt;
よく見たら、&lt;code&gt;Multiple -t options force tty allocation, even if ssh has no local tty.&lt;/code&gt;だそうな。
&lt;/p&gt;

&lt;p&gt;
要するに、&lt;code&gt;-t -t&lt;/code&gt;としろと。
&lt;/p&gt;

&lt;p&gt;
わかりにくいからメモにしておく。
&lt;/p&gt;

&lt;p&gt;
教訓は、RTFM … orz.
&lt;/p&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;ssh\u3068cron&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;ssh\u3068cron&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:10,&amp;quot;secid&amp;quot;:16,&amp;quot;range&amp;quot;:&amp;quot;16783-18298&amp;quot;} --&gt;
&lt;h2 class=&quot;sectionedit17&quot; id=&quot;古いnetwork機器に対するssh接続&quot;&gt;古いNetwork機器に対するssh接続&lt;/h2&gt;
&lt;div class=&quot;level2&quot;&gt;

&lt;p&gt;
うちの環境にはいまだに古いAlaxalAのL2 SwitchやApresiaのL3 Switchがあるのだが、これが古いssh protocolをしゃべる。
そのため、2023/05時点のmacOS(Ventura/13.3)だとsshで接続しようとした時にsshの暗号化パラメータ(鍵交換や暗号アルゴリズム)が対応していなくて接続できなくなる。
&lt;/p&gt;

&lt;p&gt;
その解消のためには、~/.ssh/configに以下のような設定を入れておくこと。
&lt;/p&gt;
&lt;pre class=&quot;code&quot;&gt;# for AlaxalA AX2430S
Host [IP Address] [alias name] ...
        HostKeyAlgorithms       ssh-dss
        KexAlgorithms           +diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1

# for Apressia
Host [IP Address] [alias name] ...
        KexAlgorithms           +diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1&lt;/pre&gt;

&lt;/div&gt;
&lt;!-- EDIT{&amp;quot;target&amp;quot;:&amp;quot;section&amp;quot;,&amp;quot;name&amp;quot;:&amp;quot;\u53e4\u3044Network\u6a5f\u5668\u306b\u5bfe\u3059\u308bssh\u63a5\u7d9a&amp;quot;,&amp;quot;hid&amp;quot;:&amp;quot;\u53e4\u3044network\u6a5f\u5668\u306b\u5bfe\u3059\u308bssh\u63a5\u7d9a&amp;quot;,&amp;quot;codeblockOffset&amp;quot;:12,&amp;quot;secid&amp;quot;:17,&amp;quot;range&amp;quot;:&amp;quot;18299-&amp;quot;} --&gt;</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sat, 13 May 2023 06:15:00 +0000</pubDate>
        </item>
        <item>
            <title>VMware関連</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:vmware</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;vmware関連&quot;&gt;VMware関連&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;

&lt;p&gt;
VMwareはメインで利用するHypervisorではないので、何かやった時に記録するだけ
&lt;/p&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; &lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:vmware:6.7&quot; class=&quot;wikilink1&quot; title=&quot;tech:vmware:6.7&quot; data-wiki-id=&quot;tech:vmware:6.7&quot;&gt; vSphere 6.7&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Sun, 01 Oct 2023 12:40:00 +0000</pubDate>
        </item>
        <item>
            <title>Vuls関連</title>
            <link>http://www.seirios.org/seirios/dokuwiki/doku.php?id=tech:vuls-festa</link>
            <description>
&lt;h1 class=&quot;sectionedit1&quot; id=&quot;vuls関連&quot;&gt;Vuls関連&lt;/h1&gt;
&lt;div class=&quot;level1&quot;&gt;
&lt;ul&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; BBTのBlogに書いた記事 &lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?tok=e2a8b6&amp;amp;media=http%3A%2F%2Ftoe.bbtower.co.jp%2F20160623%2F645%2F&quot; class=&quot;media mediafile mf_jp_20160623_645_&quot; title=&quot;http://toe.bbtower.co.jp/20160623/645/&quot;&gt;Vulsを試してみよう&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;li class=&quot;level1&quot;&gt;&lt;div class=&quot;li&quot;&gt; VulsまつりでのLT資料 &lt;a href=&quot;http://www.seirios.org/seirios/dokuwiki/lib/exe/fetch.php?media=tech:pci-dssandvuls.pdf&quot; class=&quot;media mediafile mf_pdf&quot; title=&quot;tech:pci-dssandvuls.pdf (705.6 KB)&quot;&gt;PCI/DSSとVuls @2016/09/26 Vulsまつり LT資料&lt;/a&gt;&lt;/div&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;/div&gt;
</description>
            <author>anonymous@undisclosed.example.com (Anonymous)</author>
            <pubDate>Mon, 26 Sep 2016 02:44:27 +0000</pubDate>
        </item>
    </channel>
</rss>
