S.C. MAGI-SYSTEM 日記
Diary
2009年になって、実に3年ぶりに更新再開。

hns - 日記自動生成システム - Version 2.19.9

2009年01月03日() [n年日記]

[天気:晴れ](新横浜) 起床:11:45 就寝:26:00

#1 [*BSD] 6.4-STABLE

こちらの日記では大変ご無沙汰しています。

今でこそ言えることですが… 実はこのサーバは4.11-RELEASE-p21でずーっと動いていました(笑)
最後にmake buildworldしたのが2005年12月14日(-p13)で、 kernelは2006年10月26日(4系のEOL)でした。
このEOLを境にportsが4系ではbuildできなくなってしまったので、 かなりの間放置されていましたが…よくここまで動いていたものです。

で、そろそろportsを更新したいということで、 頑張って4.11→5.x-STABLE→6.x-STABLEという二段構え のmajor越えmake worldを実施しました!

まずは4.x最後のdmesg
Copyright (c) 1992-2005 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 4.11-RELEASE-p21 #1: Thu Oct 26 00:20:19 JST 2006
root@melchior.magisystem.net:/work/obj/usr/src/sys/EDEN
Timecounter "i8254"  frequency 1193182 Hz
CPU: VIA C3 Samuel 2 (533.35-MHz 686-class CPU)
Origin = "CentaurHauls"  Id = 0x673  Stepping = 3
Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 259981312 (253888K bytes)
avail memory = 248508416 (242684K bytes)
Preloaded elf kernel "kernel" at 0xc042a000.
Preloaded elf module "snd_via82c686.ko" at 0xc042a09c.
Preloaded elf module "snd_pcm.ko" at 0xc042a144.
md0: Malloc disk
Using $PIR table, 5 entries at 0xc00fdc70
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <Host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
agp0: <VIA Generic host to PCI bridge> mem 0xd0000000-0xdfffffff
 at device 0.0 on pci0
pcib1: <PCI to PCI bridge (vendor=1106 device=8601)> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <Trident model 8500 VGA-compatible display device> at 0.0 irq 11
isab0: <PCI to ISA bridge (vendor=1106 device=8231)> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8231 ATA100 controller> port 0xd000-0xd00f at device 17.1
 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ata1: at 0x170 irq 15 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 12 at device 17.2
 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 12 at device 17.3
 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
chip0: <PCI to Other bridge (vendor=1106 device=8235)> at device 17.4 on pci0
pcm0: <VIA VT82C686A> port 0xe400-0xe403,0xe000-0xe003,0xdc00-0xdcff irq 10
 at device 17.5 on pci0
pcm0: <VIA Technologies VIA1612A AC97 Codec>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff
 mem 0xe3000000-0xe30000ff irq 11 at device 18.0 on pci0
vr0: Ethernet address: 00:40:63:d4:b5:a9
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
orm0: <Option ROMs> at iomem 0xc0000-0xcbfff,0xcc000-0xd5fff on isa0
pmtimer0 on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
plip0: <PLIP network interface> on ppbus0
IPsec: Initialized Security Association Processing.
IP Filter: v3.4.35 initialized.  Default = pass all, Logging = enabled
ad0: 38154MB <HTE726040M9AT00> [77520/16/63] at ata0-master UDMA100

そして、5-STABLEの様子。
Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD 5.5-STABLE #0: Wed Dec 31 21:24:11 JST 2008
root@melchior.magisystem.net:/work/obj/work/src/sys/EDEN
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: VIA C3 Samuel 2 (533.35-MHz 686-class CPU)
Origin = "CentaurHauls"  Id = 0x673  Stepping = 3
Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 259981312 (247 MB)
avail memory = 244629504 (233 MB)
npx0: <math processor> on motherboard
npx0: INT 16 interface
acpi0: <VIA601 AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU (3 Cx states)> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0x6000-0x607f,0x5000-0x500f,
 0x4080-0x40ff,0x4000-0x407f,0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8601 (Apollo ProMedia/PLE133Ta) host to PCI bridge>
 mem 0xd0000000-0xdfffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8231 UDMA100 controller> port 0xd000-0xd00f,0x376,0x170-0x177,0x3f6,
 0x1f0-0x1f7 at device 17.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 12 at device 17.2
 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 12 at device 17.3
 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pci0: <bridge> at device 17.4 (no driver attached)
pcm0: <VIA VT82C686A> port 0xe400-0xe403,0xe000-0xe003,0xdc00-0xdcff irq 10
 at device 17.5 on pci0
pcm0: <VIA Technologies VIA1612A AC97 Codec>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff
 mem 0xe3000000-0xe30000ff irq 11 at device 18.0 on pci0
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:40:63:d4:b5:a9
acpi_tz0: <Thermal Zone> on acpi0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
ppc0: <Standard parallel printer port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xcc000-0xd5fff,0xc0000-0xcbfff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x64,0x60 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 533354488 Hz quality 800
Timecounters tick every 10.000 msec
IP Filter: v3.4.35 initialized.  Default = pass all, Logging = enabled
ad0: 38154MB <HTE726040M9AT00/MHAOA6AA> [77520/16/63] at ata0-master UDMA100

4系から5系へのmake worldはかなり大変です。
というのは、5系ではkernelの仕組みが変わっているので モジュールの配置やboot loaderの更新を伴います。
また、各make worldについて言えることですが、 PAMといった認証周りのライブラリがmajorが上がるたびに 大幅に更新されているので、最初はOS付属のsshdを起動する ようにしておいて、portsをリビルドしてからportsのsshdに 切り替えるようにしないと大変なことになります。(笑)

最後に6.4-STABLEです。
Copyright (c) 1992-2008 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 6.4-STABLE #0: Fri Jan  2 03:07:21 JST 2009
root@melchior.magisystem.net:/work/obj/work/src/sys/EDEN
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: VIA Samuel 2 (533.36-MHz 686-class CPU)
Origin = "CentaurHauls"  Id = 0x673  Stepping = 3
Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 259981312 (247 MB)
avail memory = 244715520 (233 MB)
kbd1 at kbdmux0
acpi0: <VIA601 AWRDACPI> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0x4000-0x407f,
 0x4080-0x40ff,0x5000-0x500f,0x6000-0x607f on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8601 (Apollo ProMedia/PLE133Ta) host to PCI bridge>
 mem 0xd0000000-0xdfffffff at device 0.0 on pci0
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8231 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,
 0x170-0x177,0x376,0xd000-0xd00f at device 17.1 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 12 at device 17.2
 on pci0
uhci0: [GIANT-LOCKED]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 12 at device 17.3
 on pci0
uhci1: [GIANT-LOCKED]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pci0: <bridge> at device 17.4 (no driver attached)
pcm0: <VIA VT82C686A> port 0xdc00-0xdcff,0xe000-0xe003,0xe400-0xe403 irq 10
 at device 17.5 on pci0
pcm0: <VIA Technologies VIA1612A AC97 Codec>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff
 mem 0xe3000000-0xe30000ff irq 11 at device 18.0 on pci0
vr0: Quirks: 0x0
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:40:63:d4:b5:a9
acpi_tz0: <Thermal Zone> on acpi0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
ppc0: <Standard parallel printer port> port 0x378-0x37f irq 7 on acpi0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcbfff,0xcc000-0xd5fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
Timecounter "TSC" frequency 533355476 Hz quality 800
Timecounters tick every 1.000 msec
IP Filter: v4.1.28 initialized.  Default = pass all, Logging = enabled
ad0: 38154MB <HTE726040M9AT00 MHAOA6AA> at ata0-master UDMA100

5系から6系へはそんなに大きな障壁はありませんでしたね。
ただ、majorが上がるごとに動作が重くなってい気がするのは 気のせいでしょうか。(笑)
そろそろこのEDEN(533MHz)でのmake worldはつらいです。
特に、make world後のportupgradeが絶望的に…

多少は手間がかかるとは言え、 4.11-RELEASEから6.4-RELEASEまで きちんと上げることができるFreeBSDの仕組みに感心しました。

2009年01月04日() [n年日記]

[天気:晴れ](新横浜) 起床:12:30 就寝:24:00

#1 [Server] Analog、はじめました

このサーバのCPUは静音ファンレスだけど、貧弱なことで有名な VIA Samuel 2 (533.36-MHz 686-class CPU) で動作しています。
ここのところ性能劣化が気になっています。
特に管理を容易にする関係 *1 で、特にCGIは実行のオーバヘッドが大きく、サーバへの負荷が目立っています。

そこで、どんなCGIが主に叩かれているのかちょっと Analog で分析してみました。
分析結果は こちら

絶望した!
ほとんどのアクセスが検索botだったり、 .cnからの掲示板CGIへのスパム投稿だったりすることに絶望した!

世の中のトラフィックの大半はbotとスパムなんでしょうかね…
*1: ApacheのモジュールにはせずにCGI(perl)、php、rubyの全てを #!/usr/local/bin/xxx の形式にして、直接実行するようにしています。

2009年01月05日(月) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [*BSD] 7.1-RELEASE

年末の焼肉では「年内には…」とのことでしたが、 年が明けてからのリリースとなりました。
関係者の方々、おつかれさまでした。

FreeBSD 7.1-RELEASE

これでついに6.xブランチはLegacy Branchとなりました。
このまま6.xのままでいると、元の木阿弥なので 近い時期に7.1-RELEASEにこのサーバも上げることにします。

2009年01月06日(火) [n年日記]

[天気:晴れときどき曇り](新横浜) 起床:7:30 就寝:23:30

#1 [*BSD][Server] make world

ようやっと7.1-RELEASEがビルドできました。
さすがは533MHzのC3だ。

--------------------------------------------------------------
>>> World build started on Mon Jan  5 20:03:19 JST 2009
--------------------------------------------------------------
(snip)
--------------------------------------------------------------
>>> World build completed on Tue Jan  6 06:45:47 JST 2009
--------------------------------------------------------------

niceかけていたとはいえ、10時間ですね…
ついでに
--------------------------------------------------------------
>>> Kernel build for GENERIC started on Tue Jan  6 12:13:55 JST 2009
--------------------------------------------------------------
(snip)
--------------------------------------------------------------
>>> Kernel build for GENERIC completed on Tue Jan  6 15:48:23 JST 2009
--------------------------------------------------------------

kernelでも3時間半かかっています。

今日のところはビルドだけ。
さすがにinstallはsingle userでやりたいので、今度の週末になります。
こういう時に手元にないサーバのメンテナンスは不便ですね…
シリアル接続専用の端末をもう1台、用意するべきでしょうか。

2009年01月07日(水) [n年日記]

[天気:曇りときどき晴れ](新横浜) 起床:7:30 就寝:22:00

#1 [*BSD][Server] Sender ID/SPF

もともとはMAGIサーバのBINDを最新のものに更新するついでに、 古くなっているDNSレコードをある程度きれいにしよう *1 ということから始めました。
と、いろいろ遊んでいるうちになんだかSender IDに対応させるのも 楽しいかもと思ってしまったわけです。



でも、今日は眠いので詳細はそのうちに。(笑)

興味がある方は
% dig magisystem.net TXT +norec
でも叩いてみてください。
*1: named.rootとか古いままだと迷惑にもなりますし…

2009年01月08日(木) [n年日記]

[天気:曇り](新横浜) 起床:7:30 就寝:23:30

#1 [*BSD][Server] Sender ID/SPF(各論)

昨日、書きかけ(というか、投げっぱなし)だった内容について。

とりあえず、Sender IDがなにかについては、 規格を提案している Microsoft や、具体的な方法を紹介している @IT を参照するとよいです。(こら

ここでは、具体的にどう設定するかを説明します。

とはいっても、概要くらい説明しないとどうしようもないですね。
SPF とは、DNSのレコードにちょこっと情報を追加することで、 リレーされてきたメールが認められたSMTPサーバから送信されたものかを 照合する仕組みです。
近年増加するスパムを見ていて分かると思いますが、人のところのドメインの メールアドレスを勝手にSenderに設定して、送信されている *1 ことが多くあります。
そこで、そのドメインの正当なオーナーがどこのSMTPサーバから このドメインをSenderやFromに指定したメールを送る可能性があるかを あらかじめ指定しておくのです。

DNS には以下のようなレコードを設定します。
	IN	TXT	"spfレコード"


このspfレコードを書くのが結構難しいです。
私は Microsoft のサイトにあるウィザードで作りました。
基本的には自分のドメインでメールを送信する可能性があるホストを 指定しておけば大丈夫です。
ここのサーバでは実は自分でSMTPを送信せずに、 プロバイダのSMTPサーバをSMART_HOSTに指定しているので そっちを入れておく必要があります。

このレコードを作ったら check-auth%verifier.port25.com *2 に空メールを送ることで、SPFを評価してくれます。
==========================================================
Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         neutral
Sender-ID check:    pass
SpamAssassin check: ham

==========================================================
Details:
==========================================================

HELO hostname:  mo10.iijmio.jp
Source IP:      xxx.xxx.xxx.xxx
mail-from:      xxx%xxx.xxx

----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result:         pass 
ID(s) verified: smtp.mail=xxx%xxx.xxx
DNS record(s):
   magisystem.net. 3600 IN TXT "v=spf1 a mx ptr
mx:melchior.magisystem.net mx:menkar.cetus-net.org
ip4:xxx.xxx.xxx.xxx/xxx -all"
   magisystem.net. A (no records)
   magisystem.net. 3600 IN MX 10 melchior.magisystem.net.
   magisystem.net. 3600 IN MX 100 menkar.cetus-net.org.
   melchior.magisystem.net. 3600 IN A xxx.xxx.xxx.xxx
   menkar.cetus-net.org. 3599 IN A xxx.xxx.xxx.xxx
   xxx.xxx.xxx.xxx.in-addr.arpa. 36000 IN PTR mo10.iijmio.jp.
   mo10.iijmio.jp. 36000 IN A xxx.xxx.xxx.xxx
   melchior.magisystem.net. MX (no records)
   menkar.cetus-net.org. MX (no records)
(snip)
----------------------------------------------------------
Sender-ID check details:
----------------------------------------------------------
Result:         pass 
ID(s) verified: header.From=xxx%xxx.xxx
DNS record(s):
   magisystem.net. 3600 IN TXT "v=spf1 a mx ptr
mx:melchior.magisystem.net mx:menkar.cetus-net.org
ip4:xxx.xxx.xxx.xxx/xxx -all"
   magisystem.net. A (no records)
   magisystem.net. 3600 IN MX 10 melchior.magisystem.net.
   magisystem.net. 3600 IN MX 100 menkar.cetus-net.org.
   melchior.magisystem.net. 3600 IN A xxx.xxx.xxx.xxx
   menkar.cetus-net.org. 3599 IN A xxx.xxx.xxx.xxx
   xxx.xxx.xxx.xxx.in-addr.arpa. 36000 IN PTR mo10.iijmio.jp.
   mo10.iijmio.jp. 36000 IN A xxx.xxx.xxx.xxx
   melchior.magisystem.net. MX (no records)
   menkar.cetus-net.org. MX (no records)


この設定で試しにGmailのメールアドレス宛てに送ったメールの ヘッダです。
Authentication-Results: 	mx.google.com; spf=pass (google.com: domain of 
	xxx%xxx.xxx designates xxx.xxx.xxx.xxx as permitted sender)
	smtp.mail=xxx%xxx.xxx
(snip)
Received-Spf: 	pass (google.com: domain of xxx%xxx.xxx designates
	xxx.xxx.xxx.xxx as permitted sender) client-ip=xxx.xxx.xxx.xxx;


しっかりとGmailにもお墨付きをいただけたようです。(笑)

次に受信側の設定も。
うちではMTAにsendmailを使っているので、ついでにsid-filterも入れておきます。
sendmail.mcに
INPUT_MAIL_FILTER(`sid-filter', `S=local:/var/run/sid-filter')
を入れておきます。

するとメールヘッダにつぎのように入ります。
Authentication-Results: 	melchior.magisystem.net; sender-id=pass
	header.from=xxx%xxx.xxx; spf=pass smtp.mfrom=xxx%xxx.xxx


本来ならば、spf=passとならなかったメールを弾くように設定すると いいのでしょうが、世の中の全てのメールサーバがSPFに対応しているわけでもないので、 受信側の設定としてはログに出すくらいしかできないのが 悲しいですね…

ちなみに、携帯キャリアはきちんと設定してくれるようです。
下はauの例です。
Authentication-Results: 	melchior.magisystem.net; sender-id=pass
	header.from=xxx%ezweb.ne.jp; spf=pass smtp.mfrom=xxx%ezweb.ne.jp

*1: 例えば、ここのサーバならmagisystem.netなメアドをSenderやFromに設定して送られているスパムです。もちろん、私はそんなものを送った覚えはないですよ。(笑)
*2: 読み替えてくださいね。(笑)

2009年01月09日(金) [n年日記]

[天気:雨](武蔵中原) 起床:6:30 就寝:22:00

#1 [Server] recursion no

今日は昨日に続いてDNSの話。

先日、ITproを読んでいたらいい記事があったので貼っておきます。
DNSファイアウォールが可能にする真のセキュアDNS [要登録]

登録してないと見られないので内容をさらっと紹介すると、 あるドメインのSOAを持っているコンテンツDNS *1 と、いわゆる普通の名前解決をするためのキャッシュDNS *2 は別にしましょ、ということです。
記事を書いているのがアプライアンスベンダーなので、話はさらに コンテンツDNS(プライマリとします)をDMZの内側に配置して、 外部からのリクエストはそのプライマリ・コンテンツDNSから委譲を受けた セカンダリ・コンテンツDNSにやらせましょ、とまで書いています。
これで、間違ってDNSが乗っ取られてしまっても、 DNSレコードを書き変えられてしまう心配がない *3 、ということ。

まあ、外の名前解決は基本的にプロバイダのDNSをforwarderに指定してしまっているので、 あんまり関係ないんですけどね。(笑)

しかし、中と外のDNSを分ける話題は、実はここのネットワークの話にも関係します。
1つのnamedで、プライベート・ネットワーク(internal)のDNSと 外に公開しているグローバル・ネットワーク(external)のDNSを同時に提供しています。 *4
当然、同一のホスト名で名前を解決しているので、中からのリクエストはプライベートIP、 外からのリクエストはグローバルIPが返るようにしないといけません。
外にプライベートIPを見せるわけにはいきませんからね。
それと、外からプライベートIPの逆引きをされないようにもしないといけません。

このように、1つのnamedでリクエスト元のIPアドレスによって レスポンスを変える方法は比較的簡単に設定できます。
また 外部の記事 なんですが、コピペしても意味がないのでここを見てください。(笑)
ここで大事なのは、recursionというキーワードです。
これは自分がAurhorityを持ってるドメイン *5 以外の名前解決を依頼されたときにどうふるまうか、ということ。

先程書いたように、中からは自分のドメインに関する名前解決は当然ですが、 それ以外に外部の名前解決を提供する必要があります。 *6
逆に、外部からのリクエストについては自分のドメインに関するレスポンスを返す必要がありません。
むしろ、踏み台やら何やらに利用されないためにも返すべきではありません。
そこで
view "external" {
(snip)
        recursion no;
(snip)
}

外部からのリクエストについては recursion no をきちんと入れないといけないのです。

これを入れておくと、外からのリクエストには以下のように返ります。
[ttys001%rei:~]% dig @xxx.xxx.xxx.xxx ki.nu in soa

; <<>> DiG 9.4.2-P2 <<>> @xxx.xxx.xxx.xxx ki.nu in soa
; (1 server found)
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 63677
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0
;; WARNING: recursion requested but not available

;; QUESTION SECTION:
;ki.nu.				IN	SOA

;; Query time: 54 msec
;; SERVER: xxx.xxx.xxx.xxx#53(xxx.xxx.xxx.xxx)
;; WHEN: Fri Jan  9 20:35:03 2009
;; MSG SIZE  rcvd: 23

status が REFUSED となって、拒否されたのが分かりますね。
同じように中からやってみましょう。
[ttyp5%melchior:~]% dig @127.0.0.1 ki.nu in soa

; <<>> DiG 9.4.3 <<>> @127.0.0.1 ki.nu in soa
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38104
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 11

;; QUESTION SECTION:
;ki.nu.				IN	SOA
(snip)
;; Query time: 5 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Fri Jan  9 20:38:00 2009
;; MSG SIZE  rcvd: 495

status が NOERROR となり、結果がきちんと返っているのが分かります。

自分でDNSを上げている方は気を付けましょう。
*1: 実際にそのゾーンのSOA,NSとなっているDNSのこと。
*2: Webを見るためとかメール送信のために「外部」の名前を解決するDNS
*3: 正確に言うなら書き変えられてしまいますが、あくまでslaveなのでmasterは無事。
*4: なんか昔、日記に書いた気がするんだけど…
*5: そのnamedでmasterやslaveで指定されているドメイン。
*6: それは例えforwarderを指定していてもです。指定がないとforwarderにもききにいきません。

2009年01月10日() [n年日記]

[天気:晴れ](新横浜) 起床:13:45 就寝:24:00

#1 [Web] hns 2.19.9

3年もたっていることなので、この日記のベースになっている hnsを上げておきました。
その過程で見られなくなった方、すみません…

できれば tDiary とか MovableType など、最近のシステムに 移行した方がいいのかなぁ。
でも、過去の内容を移行するのがあまりに面倒なので(笑)
しばらくは、このままです。

2009年01月12日(月) [n年日記]

[天気:晴れときどき雨](新横浜) 起床:11:45 就寝:23:00

#1 [*BSD][Server] 7.1-RELEASE(適用)

この週末に実家に帰ってmake installworldしてきました。
今回も上げるなりopenssl周りに変更があったせいか、 opensslをリンクしているプログラムが次から次へとcoreを吐く始末。
もう、勘弁してください…
これだからメジャーバージョンをまたぐ更新は大変です。

でも、これでしばらくは安心ですね…
Copyright (c) 1992-2009 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 7.1-RELEASE #0: Tue Jan  6 16:51:20 JST 2009
    root@melchior.magisystem.net:/work/obj/work/src/sys/EDEN
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: VIA Samuel 2 (533.36-MHz 686-class CPU)
  Origin = "CentaurHauls"  Id = 0x673  Stepping = 3
  Features=0x803035<FPU,DE,TSC,MSR,MTRR,PGE,MMX>
real memory  = 259981312 (247 MB)
avail memory = 244662272 (233 MB)
kbd1 at kbdmux0
acpi0: <VIA601 AWRDACPI> on motherboard
acpi0: [ITHREAD]
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, f6f0000 (3) failed
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x4008-0x400b on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff,0x4000-0x407f,0x4080-0x40ff,
 0x5000-0x500f,0x6000-0x607f on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8601 (Apollo ProMedia/PLE133Ta) host to PCI bridge> on hostb0
agp0: aperture size is 256M
pcib1: <PCI-PCI bridge> at device 1.0 on pci0
pci1: <PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem 0xe1800000-0xe1ffffff,
 0xe2000000-0xe201ffff,0xe1000000-0xe17fffff irq 11 at device 0.0 on pci1
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 8231 UDMA100 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,
 0x376,0xd000-0xd00f at device 17.1 on pci0
ata0: <ATA channel 0> on atapci0
ata0: [ITHREAD]
ata1: <ATA channel 1> on atapci0
ata1: [ITHREAD]
uhci0: <VIA 83C572 USB controller> port 0xd400-0xd41f irq 12 at
 device 17.2 on pci0
uhci0: [GIANT-LOCKED]
uhci0: [ITHREAD]
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb0
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xd800-0xd81f irq 12 at
 device 17.3 on pci0
uhci1: [GIANT-LOCKED]
uhci1: [ITHREAD]
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: <VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1> on usb1
uhub1: 2 ports with 2 removable, self powered
pci0: <bridge> at device 17.4 (no driver attached)
pcm0: <VIA VT82C686A> port 0xdc00-0xdcff,0xe000-0xe003,0xe400-0xe403
 irq 10 at device 17.5 on pci0
pcm0: [ITHREAD]
pcm0: <VIA Technologies VIA1612A AC97 Codec>
vr0: <VIA VT6102 Rhine II 10/100BaseTX> port 0xe800-0xe8ff
 mem 0xe3000000-0xe30000ff irq 11 at device 18.0 on pci0
vr0: Quirks: 0x0
vr0: Revision: 0x51
miibus0: <MII bus> on vr0
ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
vr0: Ethernet address: 00:40:63:d4:b5:a9
vr0: [ITHREAD]
acpi_tz0: <Thermal Zone> on acpi0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
sio0: type 16550A, console
sio0: [FILTER]
cpu0: <ACPI CPU> on acpi0
acpi_throttle0: <ACPI CPU Throttling> on cpu0
pmtimer0 on isa0
orm0: <ISA Option ROMs> at iomem 0xc0000-0xcbfff,0xcc000-0xd5fff
 pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
atkbd0: [ITHREAD]
ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0
ppc0: Generic chipset (EPP/NIBBLE) in COMPATIBLE mode
ppbus0: <Parallel port bus> on ppc0
ppbus0: [ITHREAD]
plip0: <PLIP network interface> on ppbus0
plip0: WARNING: using obsoleted IFF_NEEDSGIANT flag
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
ppc0: [GIANT-LOCKED]
ppc0: [ITHREAD]
sio1: configured irq 3 not in bitmap of probed irqs 0
sio1: port may not be enabled
Timecounter "TSC" frequency 533355193 Hz quality 800
Timecounters tick every 1.000 msec
IP Filter: v4.1.28 initialized.  Default = pass all, Logging = enabled
ad0: 38154MB <HTE726040M9AT00 MHAOA6AA> at ata0-master UDMA100

2009年01月13日(火) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [Server] ひとまず完了

ようやく ports も更新でき、FreeBSDの更新作業は一通り完了しました。

このサーバのimapとsmtpはどちらもTLSに対応しているのですが、 実は今どうやって構築したのかという資料が残っていません。(汗)

今後のためにも、どう設定したのか整理したいと思います。

2009年01月14日(水) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [Web] アクセスカウンタ

ここのサイトの トップページ に SSI で上部にアクセスカウンタが埋め込まれているのに お気付きでしょうか?

このアクセスカウンタは、遠い昔、おそらく2000年あたりに 私がフルスクラッチでPerlで書いたものがベースになっています。
当時、イメージを出力するレンタルアクセスカウンタが主流 *1 でしたが、 私は w3m といったテキストブラウザがメインだったので、 イメージではなく、テキストでアクセス数が知りたくてこういうものを 作ったのです。
そのソースを久し振りにメンテナンスしてみました。

いやー、当時と今では書き方がずいぶんと変わったので、 久し振りに見るときたないものですね。(笑)
ちなみに、このカウンタは単純にアクセス数だけをカウントしているのではありません。
同一IPからの短時間(1時間以内)のアクセスはカウントアップしないように しているので、総アクセス数だけでなく、IPアドレスごとの直近アクセス日時を 同時に記録しています。
このデータの保持に Berkeley DB を用いています。
ちょっとデータの中を見たくて、Perlで展開しようとしましたが… 単純にDB中のデータを %hash 展開したら
pid 41859 (perl5.8.8), uid 1001: exited on signal 11 (core dumped)
メモリ不足で落ちました…ってどれだけデータが入っているんですか。

どうやら、問題なのは
foreach my $key (keys %{$href}) {
(snip)
連想配列内のキーをforeachで取り出しているところのようでした。
foreach では keys 関数によって array を生成するので、 キー数が多いととんでもないほどメモリを使うそうです。
こういうときは
while (my ($key, $val) = each %{$href}) {
(snip)
each を使うといいらしい。

確かに3万件近くデータがあるので、そりゃ落ちますわね…

Berkeley DBでも3万件ものDBを保持できることにびっくり。
そして、この数年間でそんなにも異なるIPアドレスからアクセスされていた という積み重ねにもびっくり。

ちなみに、このカウンタは画像出力にも対応しています。
以下、その例です。

スタンダードタイプ
Type 2

ちょっとおしゃれタイプ
Type 3

漢数字タイプ(笑) *2
Type 1
*1: 会津大学のアクセスカウンタが サービス終了 するというニュースもありました。
*2: 当時の流行が分かりますね。

2009年01月16日(金) [n年日記]

[天気:晴れ](沼津) 起床:7:30 就寝:24:00

#1 [Server][*BSD] perl-after-upgrade

FreeBSD の perl5.8 ports が 5.8.9 にアップデートされました。
これにともない、このサーバのperlも入れ替えました。

perlを入れ替えると困ることは、perl Modulesを入れ直しになることです。
アップデートする前の5.8.8は/usr/local/lib/perl5/5.8.8配下にありますが、 アップデート後の5.8.9では/usr/local/lib/perl5/5.8.9に変わります。
これに合わせて、いくつかのモジュールは配置場所が変わってしまうのです。

入れ直し面倒くさいなぁ、と思っていたら /usr/ports/UPDATING に次の文が。
20090113:
  AFFECTS: users of lang/perl5.8
  AUTHOR: skv%FreeBSD.org

  lang/perl5.8 has been updated to 5.8.9. You should update everything
  depending on perl. The easiest way to do that is to use
  perl-after-upgrade script supplied with lang/perl5.8. Please see
  its manual page for details.

perl-after-upgrateというものが用意されているらしい。
以下のようにrootで実行すると、何が行われるか見られます。
# perl-after-upgrade
で、その結果に問題がなければ
# perl-after-upgrade -f
で反映されます。

これはラクチンだ。

2009年01月19日(月) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [MacOSX][Windows] Windows 7 beta

仕事でWindows 7 betaと関わることがあったので、 ものは試しとMacbookのVMware Fusionに入れてみました。(笑)

入手は簡単。
Windowsメッセンジャーのアカウントがあれば、 ここ からダウンロードできます。
インストールイメージが約2.5GBと大きいので注意しましょう。
それから、ダウンロードはどうもIEでないとダメな様子。
Safariではできませんでした…
あと、途中でインストールキーが表示されますので、忘れずにメモりましょう。

VMware Fusionにインストールするのであれば、ISOを焼く必要もないので 結構簡単です。
とりあえず、VMのテンプレートとしてはVistaを選んでおくといいでしょう。

インストールはだいたい2時間もあれば終わりそう。
インストール画面

Windowsといえば、無駄にグラフィカルでうざい起動画面ですが… Windows 7はさらにひどいことになっています。(笑)
VMwareなので、起動するときにすごい勢いでファンが周ります。
スプラッシュ画面

で、インストール直後のシステムのプロパティ。
あちらこちらでレビューされているように、結構軽いです。
会社で使っているVistaや、同じくVMwareに入れているWindows Server 2008よりも ずっと快適かもしれない。
システム・プロパティ

そして、デフォルトのブラウザはInternet Explorer 8になっています。
IE8
ちなみにブラウザ名は
Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2;
 .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729;
 Media Center PC 6.0)
だそうな。

最後に、IE8 on Windows 7 on VMware Fusion on MacOS X 10.5 で、ニコニコ動画。(笑)
ニコニコ動画

今はまだXPで十分ですが、Windows 7 が出たらVistaを飛び越えてアップデートする 価値があるかもしれませんね。

2009年01月20日(火) [n年日記]

[天気:晴れ](新横浜) 起床:7:30 就寝:24:00

#1 [Server] Seagate HDD

Seagate製のHDDが起動できなくなる可能性があるらしい。

Seagate社、自社製HDDの不具合を認める [slashdot.jp]
Seagate製HDDの一部でアクセス不能になる不具合 [ITmedia]

最近、というよりは2008年に製造されたモデルがあぶない。
実はSATAだけだろうと高くくくっていたのですが、 ATAも含まれているので注意しましょう。
ちなみに、わたしが先日買ったのはHGST製ですのでセーフ。
やっぱりSeagateを避けてよかった…

ちなみに過去にはMacbook搭載のSeagate製HDDにも トラブルがありました
HDDは最近のパソコンでは生命線なので、トラブルが出ると恐いですね。
業務用であれば大抵RAIDになっているので、まだ安心できる *1 んですが。
*1: 今回みたいなトラブルだとロットが全部逝くので、下手するとRAID全部飛ぶことも。(汗)

#2 [MacOSX] PowerPCの備忘録

#3 [Web] RSS feed

HyperNikkiSystem にもRSS feedする機能ってあったんですね。
生のRSSは こちら から取得できます。

Safariを使っていると、RSS feedがあるサイトを表示していると URLバーのところの末尾に RSS と表示されます。
これってどうやって認識しているのかなーと調べてみました。
linkタグに記述することで表現しているらしい。
詳細は こちら がいいかも。
ようはlinkタグは、現在のページと関連する別ページへのリンクを 示すタグで、その「alternate」としてMIMEタイプrss+xmlなものへの hrefを貼るという仕組みです。
<link rel="alternate" type="application/rss+xml" title="RSS" href="./rss.cgi">
という感じです

#4 [Server][Web] abuse

MRTG を見ていただくと分かりますが、急激に負荷が高くなってmrtgが死んでしまいました。
それでも、OSが落ちなかったのはすごい。
httpdも子プロセスは死にまくりましたが、親だけは残っていました。

いろいろログを調べてみたら、やはり検索BOTの多重アクセスが原因らしい。
特にこのサイトは、ここのhnsを始め、wikiやらtDiaryやらで動的に生成するページが多く、 それらを全部検索BOTにcrawlされると大変なことになります。

ということで、お行儀の悪い次の検索エンジンをipfではじくことにしました。
  • Yeti/1.0 (NHN Corp.; http://help.naver.com/robots/)
  • Baiduspider+(+http://help.baidu.jp/system/05.html)
ちなみに、それぞれのアクセス元は
  • Yeti/1.0:61.247.222.53
    % whois 61.247.222.53
    (snip)
    inetnum:      61.247.192.0 - 61.247.223.255
    netname:      NHN-NET-KR
    descr:        NHN
    country:      KR
    admin-c:      TS411-KR
    tech-c:       TS411-KR
    status:       ALLOCATED PORTABLE
    mnt-by:       MNT-KRNIC-AP
    remarks:      This information has been partially mirrored by APNIC from
    remarks:      KRNIC. To obtain more specific information, please use the
    remarks:      KRNIC whois server at whois.krnic.net.
    changed:      hostmaster%nic.or.kr
    source:       KRNIC
    
    ということで、61.247.192/18でまるっとBAN。

  • Baiduspider+:119.63.194.120
    % whois 119.63.194.120
    (snip)
    inetnum:      119.63.192.0 - 119.63.199.255
    netname:      BAIDUJP-CIDR-BLK-JP
    descr:        Baidu, Inc.
    remarks:      Email address for spam or abuse complaints : sunruifeng%baidu.com
    country:      JP
    admin-c:      RS2845JP
    tech-c:       RS2845JP
    remarks:      This information has been partially mirrored by APNIC from
    remarks:      JPNIC. To obtain more specific information, please use the
    remarks:      JPNIC WHOIS Gateway at
    remarks:      http://www.nic.ad.jp/en/db/whois/en-gateway.html or
    remarks:      whois.nic.ad.jp for WHOIS client. (The WHOIS client
    remarks:      defaults to Japanese output, use the /e switch for English
    remarks:      output)
    changed:      apnic-ftp%nic.ad.jp 20080122
    source:       JPNIC
    
    って、Baiduって日本のアドレスブロックから来てたのか…
    そりゃ防げませんって。
    まとめて 119.63.192.0/21 でBAN。

これで少しはマシになるかな?

2009年01月22日(木) [n年日記]

[天気:雨](新横浜) 起床:7:30 就寝:24:00

#1 [Server] BOT

先日ブロックしたYetiとBaiduspiderですが、 ブロックした後も一向に減る気配がありません。
ちなみに21日のdailyによると
+531 @1 block in log quick from 61.247.192.0/18 to any group 50
+229 @2 block in log quick from 119.63.192.0/21 to any group 50
で、22日のdailyによると
+3924 @1 block in log quick from 61.247.192.0/18 to any group 50
+1884 @2 block in log quick from 119.63.192.0/21 to any group 50
となっています。
つまり、Yetiの方が3393回なので単純に25秒に1回のアクセスがある計算になります。
それはやりすぎじゃないのか…
そして、Baiduの方が995回なので、こちらは52秒に1回。

どっちもひどいな…

2009年01月23日(金) [n年日記]

[天気:雨のち曇り](新横浜) 起床:7:30 就寝:24:00

#1 [Server] 今日のBOT

今日のabuse BOTことYetiとBaiduspider。
22日のdailyが
+3924 @1 block in log quick from 61.247.192.0/18 to any group 50
+1884 @2 block in log quick from 119.63.192.0/21 to any group 50
で、23日のdailyが
+10710 @1 block in log quick from 61.247.192.0/18 to any group 50
+4003 @2 block in log quick from 119.63.192.0/21 to any group 50
です。
  • Yeti:6786回
  • Baidu:2119回

昨日よりも確実に悪化しています。
これってabuse@〜に送ると本当に対処してくれるんだろうか?

2009年01月26日(月) [n年日記]

[天気:晴れ](新横浜/武蔵中原) 起床:7:30 就寝:24:00

#1 [Gadget] pomera

同じ記事を別の場所にも書きましたが、 箱ファイルでおなじみの KING JIM の pomera がアツい。

これは「電子メモ」というもので、言ってみれば文章を書く機能だけを 持った携帯端末と言えます。
通信機能とかはないので、データをパソコンに送るにはUSBでつなぐか、 micro-SDを挿してやりとりする方法があります。
画面は広めだし、単四電池2本で20時間以上持つので十分。
予備電力が単四電池というのもうれしいですね。
折りたたみ式のキーボードで、広げるとフルサイズになる。

広げたところ
広げたところ
たたんでいるところ
たたんでいるところ
たたんだところ
たたんだところ

タッチ感はなかなか良好。
ちなみにFEPはATOKのようです。

うーん、これがSKKだったら…
あと、英語キーボードだったら…


最近の日記
2019年06月24日
10年振り
2009年12月31日
定期アップデート
2009年04月03日
定期アップデート
2009年03月22日
定期アップデート
2009年01月26日
pomera
2009年01月23日
今日のBOT
2009年01月22日
BOT
2009年01月20日
Seagate HDD
PowerPCの備忘録
RSS feed
abuse
2009年01月19日
Windows 7 beta
2009年01月16日
perl-after-upgrade
2009年01月14日
アクセスカウンタ
2009年01月13日
ひとまず完了
2009年01月12日
7.1-RELEASE(適用)
2009年01月10日
hns 2.19.9
2009年01月09日
recursion no
以上、17 日分です。
先月 2009年01月 来月
1 2 03
04 05 06 07 08 09 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project