カテゴリー別アーカイブ: サーバー

systemdとGNU screen

なんか設定変えた記憶ないのに動作が変わってしまったGNU screen。

いくつか自前でパッケージ再作成してたりexperimentalからもらってきたりしてるからその関係かもしれないけど。

探しているとまず見つかるのは
/etc/systemd/logind.conf に KillUserProcesses=No を書け。
だった。
書いてみたけど動作が変わらない。
systemctl daemon-reloadもやってみたけど同様。
もしかしたら要再起動だったりするかもしれないけどとりあえず保留。

screenを起動するときに systemd-run –scope -user screen で起動しろ、ってのもあったけど、これもダメ
だった。

別の端末(別窓teraterm)からscreen -R -DD するとちゃんとセッション切り替わるのだが、screenの動いているTeratermを終了させるとそのタイミングでscreen下のプロセス全部killされるっぽい。

今までどうして動いてたんだ、という気もしつつ、よくよく調べてみたら、
loginctl enable-linger user
しろというのがあったのでやってみたら、ビンゴ。

とりあえず一発loginctl enable-linger打っておいて、あとは
systemd-run –scope –user screen -R -DD
を.bashrcでばばそ、で今まで通りになったっぽい。

前はKillUserProcesses=No だけでできてたと思ったんだけどなぁ

LDAP srvレコード

何となく眺めていたら面白い記述を発見。

nslcd.conf に
uri DNS:domain
と記述すると、_ldap._tcp.domainからSRVレコード引っ張ってきて名前解決してくれる。

今までどうしてSRV見てくれないんだろうと思っていたら、こういう設定方法があったらしい。

uri ldapi:/// dns:domain

と記述すると、最初にldapiで接続、ダメならSRVの優先順位高い順に見てくれる。

これで再起動とかのタイミングでgetentに時間がかかる問題が解決する! かもしれない。

しかしこの設定はldap.confでは使えないのであった。

今のところ、SRVレコード見ているのはsambaの_kerberosとaptの_httpぐらいだけどね

今試してみたら、aptもSRV対応で、
Acquire::http::Proxy に http://proxy.domain と書いてあると、

_http._tcp.proxy.domainを見に行ってSRV解決してくれるっぽい。
これもsquid止めたりした時に自動的に回避してくれるっぽいのでありがたい。

_http._tcp.proxy.domain見に行くから変だなあと思っていたらこういうことだったのね
これだとポートの指定もしなくていいっぽい。

と思ったら、apt-getとかはうまくいくけど、apt-listbugsとかがproxy見に行くの失敗しているっぽい。
ポート指定すれば動く。惜しい。

dnssec

なんか接続が遅いなーと思いつつ、放置していた件。

接続一発目が遅いときの一番の原因は大概、DNSだったりするのだが、よくわからんまま放置モードが続いていた。
まあ、ログにも
managed-keys-zone: No DNSKEY RRSIGs found for ‘.': success
とか出てたので多分DNSSECおかしいんだろうなーとは思っていたw

ざっくりすると、ローカルの設定はそれなりに良かったぽい。
上流のDNS (forwarders) がDNSSEC未対応のため、というのが理由っぽい。

できればDNSはipv6経由でやりたいのだが、そういうわけにもいかない場合もあるということで。

とりあえず、ひかり電話ありのONUはDNSSEC対応っぽい。
ひかり電話なしのONUは対応していなかった。
ついでにBiglobeのDNSはDNSSEC対応とそうじゃないのがあるようで、bind9のforwadersにDNSSEC対応DNSを指定したらエラーは出なくなった。
この設定でちょっと様子見。

IPv6 RA

先日引っ張り出してきたPCをいじっていたら、なぜかIPv6が割り振られない。

net.ipv6.conf.all.accept_ra = 1

とかになっているのになんでだー! と悩んでいたら、

net.ipv6.conf.all.forwarding = 1

が原因だった。
ルーターがRAを受け取ったら自分自身を登録してしまうとかもあるしねぇ

ついでに昔のquaggaとかradvdとかも動いていて、古い使っていないプレフィックスを配ってしまってハマった。

デフォルトルーターがいっぱいなのはマルチプレフィックス問題でなんとか解決するとして(ぉ

間違えたRAの取り消し方。

lifetime=0 で再広告。

ipv6 prefix 10 2001:0db8:hoge::/64 valid_lifetime=0 preferred_lifetime=0
ipv6 prefix 11 fd00:0db8:hoge::/64 valid_lifetime=0 preferred_lifetime=0
ipv6 lan1 rtadv send 1 2 10 11 m_flag=on o_flag=on

修正RAを流すのは別に最初にRAを流したマシンじゃなくてもOK

この状態でWindows10からipconfigすると、2001:0db8:hoge::huga とか普通に出てくるけど、
ipconfig /all で見ると(無効)とついていたり、
netsh interface ipv6 show address すると有効期限切れてることがわかります。

これでlifetimeが過ぎると本当に削除されるっぽい。それまではとりあえずアドレス付いてた。

古いPCも、できればi386のままなのでamd64に置き換えたいなーとか思ったけど、置き換えて使うのか?と考えたら、使わないので
無駄ということが判明したw でもapt-get upgradeだけはちまちまやる(謎

L3スイッチ

ずっと前(20年ぐらい前になるかも)にもらったL3スイッチ Allied Telesis CentreCOM 8216XL2 Ethernet Switch を突然復活させた。

当時、RS232Cが無くて設定ができなくてただのハブになっていた。
RS232Cケーブルを買ってきたら、ケーブルもコネクタも止めネジがオスで、ぶつかって刺さらなかった。
そのままほったらかしで20年ほど経ったのだけど、何となく止めネジ外せばいいんじゃね?と思い付き、ケーブル側を頑張ったのだがどうも外れそうにない。回しても回しても抜けてこないw

本体側をいじってみたところ、あっさりと外れた。そこでケーブルをつないで・・・と思ったら今度はRS232CポートのあるPCが見つからないとかいう状況に(汗

最近のはPS/2もRS232Cも付いていないのがデフォルトになりつつある今日この頃皆様いかがお過ごしでしょうか(挨拶

ということで古いPCを引っ張り出して使うことに。XPだと思っていたらサーバにしていてLinuxだった。

COMポートはminicomだよなーとか思ってインストールしたのだが、どうも調べたらscreenで行けるということだった。
screen /dev/ttyS0 9600
これで良かったのね・・・

そしてファームウェアのアップデートをしようと思ったら、古すぎてftpとかtftpが使えないという。Xmodemのみらしい。

DHCPクライアントをONにして後はネットワーク上でばばそだとか思っていたら、XMODEMはシリアルコンソールのみで使えるらしい。
また全部外して部屋を移動する orz

/usr/bin/sx でXMODEM自体は使えるのだが、どうやったらいいかよくわからない。
例によってググる。

screen上で ^A: exec !! sx -k filename

ここではまったのが先にdownloadを始めてからsx起動したらダメだったらしい。
何度かオプション変えて試しまくったけど、先にsx起動しておいてからファームダウンロード実行、の順番でいけた。

そこまで来てふと気が付いたのが、
「L3で何か設定する必要がない」orz

しかもIPv6非対応なのでL3だと余計困るということにブログを書きながら気が付いた。
ま、まあポートの多いハブだと思って使うことにしよう(汗

これでPoE対応だったら良かったんだけどなー

P.S.
IPv6非対応だと思ったらリンクローカルだけ付いてた。
L3としてv6無視しない、程度の対応はあるようだ。
しかしRAもDHCPv6もルーティングも無いっぽいので事実上使えないようだ。