ほっしーの技術ネタ備忘録

技術ネタの備忘録です。基本的に私が忘れないためのものです。他の人の役にも立つといいなぁ。

FreeBSD

ディスク内総検索その2(高速化してみた)

FreeBSD システムのディスク全体から特定の記述を探したい場合、ありますよね。 例えば IPv6 プレフィックスが変わったので全体の設定を変えなきゃいけない時とか。どこに設定したっけ…?みたいな。 そんな時はざっくり全体から検索してしまいましょう。 $ s…

tcpdump するたびにログがでてうるさい

ネットワークトラブルなどのとき、FreeBSD で tcpdump を使うとログに kernel: lo0: promiscuous mode enabled kernel: lo0: promiscuous mode disabled とか出てきてうるさいです。 重要なログを見落とすやろ…… という訳で、そんな時は /boot/loader.conf …

openntpd で時刻合わせ

ついうっかり設定を忘れていたものがあったので、設定の手順をメモ。 まずは openntpd をインストールします。 $ sudo pkg install openntpd で、 /usr/local/etc/ntpd.conf を編集。 servers ntp.nict.jp もうこの1行だけでいいんじゃないかな。 次は /etc…

nc でデータを送りたいとき

まず、受け側は ipfw のポートを開けます。 $ sudo ipfw add 10060 pass tcp from any to xxx.xxx.xxx.xxx 8080 setup keep-state で、 nc で LISTEN しますが、引数がポイント。 $ nc -l -N -d 8080 送る側からも nc で送ります。 $ echo "ABC" | nc xxx.xx…

システムファイルの自動バックアップの話

最近お世話になることがあったので。FreeBSD は、cron から起動される periodic で、 いくつかシステムにとって重要なデータがバックアップされています。/var/backups にいろいろ置いてあって、aliases だとか、 起動パーティションのデータとか、gpart の…

なんか fdc0 がエラー吐いてるが…?

という訳で、たまにシステムアップデートして再起動すると、 なんか起動時のログで fdc0 がエラーを吐いている訳です。 fdc0: <Enhanced floppy controller> at port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on isa0 fdc0: non-PNP ISA device will be removed from GENERIC in FreeBSD 14. fdc0:</enhanced>…

PPPoE ルータの機能も持ってきてしまった話

普通に Buffalo とか NEC の民生用ルータを使ってたんだけれども、 いい加減いろいろ嫌気がさしてきたので。 まぁ、おうちサーバのメンテをするとインターネットに繋がらなくなる問題があるので、 今まで妥協して民生用ルータを使っていたけれども、最近は I…

geom 管理領域を(無理やり)消す

gmirror とか glabel の管理情報は、該当するオブジェクトの最終セクタに書いてあります。 なので、grom_mirror.so を読み込まない状態で、dd とかを使って最終セクタをつぶすと、 そのオブジェクトは gmirror への参加をしなくなったり、glabel データがな…

ezjail の終了に 10 秒かかる問題を直した

なんか、いつ頃からか。 ある ezjail の仮想マシンを終了するときに 10 秒待たされることに気づいたのでした。 そう、前回の記事と同時に発症してたのです。まぁ、終了時にしか stop しなければ……と思ってましたが、やっぱり不便なのです。 そこでいろいろ調…

ezjail の終了時に umount できない問題を直した

いつの頃からか、手動で ezjail-admin stop とするとエラーがでる。 どうやら Device is busy とのこと。 mount | grep /mnt/jails とかやってみると、ルートを umount できてない様子。 まぁ、どうせシャットダウン時しかやらなければいいし……とか思って放…

MAP-E の設定を永続化した話

ここまでのあらすじ。 FreeBSD 13.1-R で MAP-E 対応が降りてきたので、いろいろ試して仮組みながら動くようになったのがこの辺。 13.1-R で MAP-E ルータを作ってみる - ほっしーの技術ネタ備忘録 で、その後いろいろ不具合を直した話がこっち。 使い物にな…

認証エラーログを見て ipfw で ban するやつ

せっかく(10年くらい前に)作ったのでここで公開しておく。 ログを監視して IP アドレスごとバンするやつ こういうスクリプトを root で走らせておく。 #!/bin/sh detect() { ip=`echo "$1" | egrep -o -e "\[([[:digit:]]+\.){3}[[:digit:]]+\]" | sed -e …

ssh での接続がなんか遅い問題の対策

なんか知らんけど、前々からさくら VPS にある FreeBSD マシンへ SSH するときに限って、 なんか接続に時間がかかる。 ssh って打ってから公開鍵のパスフレーズを聞かれるまでに体感で 5 秒くらい待たされる。 でも2回目以降は他の場所にあるマシンと同じく…

令和にもなって MTU とか MSS とかを思い出した日

ある日から突然届くようになった daily メールの一部分。 Mail in local queue: -Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient------- 4E0851D6401 2276 --- J** 18 22:39:25 ****@*******.com (conversation with mx01.******.jp[**.**.**.*…

使い物になる NAT with pf を作る

前回までで FreeBSD の pf で MAP-E ルータとしてかろうじて動く設定になりました。 でもなんかいろいろおかしくて、ちゃんと通信できなかったので今度こそ。 一番の問題。Google が開けない。 tcpdump をいろいろ眺めた結果、おかしな部分は分かった。 gif0…

13.1-R で MAP-E ルータを作ってみる

前回は pf の map-e-portset で NAT した場合のこちら側ポートをいい感じに設定してもらいました。 今回はもっとちゃんとルータっぽくするために、宛先のルーティングをいい感じにします。 MAP-E 経由の宛先だけルーティングテーブルに書くのはしんどいから…

13.1-R で MAP-E を試してみる

そろそろ 13.0-R のサポートが切れてしまうので、しれっとアップデートしました。 さて。そういうことなので pf の NAT に map-e-portset 対応が増えているのです。 という訳で試してみました。 まずは前回のおさらい 前回の記事を見ながら gif0 を設定。 う…

MAP-E を試してみる

どうやら、うちにつないでいる v6 プラスだと、MAP-E での IPv4 接続が 無料でついてくるらしい。しかも、PPPoE と比べて速度が出る(IPv6 相当の速度になる)という噂。 ……という訳で、それを試してみたという話。 hoshizuki.hateblo.jp この時と真逆のこと…

grep と sed を一度にやる

ログとかコマンドの出力から、該当行だけ抜き出して sed で編集する。 みたいなことが必要になることがあります。 無理やりな例だと、jail の etc 以下を比較してみましょう。 $ sudo diff -rq /usr/jails/newjail/etc /usr/jails/m/etc | grep "^Only in" …

パスを正規表現したいとき

一般的に、ファイル内のパスを sed で置換したいときはこんな感じに書きます。 $ find /usr/local/bin -type f | sed -e 's/\/usr\/local\/bin\///' / と \/ で意味が違うので、なんか見づらい…… という訳で。 sed の正規表現で置換する場合、s/ORIG/REP/ の…

ファイルリストを扱うあれこれ

今回はテキストファイルにファイル名をずらーっと並べていろいろする話。 その tips などを。基本は find コマンド。 $ find . -type f > filelist こんな感じでファイルの一覧を作れる。find にはいろんな機能があって、 $ find . -type f -empty -print > …

[FreeBSD] pkg インストールファイルの破損チェック

FreeBSD に同梱の freebsd-update IDS で、FreeBSD のシステムファイルが 変更されていないか検査できる。という話はあまりにも有名です。 これは、freebsd-update で導入されたファイルのハッシュ値は、 サーバに存在しているため、それを取り寄せてハッシ…

CPU 温度を取得する

mrtg とかで CPU の温度をプロットしようかと思って。 最近の Intel の CPU なので、使用するカーネルモジュールは coretemp でいいらしい。/boot/loader.conf に以下の行を追加。 coretemp_load="YES"再起動せずに有効にするならさらに $ sudo kldload core…

bsnmpd で VACM を設定する

検索用キーワード:bsnmp snmpd.config vacm View-based Access Controolクリスマスなので、地獄みたいな呪詛を残しておくよ!net-snmp だと、vacm の設定の仕方ちょいちょい出てくるけど、 bsnmp の場合の設定が全然出てこないので、試行錯誤した結果。ネッ…

screen を起動するとターミナルのサイズが変わって困る

参考:GNU Screenの起動時やアタッチ時にターミナルをリサイズさせない方法大体全部リンク先に書いてあるけど、ネット上の情報はいつ消えるかわからないので。screen を起動した瞬間、TeraTerm がリサイズされて、 「えっ??」となってしまうので。リサイズ…

tomcat をバージョンアップしたら AJP でつながらなくなった話

もう結構前の話ですが、備忘録に残しておかないといけない気がしたので。ある日、tomcat を更新しました。それまで動いていた jsp とかが動かなくなったので、 泣きながら調べてみました。どっかのバージョンから、tomcat の方で AJP で接続するためには、 s…

screen を自動起動するターミナルに scp できない

検索用:「Must be connected to a terminal.」.cshrc から screen を起動するようにしておいて、 SSH で接続するとそのまま screen が開くようにしている人は多いかなと思います。さて、この状態で端末から scp をしようとすると、 なんかエラーが出て scp …

DNSSEC の KSK をロールオーバーした話

忙しくて後回しにし続けた結果、半年くらい経ってしまいましたが…… 夏頃に DNSSEC の KSK をロールオーバーしたのでその履歴。今となっては、もっと自動化されたスマートなやり方があるらしいのですが、 老害エンジニアなので、実際に何を自動化しているのか…

ディスク内総検索

$ find / -regex "/mnt/.*" -prune -o -regex "/dev/.*" -prune -o ... -type f -print0 | xargs -0 grep HOGEHOGE /dev/null > files.hit ・除外パスは regex で一致を取って prune してから o。 ・空白があると悲しいので print0 してから xargs は 0 で受…

イマドキの mergemaster

最近は便利なオプションが増えてるみたいで、 ezjail 内の mergemaster は以下のコマンドでいいみたい。 $ sudo mergemaster -UPiF -D /mnt/jails/JAILNAME -t /mnt/jails/JAILNAME/var/tmp/temproot 凄く時間が短縮された。やべぇ。