2026年2月22日日曜日
2025年11月30日日曜日
チェンソー防護ブーツの靴幅
- 右 : 長さ 40, 幅 3E, アーチ長 40
- 左 : 長さ 40, 幅 3E, アーチ長 40.5
- ナロー(狭い)系: Arbortec(UK), Zamberlan(IT)(Regular, BPK, バックパック)
- ワイド(広い)系: HAIX(DE), Zamberlan(IT)(Wide, Technical), Meindl(DE), CRISPI(IT)(Pfanner)
The wide last is approximately an EE fit.
Boots marked with ZWL (Zamberlan Wide Last) and Zamberlan Comfort Fit (Comfort Last) are considered "Wide". Boots marked with ZBPK (Zamberlan Backpacking Fit) and X-Active (X-Active Last) are considered a regular fit.
訳すと、
ワイドラスト(靴型)はおおよそ EE 幅にフィットします。ZWL(ザンバラン ワイド ラスト)、及び ザンバラン コンフォートフィット(コンフォートラスト(靴型))と記されているものは "ワイド" と見なされます。ZBPK(ザンバラン バックパッキング フィット)、及び X-Active (X-アクティブ ラスト(靴型))はレギュラーフィットと見なされます。
なので、ZBPK、ザンバラン バックパッキング フィット、レギュラー と表記されているチェンソーブーツはワイド(EE相当)ではないと考えられます。幅で合わせるとすると、通常よりも大きいサイズを選択したほうが良さそうです。できれば Zamberlan のZBPK(バックパッキング フィット)、あるいは X-Active フィットの靴を扱っているお店で試着させてもらって幅に無理がないかどうか、適切なサイズ、フィット感を試させてもらってからサイズを決定するのがよいと思われる。
2025年3月4日火曜日
ソーチェンデプス(レイカー
)量の インチ mm 換算
Saw chain depth gauge (raker) settings inch=mm table
- .017" = 0.43mm (Oregon スクエアレースチェーン最小値)
- .0177" = 0.45mm
- .018" = 0.46mm (STIHL 1/4P 標準値)
- .020" = 0.51mm (Oregon スクエアレースチェーン最大値、STIHL FL4 Hard 近似値)
- .022" = 0.56mm
- .025" = 0.64mm (Oregon 1/4, .325, 3/8 標準値)
- .026" = 0.65mm (STIHL 1/4, .325, 3/8, 3/8P 標準値)
- .030" = 0.76mm (Oregon .404 標準値(27,68シリーズ))
- .031" = 0.80mm (STIHL .404標準値)
2022年9月2日金曜日
チェンソープロテクションパンツの洗濯方法について
;; -*-mode: outline;-*-
;; Created: Fri, Sep 02 15:05:33 JST 2022
;; Last modified: Fri, Sep 02 17:15:20 JST 2022
;;
;; from pfanner catalog 2020, Translated by DeepL and edit by me.
Webで公開されていた 2020年の pfanner のカタログから、チェンソープロテクションパンツの洗濯方法に関する記述を抜粋し主に DeepL で翻訳し、おかしな部分を加筆修正した。
チェンソープロテクションパンツの洗濯方法について
チェンソープロテクションパンツの使用中は、汗や油が定期的に層内に入り込みます。この汚れはチェンソープロテクションの繊維を凝集させ、保護効果を低下させます。チェンソープロテク ションの性能を維持するためには定期的に洗濯する必要があります。毎日使用する平均的な汚れの場合、週1回のクリーニングサイクルをお勧めします。汚れがひどい場合は、着用後すぐに洗濯してください。
準備
汚れがひどい場合は、スプレーボトルを使用して、最適に水と1:1で混合し洗浄力ブースター(borax, 炭酸ソーダ, 重曹など)を汚れに直接塗布してください。可能であれば一晩水に浸けて反応させます。その後、ブラシで汚れを落とし、通常通り洗濯してください。
洗濯機洗い
洗濯機を使って油分を確実に落とすには、heavy-duty detergent (重質洗剤、工業用洗剤) ではなく、色柄物用の液体洗剤を使用することが重要です。
色柄物用洗剤を通常通り投入します。乾いた洗濯物1kg(チェンソー防護パンツ1.6kg)に対して 洗剤投入室に洗浄力ブースター(Borax, 炭酸ソーダ, 重曹など)10mlを加えて予洗してください。
注意
40℃で予洗を開始し、脱水はしないでください。チェンソープロテクションパンツは、脱水工程にかけないでください。洗濯機の脱水工程は、パンツのチェンソープロテクションに粉砕するように作用し、繊維を圧縮してしまいます。これはチェンソープロテクションの性能を著しく低下させることになります。
残りの作業着も40℃のお湯で予洗してください。
洗濯後は、パンツの形に整えて干してください。いかなる場合でも、チェーンソー保護パンツを乾燥機に入れてはいけません。脱水工程と同様チェンソープロテクションに悪影響を及ぼします。
2021年9月5日日曜日
How to input Superscripts or Subscripts into Tweet
How to input Superscripts or Subscripts into Tweet
ツィートに上つき添字や下つき添字を入力するには
ユーザー辞書に Superscripts や Subscripts を登録して変換呼び出しできるようにする。
手元の環境はちょっと古いので、最新の環境では必要ないかもしれない(知らない)
本来、デフォルトの辞書に登録されていれば、こんなことをする必要はない。
例えば、ツィートに化学式を書きたい場合、H2O ってなんかうまくない.. H₂Oって書きたい.. HTML ソースに記述するには実体参照という記述方法があって、&#xUnicodeCodePoint; (UnicodeCodePoint の部分は実際のコード 例えば下つきの2なら 2082などになる)という書き方ができるのだが、フォーム入力する場合や、Tweet するにはこの方法は使えない。
では、どうするのか、というと、Superscripts や Subscripts をコピペするかそのまま入力してやれば良い。
そのまま入力するには、辞書に登録して変換候補として出てくるようにしておく。
次の URI に一覧を置いておくので、その Char の部分をユーザー辞書へコピー&ペーストして、該当文字の変換候補として出現するようにしておく。
一応、iPhone と Debian で入力できることは確認済み。ユーザー辞書をエクスポート->インポート出来ないかと思ってちょこっと見てみたけど面倒くさそうなので止めた..
但し、おそらく大丈夫だと思うが、表示用のフォントが対応してないと表示できないことがあるので、見えない場合はフォントを変えてみてください。
iPhoneからでもこういうツィートができるようになる。
2021年7月11日日曜日
安全靴のヨーロッパ規格 EN 20345 (PPE Safety Footwear), EN ISO 17249:2013 (Cut Protection/カットプロテクション)
EN 20345 (PPE Safety Footwear)
- つま先防護 (200 Joules toe cap) -> SB
- +帯電防止 -> S1, S1P
- +防水性 -> S2
- +踏み抜き防護 -> S3
先芯、防水、踏み抜き防護の安全靴なら S3、踏み抜き防護なしでも良いなら S2
但し、規格通すのが難しいのか、もっと上位の規格通ってそうでも SB + 追加評価 とかで止めてる靴がたくさんある。 逆に S3 でもちょっとあれっ?という靴も.. 注意が必要ですね..
EN ISO 20345 Additional Ratings Explained
EN ISO 20345 の追加評価の説明
EN ISO 17249:2013 (Cut Protection/カットプロテクション)
チェンソーのソーチェンスピードによる分類
- Class1 : 20m/s
- Class2 : 24m/s
- Class3 : 28m/s
2020年10月17日土曜日
チゼルチェーン(角刃) ソーチェンの目立て方法、"スクエアファイリング" について
チゼルチェーンってなに?
チェンソーのソーチェンのカッター、刃の部分の上刃と横刃のジョイントのコーナー部分 (ワーキングコーナー/カッティングコーナーと呼ばれる) がほぼ90°で鋭いもの。フルチゼルともいう。
他に、チャンファーチゼル(面取りしたチゼル)、セミチゼル、マイクロチゼル、チッパーなどがある。2018年判 Oregon Chain のカタログに各社の分類一覧がある。
次の Oregon chain の英語の資料の "Cutter Type" の項目を見てほしい。
上記ドキュメント、Saw Chain Identification の Cutter Type の図の5、これがフルチゼル(チゼル刃、角刃)である。
チゼル刃の目立て-Square Ground Filing-スクェア グランド ファイリング
一般的にチェンソーの刃を目立てするには丸棒やすりを使う。丸やすりでの目立て方法については、STIHLのドキュメント(PDF)が詳しい。
あるいは、秋田県林業普及冊子 No.29 よく切れる組ーチェーンを目指して -永戸式目立て- も参考になる。
フルチゼルチェーンも丸やすりで研げる(十分によく切れる)のだが、フルチゼルのワーキングコーナーがうまく作れず、100%の能力を発揮できない。
そのため、スリーコーナー(Three Corner)/スリースクエア(Three Square)/ヘキサゴン(Hexagon)、シングルベベル(Single Bevel)、ダブルベベル(Double Bevel)、グーフィー(Goofy)などといったヤスリを使ってちょっと特殊な "Square Ground Filing"(スクェアグランドファイリング)と呼ばれる目立てを行う。
Oregon Chain の次の資料(英語)中程の Learn More About Square-Ground Filing の項目を参照してほしい。
https://www.oregonproducts.com/en/product-support/chainsaw/sharpening-chainsaw-chain-/c/sharpening-chainsaw-chain-s
なお、スクェアグランドファイリングだけでは、横刃下部のガレット(Gullet)と呼ばれる部分に余分な研ぎ残しができてしまうので、別途丸棒ヤスリなどで除去する必要がある。先の Oregon Chain の英語資料の "Gullet Filing" の項目を参照。
文章やイラストではイメージが難しいので YouTube の Stihl fan Suisse 氏
(https://www.youtube.com/channel/UCIB1zBhaasRcxqcB491hhaA)の次の動画を
参照して欲しい。
https://www.youtube.com/watch?v=gjR1km8LnDU
ポイントは、上刃目立て角は 20°~30°で、ワーキングコーナーの外側と内側の角から角(corner to corner)を直線で結ぶように研ぐこと、横刃目立て角が85°~90°程度になること、である。このとき、カッター以外のタイストラップやドライブリングにヤスリがあたって削れてしまうのだがこれはある程度はやむを得ない。カッターの背の高さが高い(丸やすり5.2〜5.5mm指定)場合はダメージは少なくなるが、丸やすり 4.8mm 指定、4.0mm 指定の場合は、ソーチェンが破断しないようダメージを小さくする工夫が必要になる。
大きい刃の .404 や 3/8ピッチのソーチェンなら研ぎやすいのだが、小さな刃の .325, 3/8p、3/8lp、1/4ピッチのソーチェン だとワーキングコーナーの外には合わせられても内側にうまくやすりが入らないので理想よりも内側は若干ずれる。
やすりを動かしてみてソーチェン裏側から角度を確認、必要なら角度を修正。これを繰り返す。
一番小さい、あるいは、ダメージの大きい刃をマークし、そこからスタートしてすべてのカッターがほぼ同じ大きさになるように目立てを行う。
デプスゲージは通常の丸やすりでの目立て同様、適切に調整する。
通常、一般的な丸棒ヤスリによる目立てと異なり、3次元の角度維持が必要になるので、なれるまではうまく研げないかもしれない。カッターの外側の角とやすりの角を正確に合わせるのが重要なポイント。
うまく研げるとすんなり柔らかく切れる。
インターネット上(特に日本語の情報)にはよくない例を推奨している動画やブログが散見されるのでこれを書いた。
なお、参照しているサイトや動画情報は私のものではなく、削除、変更されることがあるがご容赦頂きたい。
別サイトにスクエアグラウンドファイリングについてまとめてみたので、よろしければそちらもご参照ください。
;; Created: Sat, Oct 17 15:47:18 JST 2020
;; Last modified: Sun, Nov 30 11:38:04 JST 2025
修正履歴: 2022-03-27 : 新しく得た知見に基づき目立て角度の記述を修正。用語、用法の記述を修正、加筆。Oregon のサイトが整理されて一部リンク切れになっていたものを修正。
2025-11-30 : 一部修正加筆。
2020年4月13日月曜日
a few face shields for chainsaw works or mowing
Petzl などのヘルメットのサイドスロットに取り付け可能なフェイスシールドについて
ここで紹介している 3M Peltor のと異なった取り付け方法のヘルメット、Kask などがあるので注意が必要。ご自分のヘルメットに Peltor がつくかどうかは確認されたし。サイドスロット付きのヘルメットにフェイスシールド、バイザーの取り付けには、3M Peltor のイヤマフに付属するスロットアタッチメント(P3EV/2など)が必要。既にヘルメットに Peltor のイヤマフがついているならそのアダプターへ取り付けする。
こういうやつね。
3M Peltor V4C
伐採やチェンソー作業の時は快適。マットステンレスメッシュの目が粗めで通気性が良い。そのかわりに細かい粉じんは通してしまう。ステンレスメッシュ マットフィニッシュ
メッシュピッチ: おおよそ Φ0.24 1.8mm x 2.5mm
減光: 25%
重量: 80g
購入可能な店舗の一例: 生川商店 - http://www.narukawa-shop.com
FreeWorker - https://shop.freeworker.com/drahtgitter-visier-peltor.html
etc.
3M Peltor V4B
草刈り機を使った作業の時には V4C では目が荒すぎて役に立たないのでより目の細かい V4B を使う。ポリアミド製
メッシュピッチ: Φ0.3mm 1.0mm x 1.0mm
減光: 45%
重量: 70g
購入可能な店舗一例: FreeWorker - https://shop.freeworker.com/nylon-visier-peltor.html
3M Peltor V4J SV
ステンレスメッシュ, エッチング, マットフィニッシュ。ちょっと高額だが伐採、チェンソー作業に良さそう.. 次はこれを購入してみたい。メッシュピッチ: (現時点では不明)
厚さ: 0.15mm(0.3mm表記のところもあり..)
減光: 18%-40%
重量: 80g
購入可能な店舗一例: FreeWorker - https://shop.freeworker.com/aetzmetall-visier-peltor.html
3M Peltor V4A
スチールメッシュ マットフィニッシュメッシュピッチ: Φ0.3mm 1.8mm x 1.8mm
減光: 35%
重量: 90g
3M Peltor V4F
ポリカーボネート製クリアシールド厚さ: 1mm
重量: 110g
藤原産業 セフティー3 KB-13用 替メッシュ w/ Peltor visor
セフティー3 KB-13 用の替えメッシュを Peltor のバイザーへ加工取り付け。少し厚さがあってペルターのバイザーの正面固定部に差し込めないのでそこだけカッターナイフで切削する必要あり。穴の位置は合う。V4B同様、草刈りの時に使用。目が細かいので息がこもりちょっと蒸れて暑い。草などの飛散物が付着して視界が悪くなるので定期的に洗浄が必要。PP = ポリプロピレン
メッシュピッチ: おおよそ 1.0mm x 1.0mm
藤原産業 セフティー3 KB-16用 替メッシュロング
長いため首、胸上部の保護に役立つ。欠点は左右に首を振ると干渉して脱げそうになる、実質、シールドを上げないと首を振っての安全確認は無理。ピッチなどは上記 KB-13と同じ。藤原産業 セフティー3 KB-17用 クリアシールド
岩石やコンクリートのはつりなどにはクリアシールドを使用。曇りや傷、泥水の飛散による汚れなどの問題がある。2020年3月8日日曜日
Bowline knot - もやい結び は、意図せず解けてしまうことがある
Figure 8 (フィギュアエイト, 8の字結び)とともに、loop - 輪 の大きさが固定できて、強い力がかかっても解きやすい紐やロープの結び方のひとつ、Bowline knot (ボウラインノット, ボーリンノット)、もやい結びは、最後のドレス(仕上げ成形)がうまくなかったり、何かに当たる、干渉してしまったり、あるいは力のかかる向きによっては結びが変化して絞れてしまったり、なんども繰り返し振動のような力がかかると、ゆるんでしまったり、最悪の場合、解けてしまう => 事故が起こってしまう ことがある。
WhyKnot 氏が投稿された YouTube の動画を見て確認してほしい。
ではどうすればよいのか?
対策1: Bowline with Yosemite Finish - ボウライン with ヨセミテフィニッシュ, Yosemite Bowline - ヨセミテボウライン
先の動画で解決策としてでてきたボウライン with ヨセミテフィニッシュ、ヨセミテボウラインという結び方を使う
対策2: Double Bowline - ダブルボウライン (2重もやい)
同じく WhyKnot 氏のYouTubeへの投稿から
Bowline knot - もやい結びのループをひとつ追加した結び方。
対策3: Double Bowline + Stopper - ダブルボウライン + ストッパー
さらに万一の時に安全を担保するためにストッパーノットを追加する方法。
WheeliePete 氏のYouTubeへの投稿から
Figure 8 - フィギュアエイト - 8の字結びはダメなの?
安全なのはフィギュアエイトだ。意図せず解けてしまう心配はない。しかし、ロープにもよるが強い力で引かれた時、フィギュアエイトは固くしまってしまい解くことが困難になる。
最後にもう一度.. "Bowline Knot ボウラインノット - もやい結び は、意図せず解けてしまうことがある" 。
皆様、どうぞご安全に👍
2019年3月31日日曜日
STIHL M-Tronic carburator correction
for MS 201 TC-M, MS 261 C-M... (Not for MS 462 C-M...)
Why I wrote this..
当方の作業環境、標高 1,200m-1,600m あたりの高冷地。気温は冬季の最低気温が -20℃程度、夏期の最高気温+30℃未満。桜の開花は4月末~5月初頃。2018年頃に購入した MS 201 TC-M、(M-Tronic version 1 ?)しばらく使用し、エンジン暖まってから休憩して少し冷えた状態になると始動ポジション(△)にしても運転ポジション(I)にしてもなかなかかからず再始動に苦戦する。最終的に右手でフルスロットルにして左手でスターターをかなりの回数引きつづけないとかからなくなる。
また、しばらく連続使用し、完全に暖まった状態のアイドリングで不意にエンジン停止することがある。
Low, High, Idle それぞれスクリューで 調整できる旧タイプのチェンソーでは手動で微調整することでこういう機嫌の悪い状態になるのを避けられるのだが、M-Tronic はそこをうまく学習してもらわないといけない。
取扱い説明書には、暖機後、完全負荷で5回連続で鋸断しろという記述があるがこれでは改善せず。最終的に、r3dpuma氏により2018-02-24に公開された MS 261 C-M 向けの以下の YouTube 動画を参照した。
なぜこれが MS 201 TC-M にも使えるのか、というと、同時期の開発、初期設定の方法が他のところで紹介されていたのと同じ、高回転部分の設定方法(全負荷5回の切断)が同じ、取扱説明書の該当部分が同じ、などにより同等と判断した。
ここで紹介されている方法は、MS 462 C-M (M-Tronic version 3)など、異なる方法でより短時間(72秒)で更正できる新しい機械(取扱い説明書に更正方法の記載あり)には当てはまらないと思われるので注意されたし。当方の環境であっても取扱い説明書どおりに更正した MS 462 C-M はとっても機嫌良いです。
以下は動画の説明に書かれている内容を訳したものである。
To set factory default..(工場出荷状態にリセット)
チェンブレーキをかける。- トリガー、スロットルを握り、スイッチを始動ポジション(△)にセットする。
- スターターを引きエンジンを始動する。
- スロットルやスイッチには触れず、始動ポジション(△)のまま90秒間保持する。
- 90秒経過したらスロットルを開けてスイッチを運転ポジション(I)に移動させる。
- ただちにスイッチを停止ポジション(0)に動かしエンジンを停止する。
To set Low range
チェンブレーキをかける。- トリガー、スロットルを握り、スイッチを始動ポジション(△)にセットする。
- スターターを引きエンジンを始動する。
- スロットルを開けて、スイッチを運転ポジション(I)に移動させる。
- そのままスロットルやスイッチを操作せずにアイドリング状態を90秒間保持する。
- 90秒経過したら、ただちにスイッチを停止ポジション(0)に動かしエンジンを停止する。
To set High range
チェンブレーキをかける。- トリガー、スロットルを握り、スイッチを始動ポジション(△)にセットする。
- スターターを引きエンジンを始動する。
- スロットルを開けて、スイッチを運転ポジション(I)に移動させる。
- チェンブレーキを解除する。
- フルスロットルで15-20cm程度の木を連続5カットする。(オリジナルでは MS 261 C-M 用として 30cm程度と書かれているが MS 201TC-M ではバーにもよるが30cmだとちょっとつらいので.. 全負荷とのことなので、ほぼバー長いっぱい程度、フルスロットルでの鋸断で)
2016年9月29日木曜日
How to encode to m4a on Debian Jessie
車で音楽を聞くのに CD などから m4a を生成して USB メモリへ移している。車につけてる Pioneer のヘッドユニット DVH-P540 というは音楽ファイルとしては wma, mp3 もしくは aac (m4a) しか受け入れてくれなくて、wma を使う理由はない(windows持ってない)し、mp3 は音質的に許せないので m4a にしている。今までは non-free の neroAacEnc というのを利用させてもらっていたのだが、手元が 64bit only な環境 (multiarch めんどくさくなってやめちゃった) ので neroAacEnc が動かなくなったのと、どうも本家でも公開止めたみたいなので、どうするかしばらく試行錯誤していた..
faac, ffmpeg やら libav-tools 試してみたけど、うまく m4a が作れなくて、試行錯誤の結果、次の方法を見つけた。
wav -> aac
まず cd などから音源を wav で取り出しておく。(この過程は割愛.. 個人的には jack コマンドで..)aac に変換するには aac-enc コマンドを利用する。この aac-enc というのは
$ apt-cache show aac-enc
Package: aac-enc
Source: fdk-aac
Version: 0.1.3+20140816-2
Installed-Size: 705
Maintainer: Debian Multimedia Maintainers <pkg-multimedia-maintainers@lists.alioth.debian.org>
Architecture: amd64
Depends: libfdk-aac0 (= 0.1.3+20140816-2), libc6 (>= 2.4)
Description-en: Fraunhofer FDK AAC Codec Library - frontend binary
The FDK AAC Codec Library For Android contains an encoder implementation
of the Advanced Audio Coding (AAC) audio codec.
[...]
Homepage: https://github.com/mstorsjo/fdk-aacと言うもので、Android などで利用されるものを移植したもののようで高音質での aac 化が可能なようだ。
Section: non-free/sound
Section: non-free/sound なので、/etc/apt/sources.list で non-free セクションを明示的に許可してないと見つからないはず。
$ aac-enc -r 320000 examplemusic.wav examplemusic.aac
のように -r 320000 でビットレートを指定(車の DVH-P540の限界が 320k あるので)して aac へ変換する。
aac -> m4a
MP4Box というコマンドを利用する。これは gpac というパッケージに含まれている。section: graphics なので、キーワードがうまくハマらないと見つけにくいかもしれない。$ MP4Box -add examplemusic.aac examplemusic.m4a -new
これで m4a ファイルが出来上がる。
2015年7月9日木曜日
IPv6 TempAddr - jessie - kde - network-manager
手元に Win7pro のインストールされたノートブック Toshiba R730 が、お下がりでやってきたので Debian jessie をインストールしてみた。先日、d-u.jp で、IPv6 の tempaddr について話があったのでちょっと確認してみた。
今までの手元のマシン4台はサーバー系用途のために IPv6 も固定で設定してあり、network-manager も使っていなかったため検証不能だった(後日 2015-08-23 検証してみた)ので..
なお、kernel レベルでの制御は sysctl (/etc/sysctl.conf, /etc/sysctl.d/*.conf, sysctl(8)コマンド) で可能であり、GUI ツールからの設定も最終的にはここの net.ipv6.conf.IFname.use_tempaddr の値を設定する。
Gnome は好みでないのと、Win7pro を残しデュアルブートにしたため、残り半分のディスクスペースしかなく、Gnome導入する余裕がなかったので KDE 環境のみで検証した。
おそらく、Gnome 環境でもほぼ同様に設定、利用できると思う。(未確認)
network-manager
KDE環境では network-manager (nm) はタスクバーに表示されるアイコン(あるいは追加ウィジェット)からアクセスするようになっている。(デフォルトではタスクバーは画面下に横たわっている..)ここでは wireless 環境なので wifi アイコンになってる。wired 環境だと RJ-45コネクタのアイコンになったと思う。
初期では MAC から生成された EUI-64 な IPv6 アドレスが使われる設定になっていたので、これを変更してみる。
タスクバーの電波アイコン(1.)をクリックすると network-manager によるネットワークの概要が表示され、さらにその右上のスパナアイコン(2.)をクリックすると次のスクリーンショットのような Connection editor というタイトルのウィンドウが表示される。
ここで、1. 目的のネットワークを選択し、2. 編集をクリック すると、さらに次の Edit Connection [connection name] の画面が表示される。
この画面のタブの中から右端にある IPv6 のタブを選択すると、Privacy という項目があり、プルダウンタブをクリックすると Enabled (prefer temporary address) という選択肢が現れるので、これを選択する。
タスクバーのアイコンから一度コネクションを 切断(disconnect)-> 接続(connect) すると、次のスクリーンショットのように ip addr コマンドの出力には、 wlan0 の IPv6 アドレス (inet6 で始まる行) が3つ現れる。(ここでは無線LAN環境なので wlan0 になってる)
一番下のアドレス先頭が fe80 で始まるものは scope link であり、いわゆる link-local と呼ばれるもので、グローバルに使用されるものではない。
残りの2つの上の方、(末尾が :f39e/64 の方)は、scope global temporary となっており、これが 上の設定によって追加された temporary address である。
もう一つは MAC を元にした EUI-64 なアドレス(mngtmpaddrの方)である。
IPv6 は1つのインターフェイスに複数割りあてられるのでこういう状態でも両方のアドレスで通信は可能である。
モバイル機器やクライアント機においては、固定アドレス、EUI-64 なアドレスでは、個人が特定されプライバシーが侵害されるおそれがあるので、IPv6 tempaddr (temporary address) の利用が推奨される。
あちこちのネットワークを渡り歩くような機器の場合は tempaddr を使うように設定しておこう。
sysctl - 後日の検証
上記のように NetworkManager から wlan0 に対して tempaddr を利用するように設定した場合、sysctl -a | grep "tempaddr"
の結果は、
net.ipv6.conf.wlan0.use_tempaddr = 2
のように "2" がセットされている。
この値については、kernel 付属のドキュメントの networking/ip-sysctl.txt.gz (jessie の標準では linux-doc-3.16) につぎのような記述がある。
use_tempaddr - INTEGER
Preference for Privacy Extensions (RFC3041).
<= 0 : disable Privacy Extensions
== 1 : enable Privacy Extensions, but prefer
public addresses over temporary addresses.
> 1 : enable Privacy Extensions and prefer
temporary addresses over public addresses.
Default: 0 (for most devices)
-1 (for point-to-point devices and loopback
devices)
訳すと..
use_tempaddr (一時アドレスを使用) 整数値プライバシー拡張(RFC3041)の設定
<= 0 (0以下) : プライバシー拡張 無効
== 1 (1) : プライバシー拡張 有効、ただし
一時アドレスよりパブリックアドレスを
優先
> 1 (1より大) : プライバシー拡張 有効、
パブリックアドレスより一時アドレス
を優先使用する
デフォルト : 0 (ほとんどのデバイス用途)
-1 (point-to-point デバイスと
ループバックデバイス用途)
となる。
- tempaddr : 一時アドレス。ブートごとにカーネルにより自動生成されるランダムな IPv6 アドレス
- public address : 管理者により設定された固定 IPv6 アドレスか、それがない場合はには、EUI-64 という方式によりネットワークインターフェイスの MAC アドレスより自動的に算出される固定 IPv6 アドレス。
なお、文中では RFC3041 と書かれているが、これはすでに古くなっており現時点(2015-08-23)では、より新しい RFC4941 によって置き換えられている。
ちょっと事情があり、jessie 環境をクリーンインストールしたデスクトップ機でも検証してみた。こちらは wireless 環境がないため、インターフェイスは eth0 になる。
また、固定 IPv6 を利用するにあたって network-manager や avahi-daemon をアンインストールし、インターフェイスのブリングアップを従来の ifupdown から systemd の systemd-networkd を利用する方式に変更してある。
クリーンインストール直後は net.ipv6.conf.eth0.use_tempaddr = 2 の状態であったが、network-manager の削除により、net.ipv6.conf.eth0.use_tempaddr は "0" に変化した。
これを /etc/sysctl.d/use_tempaddr.conf ファイルを作成し、次のように記述、net.ipv6.conf.eth0.use_tempaddr=1
再起動すると、eth0 に tempaddr が割り振られた。
しかし、ssh やブラウザで確認すると、tempaddr では接続していないことが確認された。
さらに、net.ipv6.conf.eth0.use_tempaddr=2 として再起動してみた。
すると、ip addr の結果は次の通り。
ブラウザのプロキシ設定を外して ipv6-test.com へ接続すると..
ssh で別マシンへ接続してみると..
と、このように、eth0 に割り振られた 3つ(linklocal も含めると 4つ)の IPv6 アドレスのうち、ランダムに生成された tempaddr を使用して接続していることが確認された。
付記
さらに、MAC アドレスをランダムに生成するという方法もあり、windows10 で対応されたようで一部で話題になっているが、linux でも systemd-networkd を使用すると可能なようだ。cf. man(5) systemd.link の [LINK] SECTION OPTION 参照。
[LINK] SECTION OPTIONS
The "[Link]" section accepts the following keys:
Description=
A description of the device.
Alias=
The "ifalias" is set to this value.
MACAddressPolicy=
The policy by which the MAC address
should be set.
The available policies are:
"persistent"
If the hardware has a persistent MAC
address, as most hardware should, and
if it is used by the kernel, nothing
is done.
Otherwise, a new MAC address is
generated which is guaranteed to be
the same on every boot for the given
machine and the given device, but
which is otherwise random.
"random"
If the kernel is using a random MAC
address, nothing is done.
Otherwise, a new address is randomly
generated each time the device appears,
typically at boot.
この "random" の部分を見てみると、つぎの意味だと思われる。
"random"
カーネルがランダムMACアドレスを使用する場合はなにもしない。そうでなければ一般的にはブート時に新しいアドレスがランダムに生成される。
ちなみに、kernel が random MAC を使うようにする設定方法についてはまだ調べていない..
2015年6月1日月曜日
Debian jessie では systemd の導入によって shutdown の動作は systemd の
コマンド systemctl が管理するようになった。
$ ls -l /sbin | grep systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 halt -> /bin/systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 poweroff -> /bin/systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 reboot -> /bin/systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 runlevel -> /bin/systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 shutdown -> /bin/systemctl
lrwxrwxrwx 1 root root 14 4月 17 00:53 telinit -> /bin/systemctl
うっかりマシンの電源ボタンに触れてしまい、
/sbin/poweroff が呼ばれて runlevel 0 に入って電源が切れた。
wheezy までの 'sudo shutdown -h now' では、BIOS でセットした キーボー
ドにより wake や ethernet インターフェイスによる wake (いわゆる
wakeonlan=wol) が有効な状態、つまりマザーボードへの電源が部分的に供給され
ている状態へ遷移していたのだが、jessie の poweroff ではマザーボードへ
の電源供給が完全に断たれた状態 hardoff へと遷移してしまう。
こうなると、ケースの電源ボタンを押しても起動しない。ケース裏の電源の
on/off スイッチを一度OFFにして再度ONにしてから電源ボタン押すという操作
が必要になってしまった。
なんでや..
キーボードでの wake や wol は便利で良く利用していて、jessie の
poweroff の状態はとても不便なので調べてみた。
マシンの電源管理は旧来、 BIOS の APM で制御していたのが、現在では ACPI
という OS から制御可能な仕組みになっている。(すでに BIOS 自体が EFI
(UEFI) と置き換えられている)
jessie の systemctl [halt, poweroff, reboot] では ACPI の制御はまだな
いようなので、acpid を動かすようにした。
もともと wheezy の前から acpid 入れてた 'はず' なんだけど..
dist-upgrade で消えたのかな? dist-upgrade 時のスクリプトを見てみたら
置き換える場面が記録されているが、先日 sudo apt-get install acpid して
るので.. たぶん、apt-get autoremove したかなんかの拍子に引きずられて消
えたの可能性が... why???
もうちょっと追いかけて正確に書くべきと思うのだが.. すんません..
ときになんか変なことが起こっていたら必要なパッケージが remove されてないかどうか確認してみるのがよい。
dpkg-query -l acpid
sudo apt-get install acpid
2015年5月28日木曜日
wanderlust: use gnutls insted of starttls
wanderlust: use gnutls insted of starttls
Created: Thu, May 28 10:55:42 JST 2015Last modified: Thu, May 28 17:31:49 JST 2015
もしも F1 v starttls-use-gnutls あるいは M-x customize-valiable starttls-use-gnutls して、すでに "nil" ではなく "t" になっているならここから先はまったく必要ない。
- wanderlust : http://www.emacswiki.org/emacs/WanderLust
- gnutls (deb) : https://packages.debian.org/search?keywords=gnutls-bin
- starttls (obsolate) : ftp://ftp.opaopa.org/elisp/starttls-0.10.tar.gz
手元では emacs24.5, wl, starttls についてはソースからインストール、gnutls-bin は deb パッケージをインストールしてある。
最近、TLS まわりにインシデントが出てきていろいろと調整していた。いろいろとログを見ていたら手元の wanderlust が LAN 内にある cyrus-imapd に接続に行くときに
starttls: TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits new) no authentication
で接続していることに気づいた。
これ、そろそろ TLSv1.2 にしたほうが良いだろう、ということでうろうろしてみた。
starttls.el 自体は Gnus の一部として Emacs 本体に含まれている(emacs-*/lisp/gnus/starttls.el)。そこから先、実際にサーバーとコネクトする部分についてはカスタマイズ可能な変数として starttls.el で定義されている。
starttls.c (ftp://ftp.opaopa.org/elisp/starttls-0.10.tar.gz) を読んでみると TLSv1 の記述は見つかるが TLSv1.2 の記述は見つからない。
そこで starttls.el から starttls.c(のコンパイルされたもの) を呼ぶのではなく gnutls-cli を使って TLS 接続してみる。
;; wl だけで有効にしたいなら~/.wl に記述。
(setq starttls-use-gnutls t)
(setq starttls-gnutls-program "gnutls-cli")
(setq starttls-extra-arguments '("--insecure"))
(M-x customize-variable でもいいかも)
自己署名証明書を使っている場合に検証 (validate) で弾かれるような場合は "--insecure" オプションを有効にする。これ、本来は MITHM があるので良くない。サーバーによって "--insecure" つけるかどうかフラッグで切り替えた方がよさそう..
詳細は man gnutls-cli して確認。
wl + gnutls-cli で cyrus-imapd へ接続した場合の cyrus-imapd のログは、
starttls: TLSv1.2 with cipher ECDHE-RSA-AES128-SHA (128/128 bits new) no authentication
のようになった。
ひょっとすると deb パッケージなどで emacs + wl な環境とかだと、すでにこのあたり有効になってる可能性高いので、必ず
M-x describe-valiable starttls-use-gnutls
とかして t か nil かをまず確認してみること。
2015年5月18日月曜日
jessie - systemd - journalctl - ANSI escape
jessie - systemd - journalctl - ANSI escape
wheezy から jessie に dist-upgrade したマシンで、sudo journalctl -l とかすると、systemd は bold 表示する目的で ANSI エスケープシーケンス使っているのがうまく解釈されずに生で見えてしまう。これ、読みづらいので何とかすべく調べてみた。
$ sudo journalctl -lだと上記画像の状態。調べてみると SYSTEMD_PAGER という環境変数に "less -j4aR" 設定するとかあったので、ためしに設定してみる
$ sudo -s
# env SYSTEMD_PAGER='less -j4aR' journalctl -l
じゃぁ、"lv -c" でもいけるよね.. ということで試したら問題ない。
そこで、一般ユーザーの.bachrc に export SYSTEMD_PAGER='lv -c' と書いて(ターミナル起動しなおして)みて、sudo journalctl -l すると、だめ..
なぜだかしばらく悩んで.. この SYSTEMD_PAGER 環境変数が引き継がれてないことに気づいた..
これ.. sudo だ..
sudo, sudoers
/etc/sudoers を読んでみると、冒頭に、Defaults env_reset
という記述がある。そこで、man sudoers してみると、env_keep オプションが見つかる。現状の sudo の状況を確認するには、root ユーザで sudo -V してみろという記述も見つかったので、やってみる。
$ sudo -s
# sudo -V
[...]
状況確認ができたので、SYSTEMD_PAGER 環境変数を保護するようにしてみる。ちなみに、まずい環境変数設定されてぼこぼこにされるのはみんな嫌だと思うので、冒頭の Defaults env_reset を無効にするようなことはやってはいけない。
visudo
/etc/sudoers ファイルは visudo というコマンドで編集する。これはロックがかかったり、万一、記述ミスがあったりすると、sudo できなくなってしまうので、こういう状況を避けるためにチェッカーが動いてくれる優れものだ。$ sudo visudo
してみると、vi じゃなくて nano が起動してしまった..
nano を使い慣れている方はそのまま編集されるといいと思うのだが、僕はなれてないので、これを vim に替えたい。
そのまま nano を終了するには、末尾の案内にしたがって Ctrl - X をタイプする。
変更保存するか聞かれるので "N" で保存しないを選択..
以前の Debian だと、環境変数 EDITOR とかで切り替えられたのだが、jessie だと、EDITOR 読んでもらえないみたいなので、update-alternatives で /usr/bin/editor を切り替えないとだめみたい。
まず状況確認..
$ update-alternatives --display editor
editor - 自動モード
リンクは現在 /bin/nano を指しています
/bin/ed - 優先度 -100
スレーブ editor.1.gz: /usr/share/man/man1/ed.1.gz
/bin/nano - 優先度 40
スレーブ editor.1.gz: /usr/share/man/man1/nano.1.gz
/usr/bin/vim.basic - 優先度 30
スレーブ editor.1.gz: /usr/share/man/man1/vim.1.gz
$ sudo update-alternatives --config editor
alternative editor (/usr/bin/editor を提供) には 4 個の選択肢があります。
選択肢 パス 優先度 状態
------------------------------------------------------------
* 0 /bin/nano 40 自動モード
1 /bin/ed -100 手動モード
2 /bin/nano 40 手動モード
3 /usr/bin/vim.basic 30 手動モード
4 /usr/bin/vim.tiny 10 手動モード
現在の選択 [*] を保持するには Enter、さもなければ選択肢の番号のキーを押してください: 3
update-alternatives: /usr/bin/editor (editor) を提供するためにマニュアルモードで /usr/bin/vim.basic を使います
これで visudo を呼ぶと vim で編集できるようになる。
$ sudo visudo
OK.
man sudoers して、env_keep を使って SYSTEMD_PAGER をリセット対象から外すように指定してみる。
$ env SYSTEMD_PAGER='lv -c' sudo journalctl -l
OK.
これで一般ユーザ の(rootじゃないよ) ~/.bashrc に
exports SYSTEMD_PAGER='lv -c'
と 書いておくと次からはなにも考えずに sudo journalctl -l しても ANSIエスケープシーケンス見えてしまうことはない && bold (フォントの関係などで bold できないばあいは一段明るい色で強調表示される)表示される。はず。
------
PS.
vim をカラフルにするには、(ここの画像のは jellybeans.vim)カラー設定を書くかいただいてきて、~/.vim/colors に *.vim ファイルを保存するか ln -s しておく。
jellybeans の場合、
https://github.com/nanotech/jellybeans.vim から git clone するか http で zip をもらってきて unzip する。
で、 ~/.vimrc に
set background=dark
colorscheme jellybeans
syntax on
filetype on
みたいにかいておくとできる。
2015年5月14日木曜日
nfsv4 + krb5 on jessie
ここが参考になる。
https://www.debian-administration.org/article/570/MIT_Kerberos_installation_on_Debian
あと、krb5-doc パッケージを入れておいて w3m file:///usr/share/doc/krb5-doc/index.html すると krb5 関連のドキュメントを読める。
実は以前も DNS で SRV レコードを作成してサービスの検出に使う方法 (http://web.mit.edu/Kerberos/krb5-1.5/krb5-1.5.4/doc/krb5-install/Hostnames-for-the-Master-and-Slave-KDCs.html) を取っていたのだが、nfs-kernel-server, krb5-{kdc, admin-server} のマシンの HDD とばしてしまって環境つぶしちゃってから、復活させずに放置していたのを jessie に dist-upgrade したのを期に復活させてみた。
以前の nfsv4+krb5 では今となっては脆弱な暗号化通信(すでに weak_crypto とされてる des-cbc-crc:normal)しかサポートされてなかったのだが、古い nfsv4 がいない(後方互換すてられる)なら aes などが使えるので、des-cbc-crc とか使ってるマシンは早めに dist-upgrade したほうが良いと思う。
いろいろ忘れてて苦戦した記録...
DNS での krb5 関連の SRV レコード設定
bind9 での例
/etc/bind/db.example.org
[...]
$ORIGIN example.org.
[...]
server1 A 192.0.2.1
AAAA 2001:db8::1
ntp1 CNAME server1
kerberos CNAME server1
_kerberos TXT "EXAMPLE.ORG kerberos service"
_kerberos._udp SRV 0 0 88 server1
_kerberos-adm._tcp SRV 0 0 749 server1
_kerberos-master._udp SRV 0 0 751 server1
_kerberos-master._tcp SRV 0 0 751 server1
_kpasswd._udp SRV 0 0 464 server1
これで TTL を小さくして serial をあげて systemctl restart bind9 する。スレーブがあるならそっちで rndc retransfer example.org して更新しておく。設定終わったら TTL 元に戻しておいた方がいいと思う。(いじるレコード毎に小さなTTL書くほうがいいかもしれない)
こうすると server1.example.org は ntp1.example.org や kerberos.example.org という fqdn でもアクセスできるようになる。
dig @ns.example.org kerberos.example.orgとかで期待したとおりに動いているか確認する。
dig @ns.example.org _kerberos._udp.example.org SRV
/etc/nsswitch.conf
しばらく /etc/krb5.conf で kerberos.example.org を指定しても kdc へつながらずに悩んだ(kadmin.local はつながるけど kadmin や kinit が接続できない症状がでてた)のだが、/etc/nsswitch.conf を修正するとうまくうごいた。デフォルトでは
hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4こうなっているのを、dns を files の直後に持ってきて mdns4_minimal よりも優先する。
hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4
mdns4 って avahi-daemon のだけど、使おうと思ったことないのでなにをどうするものなのかよく知らない...
/etc/krb5.conf
[libdefaults]
default_realm = STAINED-G.LOCAL
dns_lookup_kdc = true
scan_interfaces = true
dns_lookup_realm = true
srv_lookup = true
[...]
[realms]
[...]
EXAMPLE.ORG {
default_domain = example.org
kdc = kerberos.example.org
admin_server = kerberos.example.org
}
みたいに指定しておいて
kinit や kadmin でうまく kdc や admin_server につながればOK。
その他調整が必要な設定ファイル
- /etc/idmapd.conf
[General]
Verbosity = 0
Pipefs-Directory = /run/rpc_pipefs #<-- ここ
#Domain = localdomain
Domain = example.org #<-- ここ
Local-Realm = EXAMPLE.ORG #<-- ここ
[Mapping]
Nobody-User = nobody
Nobody-Group = nogroup
[Translation]
Method = nsswitch,static #<-- ここ
GSS-Methods = nsswitch,static #<-- ここ
[Static]
whoami@EXAMPLE.ORG = iamjon #<-- ここ
- /etc/default/nfs-common
NEED_IDMAPD="yes"
NEED_GSSD="yes"
- /etc/default/nfs-kernel-server
NEED_SVCGSSD=yes
krb5kdc の起動時 (sudo systemctl start krb5-kdc) に Couldn't open logfile [...] というようなエラーが表示されることがある。これ、/etc/krb5.conf と /etc/krb5kdc/kdc.conf の [logging] セクションで kdc = FILE:/var/log/krb5kdc/kdc.log のような指定していて、krb5.conf と kdc.conf で指定違ってたりすると起こる模様..
jessie の krb5.conf(5) を読むとそもそも [logging] セクションの記述がないので、/etc/krb5.conf には [logging]セクションは 記述しない = 削除する のが正解だと思う。
おそらく、以前のバージョンから引き継いで使ってる場合に残っちゃったのではないだろうか。(以前導入した時に私が kdc.conf と混乱して記述しちゃった可能性もないではないが、検索すると結構あちこちで見かけるので..)
2015年4月29日水曜日
jessie: wakeonlan
jessie - systemd and wakeonlan
wheezy では /etc/network/interfaces に ethernet-wol g とか書いておけばよかったのだが、jessie ではどうもこれがうまく効いてない。sysvinit から systemd-networkd へ変更したのもあって、wakeonlan の設定も systemd から呼び出すことにした。
(他に udev の方で設定することも出来るらしいが udev 設定するのは見通しわるくなるしあまり気乗りしない)
具体的には /etc/systemd/system/wol@.service というファイルを用意する
@on-jessie:~$ sudo vi /etc/systemd/system/wol@.service
/etc/systemd/system/wol@.service
[Unit]
Description=Wake-on-LAN for %i
Requires=network.target
After=network.target
[Service]
ExecStart=/sbin/ethtool -s %i wol g
Type=oneshot
[Install]
WantedBy=multi-user.target
wheezy から jessie へ dist-upgrade した環境の場合、テストするには
@on-jessie:~$ sudo systemctl restart networking.service
して
@on-jessie:~$ sudo ethtool eth0してみる。
/sbin/ethtool コマンドがないならインストールする。
@on-jessie:~$ sudo apt-get install ethtool使ってるネットワークインターフェイスがどのタイプのWakeOnLanをサポートしているのかは、ethtool コマンドで調べられる。
wakeonlan のタイプには p(phy),u(unicast),m(multicast),b(broadcast),a(arp),g(MagickPacket™),s(SecureOn&tm; MagickPacket™),d がある。
@on-jessie:~$ man ethtool
@on-jessie:~$ sudo ethtool eth0
[...]
Supports Wake-on: umbg
Wake-on: g
wakaonlan パッケージや etherwake を使うと g とか s で LAN 内の特定のマシンを起動できるので便利。
また /etc/ethers に MAC とマシン名の対応、コメントを書いておくとMACではなくマシン名で呼び出せるので便利。
追記 2015-08-24
jessie を dist-upgrade ではなく、クリーンインストールした環境では上記では不十分で、以下が必要。
テストするには、(eth0 は該当インターフェイス名、wol@.service ファイルの %i に置き換えられる)
sudo systemctl start wol@eth0.service
うまく行ったなら、
sudo systemctl enable wol@eth0.service
cf. ethers(5), https://wiki.archlinux.org/index.php/Wake-on-LAN
jessie systemd sshd ipv4 ipv6
dist-upgrade'd dual-stack wheezy to jessy, sshd don't listen ipv4 but ipv6
Debian wheezy から jessie へ dist-upgrade したら sshd が IPv4 を listen してなくて IPv6 しかつながらなくなった。
ng: @from-wheezy:~$ ssh -X -4 upgraded-jessie.example.local
ok: @from-wheezy:~$ ssh -X -6 upgraded-jessie.example.local
確認してみる
@on-jessie:~$ ss -tlp | grep ":ssh"
LISTEN 0 128 2001:db8::15:ssh :::*
@on-jessie:~$ ip addr | grep inet
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
inet 192.0.2.15/24 brd 192.0.2.255 scope global dynamic eth0
inet6 2001:db8::15/64 scope global
inet6 fe80::4ce2/64 scope link
インターフェイスは IPv4、IPv6 ともアドレスが振られており問題なさそう。設定変更してないのになんで sshd がIPv6しか上がってないのか..
jessie では起動システムがデフォルトでwheezyまでの sysvinit から systemd に変更されていて (いやなら今までどおりのsysvinit も使える)その影響を受けているのではないか。
試しに sshd を再起動してみる。
@on-jessie:~$ ls /lib/systemd/system | grep "ssh"(* /etc/systemd/system/sshd.service がシンボリックリンクとして存在するので systemctl restart sshd でも ok)
ssh.service
ssh@.service
@on-jessie:~$ sudo systemctl restart ssh.service*
@on-jessie:~$ ss -tlp | grep ssh
LISTEN 0 128 192.0.2.15:ssh *:*
LISTEN 0 128 2001:db8::15:ssh :::*
マシンを起動するたびに systemctl restart ssh.service するのも嫌なので調べてみた。
疑問:
ブート直後の sshd は IPv4 を listen してないのに systemctl restart すると listen するのは何故?推測:
ひょっとすると初回 sshd が起動する段階でネットワークインターフェイスに IPv4 アドレスがまだ振られていないのではないか。調査と試行
手元の jessie のネットワーク起動はどうも systemd から旧来の /etc/init.d/networking を呼び出し /etc/network/interfaces を参照し ifup しているようだということがわかった。wheezy で使っていた interfaces には v4 は dhcp でアドレス取得、v6は固定で指定していた。
/etc/netwok/interfaces
[...]
allow-hotplug eth0
iface eth0 inet dhcp
ethernet-wol g
# up ip -6 addr add 2001:db8::15/64 dev eth0
# up ip -6 route add ::/0 dev eth0 via fe80::?? mtu 1280
iface eth0 inet6 static
address 2001:db8::15
netmask 64
gateway 2001:db8::1
hwaddress ether 00:13::??
mtu 1280
ひょっとすると、dhcp での IPv4 取得に時間かかってるからか?(固定するとどうなるかは試してない..)
jessie の systemd では systemd-networkd というのがあって、こいつでネットワークの設定を代替できるので、これを使ってみる。(おそらく移行の手間とトラブルを避けるためだと思うのだがデフォルトではこいつは動いてない)
cf. systemd-networkd(8) , systemd.network(5)
設定は優先順位の高い /etc/systemd/ に置く。
(ディストリビューションや systemd のバージョンによってはインターフェイス名が enm0p0 みたいになってるらしいのだが、jessie では旧来からの ethN %なんでかよくわかってない)
@on-jessie:~$ sudo -s
@on-jessie:# cd /etc/systemd
@on-jessie:# mkdir network
@on-jessie:# vi eth0.network
[Match]試しに呼んでみる。
Name=eth0
MACAddress=00::??
[Network]
DHCP=v4
Address=2001:db8::15/64
Gateway=192.0.2.1
Gateway=2001:db8::1
DNS=192.0.2.17
DNS=192.0.2.1
DNS=2001:db8::2
DNS=2001:db8::1
@on-jessie:~$ systemctl status systemd-networkd
● systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled)
Active: inactive (dead) since 水 2015-04-29 11:32:13 JST; 2s ago
Docs: man:systemd-networkd.service(8)
@on-jessie:~$ sudo systemd start systemd-networkd
@on-jessie:~$ systemctl status systemd-networkd
● systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled)
Active: active (running) since 水 2015-04-29 11:33:54 JST; 6s ago
Docs: man:systemd-networkd.service(8)
Main PID: 8138 (systemd-network)
Status: "Processing requests..."
CGroup: /system.slice/systemd-networkd.service
└─8138 /lib/systemd/systemd-networkd
なんかエラーがでたら修正する..
(ちなみに、man 5 system.network すると、[NETWORK] SECTION OPTIONS とか見出しに書いてあるので、そのまま [NETWORK] って書いたらエラーになった。どうも [Network] と書かないと通らない(case sensitive)みたい)
よさそうなら起動時に有効になってるかどうか確認してみて..
@on-jessie:~$ systemctl is-enabled systemd-networkd
disabled
(is-enable"d" とちゃんと過去分詞になってるので注意)
次回起動時に有効になるように登録する。
@on-jessie:~$ sudo systemctl enable systemd-networkd(通常の英語の文法でこっちは enable )
こうすることで、jessie の sshd は起動直後から IPv4, IPv6 の双方を listen してくれるようになった。
おそらく systemd の並列起動で旧来の ifup (dhcpで IPv4 取得)が完了しきらないうちに sshd が起動してしまっていたような症状に見えるが詳細は追っていないので不明.. すんません..
一部検証とばして記憶で書いてる部分があるので間違いあるかも.. すんません..



















