ホーム » コンピュータ » Linux » Debian (ページ 22)

Debian」カテゴリーアーカイブ

システム

最近の投稿

アーカイブ

カテゴリー

isc-dhcp-serverとauthoritative

最近、自宅ネットワークで新しいパソコンが、ネットワークに接続できなくなるトラブルが発生する。 再起動などがかかれば、普通にネットワークにつながるので、多少不気味ながらもそのままだった。 しかし、うちの奥さんのノートPCも、出先から帰ってきたらつながらない。 IPアドレス取得に失敗しているっぽいので、dhcpサーバの設定を疑う。

今まで、長年運用していた dhcpd.conf ファイルなので、壊したとも思えなかったが、 試しに、dhcpサーバの再起動をすると、普通に接続が回復した。 ということで、 "grep dhcpd /var/log/syslog"で履歴を眺めると、下記のようなメッセージが あったので、色々と調べてみた。

...: DHCPINFORM from 192.168.X.XX via eth0:
not authoritative for subnet 192.168.X.0
...: If this DHCP server is authoritative for that subnet,
...: please write an `authoritative;' directive either in the
...: subnet declaration or in some scope that encloses the
...: subnet declaration - for example, write it at the top
...: of the dhcpd.conf file.

DHCPサーバは、クライアントが使いたいIPアドレスを要求してきたとき、 サーバがこのセグメントでは正しくないと"DHCPNAK"を返すことで、 クライアントは新しいIPアドレスを要求する。 どうも、この辺で"威厳のない"設定だと、再取得に問題がでるみたい。 "とっとと新しいアドレスを要求してこんかぃ"と、「威厳をもって」返答するために、 subnet文の内部に"authoritative;"を書くといいみたい。 当初、"authoritative"を記載させてみたけど、端末をau回線に切り替えてから、自宅回線にもどすと、やはりDHCPでアドレスが取れなかった。逆に、"not authoritative"を記載したら、うまく繋がった。うーん、よくわからん….

subnet 192.168.X.0 netmask 255.255.255.0 {
not authoritative;
(略)
}

PHP Startup: Unable to load dynamic library ‘/usr/lib/php5/20090626/sqlite.so’

自宅サーバ宛のメールなんて、変なSpamにひっかからないと来ないはずなのに、 定期的にメールが飛んでいる。 確認すると、PHP5関連で以下のようなメールが出ている。

PHP Warning:  PHP Startup:
Unable to load dynamic library
'/usr/lib/php5/20090626/sqlite.so'
- /usr/lib/php5/20090626/sqlite.so:
cannot open shared object file:
No such file or directory in Unknown on line 0

色々と確認すると、/etc/cron.d/php5 の中の定時処理にて、 PHP5の設定値を参照する /usr/lib/php5/maxlifetime を動かした時に、 sqlite.so が無いとのエラー。 php5-sqlite(5.3.9-1)にて、sqlite3 中心に移行した割に、 /etc/php5/conf.d/sqlite.ini に、"extension=sqlite.so" が記載されているのが原因。 /etc/php5/conf.d/sqlite3.ini にて、"extension=sqlite3.so" があるし、 本来なら、sqlite.ini をパッケージマネージャが消すべきなんだろう。

ということで、下記を実行(sqlite.iniは後のトラブルに備え残しておく)する。

# cd /etc/php5/conf.d/
# mv sqlite.ini sqlite.ini~

arpの仕様が戻った?

自宅サーバでは、ネットワーク端末の利用状況をモニタ するために munin で arp の監視を行なっている。 端末が動いてネットを使えば、1台として観測され、 子どもがゲーム機を触っているかもある程度解る。

この観測は、arp(MACアドレス-IPアドレス対応情報) が流布されているかを見ているだけ。んで、去年7月 頃までは、状況も把握しやすかった。

でも、linux-image-2.6.39になったあたりから、 arp コマンドを使っても、arp情報がずっと保持されて しまい、ネットワークを使っていない端末も動いているように 観測されるようになった。

しかしながら、数日前 linux-image-3.1.0-1 に更新がかかったら、 以前の状況に戻った。うーん、具体的にどの更新の影響なんだろ…

1201200926_477x226.png

Panasonic CF-T1にxubuntuをインストール

ママがノートパソコンを更新したので、お古のノートパソコン Panasonic CF-T1(Pen3 900MHz) に、xubuntu(XFce)をインストールした。 CF-T1は、CD-ROMドライブも持っていないため、色々と手間取った。

最初に、USBメモリから動かそうとしたけど、こいつはUSBブートに対応していない。 このため、plop boot manager をインストールして、Windowsのブートセレクタを経由して、plopを起動するように設定した。 次に、軽量のウィンドウマネージャ XFce を使った ubuntu の日本語用の環境として、 Xubuntu 11.04 Japanese Remix をUSBに書き込んで、インストール作業を行う。

当初、USBメモリのフォーマットが間違っていたのか、USBブートに失敗していたが、 ようやく動き出した。USBブートの環境で、それなりに動きそうなのを確認して、 ハードディスク内容をママ用に一応吸い出してから、インストールを行う。

WiFi環境は、使っていたWiFiカードにあわせて、b43-fwcutterをインストールしたら、 うまく認識してくれるようになった。

未解決の問題点

このパソコンを、子どものインターネット端末として使おうと思っているため、 Windowsマシンっぽく使えるようにしたいんだけど、まだ色々と問題が残っている。

まずは、キーボード。jp106のキーボードレイアウトに設定しているのだが、 ESCキーが認識してくれない。キーコードを読み取らせてみたが、ESCで反応しない。 その他は、CtrlとCapsロックの入れ替えなどは、スムーズに終了。

それに、サスペンドがうまく動かない。 ハイバネーションであれば、うまく復帰してくれたけど、サスペンドにすると復帰後に 黒画面で固まってくれる。 ログアウトして、ユーザ選択画面も表示されずに黒画面になってくれることからすると、 ハイバネーションの問題ではなく、X Window のグラフィックドライバの問題のようにも 思える。

試しに、ubuntu を11.04から、11.10に上げてみた。ログアウトした後に、 再びlogin画面が表示されるようにはなったので、やはりサスペンドの問題のようだ。 11.10になっても、キーボードのESCは相変わらず….

自宅コンテンツフィルタのチェック漏れ

自宅では、子どもが好き勝手なWebページを見ないように、 コンテンツフィルタを動かしている。 squid の url_rewrite_program にて、自作フィルタプログラムを動くようにして、 基本は Yahoo Kids でフィルタページに飛ばされるかどうかを利用して、 制限を加えている。だから、子どもに見せたくないページは見えない。

しかし、子どもがよく行く安全なページは、制限無しにしたり、 別の携帯向けの制限解除ページにアクセスすることで、 制限時間付きで閲覧を許可できるようにしておいた。 逆に、Wii などのメール受信などがいつも制限されるのは…と思い、https は 全面的に通信許可にしていた。

でも「携帯で制限解除して…」と頼まないのに、Youtube で動画とかを見ている。 よくよく考えれば、Google や Youtube とかって、通信の除き見対策で、 https に切り替えられているんだった。それに、自宅のリンク集のページも、 先日 https のリンクに切り替えたっけ…。

ということで、フィルタプログラムを書き換える。 書き換え&実験をしていたら、横で子どもが「ページみれん…」と言い始めている。

CPANでインストールしたパッケージの整理

Perl でプログラムを書いていると、ぼちぼちとパッケージが足りなくって、 CPANでライブラリをインストールしている。 んで、古いCPANパッケージで動かないというトラブルもあって、 "perl -MCPAN -e shell あんど upgrade" を実行したら、 大量のパッケージが入ってしまっていた。 ただ、Debianでも lib*-perl にて、同じライブラリの多くは提供されている。 このままいくと、パッケージの競合もおこりそうだし、CPANで入れるものは必要最小限にしたい。

ということで、CPANでインストールしたモジュールは? を参考に、cpan-list.pl と cpan-uninstall.pl を作成し、lib*-perl で提供されているモジュールを 次々と消していく。 当初107個のモジュールが入っていたけど、32個にまで減らした。

でも、モジュールのバージョンの違いによる警告を出すプログラムがありそうだなぁ…

postgreyの設定ミス

サーバの更新後、メールサーバを qmail から postfix に変更し、 ひとまず自宅ドメインへのメール送信もできるようにしていたつもりだけど、 設定に間違いがあった。 基本、自宅ドメインへのメールなんて、自分だけしか使わない。 だから、トラブルに気付かなかった。 でも、自宅blog(movable-type)への書き込みに、たまーに使っている。

トラブルの状況は、送ったメールが451エラーで送り返される。

Delivery to the following recipient failed permanently:
ユーザ名@自宅ドメイン
Technical details of permanent failure:
Google tried to deliver your message, but it was rejected by the recipient domain. We recommend contacting the other email provider for further information about the cause of this error. The error that the other server returned was: 451 451 4.3.5 Server configuration problem (state 14).

メールのエラーログを見ると、以下のように、10023ポートへの接続エラー。 これより、postgrey への接続でエラーが出ていることがわかる。

... connect from localhost[127.0.0.1]
... disconnect from localhost[127.0.0.1]
... connect from mail-pz0-f44.google.com[209.85.210.44]
... warning: connect to 127.0.0.1:10023: Connection refused
... warning: problem talking to server 127.0.0.1:10023: Connection refused
... warning: connect to 127.0.0.1:10023: Connection refused
... warning: problem talking to server 127.0.0.1:10023: Connection refused
... NOQUEUE: reject: RCPT from mail-pz0-f44.google.com[209.85.210.44]: 451 4.3.5 Server configuration problem; from=<xxxx@gmail.com> to=<xxxx@xxxxxx> proto=ESMTP helo=<mail-pz0-f44.google.com>
... disconnect from mail-pz0-f44.google.com[209.85.210.44]

いろいろ説明を調べてみると、この記事が該当しているようだ。 設定時に、古い postgrey の記事を見たため、以下のような間違いがあった。

(( /etc/default/postgrey ))
# POSTGREY_OPTS="--inet=10023" は間違い。
POSTGREY_OPTS="--inet=127.0.0.1:10023"

参照記事によれば、"–inet=10023"では、IPv6接続に勘違いされてしまうらしい。 だめだこりゃ…

forked-daapdなかなか良いけど

MacBookを使っていて、iTunesで保存しているデータも増えてきた。 サーバ側にデータも保存しておきたいということで、コピーを取っているけど、 せっかくだしそのデータを、家の中で共有したい。 このため、mt-daapd を試したけど、うまく動いてくれなかった。

いろいろ調べていたら、mt-daapdは更新もされていないので、他の方が プログラムを新たに作り直した、forked-daapdなるソフトが出ているみたい。 んで、今回試しに入れてみた。

(( install ))
# aptitude install forked-daapd
(( /etc/forked-daapd.conf ))
# 書き換えたのは、1行だけ!!
directories = { "ディレクトリ/iTunes/Music" }

使ってみると、iTunesを立ち上げるだけで、左側メニューの共有欄に、"My Music on XXXX" が表示される。ただし、曲数が多いとデータベースの更新で時間がかかった。 動き出せば、日本語の曲名も普通に表示できている。(一部文字化けもあるけど)

再生させても、普通に再生…といいたいけど、 1曲再生で、4分ほどの曲が3分ほどで停止してしまうものがある。 最後まで普通に再生できたり、うーん、よくわからん….

USBボイスモデムを使うsl-modem-daemon

改めて、ボイスモデムを使うために、安く購入したけど、ソフトウェアもでむだったみたいだな… でも、slmodem なるパッケージがあるみたい。

(( まずはmodemを調べる ))
# lsusb
Bus 002 Device 006: ID 0483:7554 SGS Thomson Microelectronics 56k SoftModem

付属のCD-ROMには、dgcmodemやらslmodemやらのドライバが入っているけど、 dgcmodemは vendor-id とかから調べると違うみたい。 んで、slmodem は、debian では、sl-modem-daemon という名前みたい。

(( インストール ))
# aptitude install sl-modem-daemon
だけど、以下のようなエラーで動かない
Only access through ALSA is available on amd64 but slamr driver was chosen!
Make sure that an ALSA driver for your chipset is available and is loaded
and that access to SmartLink modem components is supported by it.
invoke-rc.d: initscript sl-modem-daemon, action "start" failed.

/usr/share/doc/sl-modem-daemon/README.debian を読むと、 ALSAでなければ、/etc/default/sl-modem-daemonのSLMODEMD_DEVICEに、"hw:0"とか"hw:1"とかを指定しろって書いてある。

(( /etc/default/sl-modem-daemon ))
SLMODEMD_DEVICE=hw:0
(( 動作確認 ))
# /etc/init.d/sl-modem-daemon start
# kermit -l /dev/modem
C-Kermit> connect
AT
OK

おお、ちゃんと動き出した。さて、今から AT-command の確認。

/etc/default/keyboardなのか…

サーバを更新してから、バージョン上がっていったら、キー入力が変になってきた。 キーをタイプしても、打てないキーや不規則にキーが捨てられたり。 どうも、Caps Lock / Ctrl の入れ替えで小技を使っていたのが、 最近のパッケージの流儀に合わないらしい。

(( 設定を改めて更新))
# dpkg-reconfigure -phigh xserver-xorg

これによって、Xが立ち上がってもキーが利かなくなることはなくなったが、 当然ながら Caps Lock と Control が元通り。不便極まりない。 色々調べてみると、最近は、/etc/default/keyboard で変更するらしい。

(( /etc/default/keyboard ))
XKBMODEL="a4techKB21"
XKBLAYOUT="jp"
XKBVARIANT=""
XKBOPTIONS="ctrl:swapcaps"

Google 検索

My Google   Yahoo

Microsoft

ファンサイト