記事一覧

吉見サーバの入れ替え

吉見工場では、ファイルサーバとして大昔のPCを使っています。スペックは

PentiumPro 200MHz
128MB RAM

というものです。多分13年くらい前のものです。何度か(故障する前にと)HDDだけ交換しましたが、今まで全くトラブルはありませんでした。とは言っても電源すらATで、USBも使えず、G.W.を迎えるにあたって引退することとなりました。

DELL PowerEdge
Celeron2.53GHz
1GB RAM

全然すごいスペックじゃないですね。ずいぶん前から用意してあったのですが忙しくてとても交換するヒマがなかったんですが、ウソのようにヒマになってしまったのでようやく日の目を見ることとなりました。

交換とは言ってもデータをコピーする+ちょこっと、って感じです。一つ使った小技としては

OptionalNames

ですね。新しいサーバは新しい名前にしておき、更新がかからないデータを古いサーバから新しいサーバへコピー、会社の稼動が終わるのを待ってから残りを一気にコピーしてレジストリエディタで

HKEY_LOCAL_MACHINE\System\CurrentControlSet\
 Services\LanmanServer\Parameters

のOptionalNamesに古いサーバの名前を入れて終了。これで新しいサーバは複数の名前を持つように。。。当初はこのOptionalNamesは使わないことを考えていたのですが、どこに古いサーバの名前が使われているかわからないので苦肉の策として使ってしまいました。おかげさまで入れ替えによるトラブルはないみたいです。

クラスBへの変更(川口本社)

2/24夜

事前に作っておいたチェックリストを元に作業を始める。当然、大元であるルータの設定を変更するのは最後として、末端の他に影響のない部分から始める。

社内設備の一部のIPアドレス変更(この作業は帰りがけに、その後は自宅からVPN経由で)
プリンタ、無線アンテナ、コピー機、電話親機、ローカルルータのIPアドレス変更
コピー機の電話帳(社内サーバのフォルダを指定している部分)を変更
WindowsServerのIPアドレス、lmhostsファイル変更
メールのproxy設定変更
クライアントのweb-proxy設定変更
その他各種自社作成ソフト内のIPアドレス変更

ここまでやってからメインの作業

塗装工場のルータ変更&再起動
吉見工場のルータ変更&再起動
インドネシア研修生の寮用のルータ設定変更&再起動
川口工場のルータ変更&再起動(DHCPサーバ設定含む)
自宅のルータ変更&再起動

ルータの変更については、事前に設定ファイルを作成して何度も間違いがないことを確認してからの作業だったのでそこそこ自信はあったのですが、VPNがきちんと張られていることが確認できるまではドキドキでした。

この後は一通り、IPアドレスを変更した機器が自宅からアクセス可能なことを確認して作業終了。

2/25

会社に出社してから

IP電話子機のIPアドレス変更
ひかり電話のモデム再起動
BBコミュニケータのモデム再起動

でほぼ作業終了。以前にSQL-Serverの入ったクライアントの名前を変更して不都合があったのでIPアドレスはどうかと思っていましたが、特に問題はありませんでした。よく考えてみたらDHCP使っていればIPアドレスが変わること自体は珍しくないので、当然かも。

クラスCからクラスBへの変更作業は三回目だったので、あっけないくらいに問題なく終わってしまいました。でも、最初からクラスBにしておけば良かった。でも、当初はTCP/IPすら使わずNetBEUIでネットワークを構築し、インターネットに接続するために慌ててTCP/IPに切り替え、その時はDHCPを使わずに固定IPでやっていたくらいの知識力だったので仕方ないか。

リカバリーディスク

会社のシステム管理者というのは多くのPCを管理するものです。そして、同じ設定のPCを量産するという業務がありますよね。で、私の場合はリカバリーDVDを作って、それを突っ込んで電源を入れればほら出来上がり。ところが、すべての機種にDVDドライブがついているわけではないし、そもそもDVDドライブは付いていない方が管理が楽です。細かい修正をするたびにいちいちDVDを焼き直すのも面倒くさいです。で、今度はネットワーク接続可能なブートディスクを作ってネットワーク経由でリカバリーもしてみました。これだと遅いですよね。しかも、職場は埃っぽいので各種ドライブは壊れることが多いです。

で、今更ながらなんですが、「最近のPCはUSBメモリから起動できる」ことに気付きました。遅すぎ?まあ、気付くのに遅すぎはないってことで、早速設定してみました。

[用意する(した)もの]
パソコン(DELLのOptiPlex GX60, Dimension2400)
USBメモリ(4GB)
Windows98のCD
BBIE.exe(仮にd:\に置くとする)
Virtual Floppy Drive
HP USB Disk Storage Format Tool

1.CDドライブ(Q:)にWindows98のCDを入れる
2.DOS窓で "D:\>bbie q:" でWindows98CD内のブートイメージをd:\image1.binファイルとして取り出す
3.VFDを使って、image1.binファイルを仮想FDとする(aドライブが作成される)
4.USBメモリを挿す
5.HP USB Disk Storage Format Toolを使って、USBメモリを起動ディスクとしてformatする
6.USBメモリに必要なファイル(例えばghost.exeとか拡張子GHOのイメージファイル)をコピーする

作業はこんな感じです。で、早速DELLのパソコンにUSBメモリを刺して電源を入れ、F12を押してUSB Flash Memoryから起動する。すると、USBメモリ自体が4GBのハードディスクとして認識される。これは便利!もっと早くに知っていれば、もっと楽できたのになあ。

そうそう、いちいちWin98のロゴが出るのがうざいので、MSDOS.SYSを書き換えてやる必要があります。

[Options]
BootGUI=0
BootMenu=0
Logo=0

メールが送れない

夏休みが明けて二日目。メールが送れないことを指摘された。
メール受信はOK、webもOK、メールの送信だけができない。

smtpサーバがトラブっているのか?smtpサーバ側が新たなSPAM対策したのか?などと思ったが、よく考えてみるとbsmtp.dllというモジュールを使っての自動送信(2003/12/25参照)はまったく問題ない。うーん、おかしい。

川口工場「昨日からメールが送れません」
吉見工場「問題なくメールの送受信できてます」

ルータのフィルタ設定を確認してみるも問題なし
ルータのルート設定を確認してみるも問題なし
ルータ、ハブ等を再起動してみるも変化なし

で、smtpサーバにpingを通して見ると通らない。でもこれは「基本proxyサーバ経由じゃないとダメ」なので当然の結果。当然の結果なんだけど、通らない以前に名前の解決に失敗している。ってことはDNSサーバか!

ipconfig /all で見てみると、何故かDNSサーバのアドレスがおかしなこと(下16ビットが異なっている)になっている。なのでIPアドレスを解放してから再取得すると正しいDNSサーバに直った。

本来ならwebやメール受信にも等にも影響するはずが、メール送信以外はproxyサーバ経由なこと、proxyサーバの入ったPCは正しいDNSサーバアドレスになっていることで状況がややこしくなっていたようです。

で、じゃあなんでDNSサーバアドレスがおかしくなったのか。調べてみると、無線LANルータ(ルータ機能を殺してある)がなぜかルータモードで動き、DHCPも動いていた。これをブリッジモードに戻す(物理的なスイッチ)。まあ、いっか。

コメント欄がなぜか。。。

元々このcgiはコメント等の投稿は出来ないように設定してあります。でも今日ふと見てみると、なぜかコメントが8000件超。。。

書き込まれたコメントは表示されていないはずなので実害というほどのものはないのですが、海外からのもので全てみたいです。

で、この8000件超のコメントを消そうと思ったら、このcgiには一気に消す方法がないことが判明。一件ずつ選んで削除するには8000件は多すぎ。仕方ないのでコメントのログファイルを削除してみました。これできちんと新規投稿当ができるか動作確認を兼ねてこの記事を投稿してみます。

クラスBへの変更(吉見工場編)

さて、吉見工場のネットワークをクラスBへ移行させる作業を始めました。

0.ルータの設定ファイルを作成

1.吉見工場のPBXのVoIPボードのIPアドレス変更(84-05)
これは、pingにより変更直後すぐ反映されたことを確認(出来なかった、verの違い?)

2.吉見工場のPBXのIPアドレス&ネットマスクを変更(10-12)
変更しても反映されていないようなのでPBXを再起動(し忘れた?)

3.川口&吉見のPBXのネットワーキング設定を変更(10-27)
これは、内線通話のために他のPBXのIPアドレスを登録してあるので、それを変更している

4.サーバーPCのIPアドレスを設定

5.寮のルータを修正済み設定で再起動
6.PROXYサーバのクライアントリスト更新
7.サーバのC:\WINNT\system32\drivers\etc\lmhostsを変更

8.吉見工場のルータの設定変更&再起動
設定ファイルをPCにテキストで保存して、検索&置換で抜けがないことを確認して、それをルータに転送(転送が終わるとルータは自動再起動)

9.自宅&川口&塗装のIPsec設定を変更&再起動
再起動すると、自宅&川口&吉見&塗装が問題なくつながっていることが確認できた。

10.川口PBXと吉見PBXがつながっていることを確認
吉見のpbxを再起動し忘れたため、出来なかった。明日の朝再起動しなくては。。。

11.川口のFAXのアドレス帳変更
川口と吉見のFAXはIPで直接送受信を行なえるのでその設定を変更

さて、それ以外に明日やらなければいけないのは

ip子機のipアドレス変更
吉見コピー機の再起動
吉見PCのプリンタ設定変更
各製造設備のIPアドレス変更

なはずですが、何か抜けはないかな?

basic認証のページをvbから開く

vbからあるwebページを開くには

Dim tWeb As WebBrowser
Set tWeb = CreateObject("InternetExplorer.Application")
tWeb.Visible = True
tWeb.Navigate "http://www.ichipre.co.jp"

みたいな感じでできます。で、BASIC認証が設定されているページに対しては最後の行を

tWeb.Navigate "http://UID:PWD@www.ichipre.co.jp"

のようにすれば開くことができました。はい、過去形です。ずいぶん前ですが、セキュリティの関係から上記の書式は禁止になって使えなくなってしまいました(ちなみにこれは、一箇所レジストリを書き換えることで禁止を解けます)。

でも、これって結構困りますよね。でも大丈夫、調べたらちゃんと方法があるんですね。

tWeb.Navigate "http://www.ichipre.co.jp", , , , StrToBase64("UID:PWD")

上記のような感じです。ただし、StrToBase64関数は存在しないので作らないとダメですが。Base64については、wikipediaで調べました。話は逸れますが、wikipediaってホント便利ですよね。たまにウソが書いてありますが。

Const BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" & _
"abcdefghijklmnopqrstuvwxyz0123456789+/"
Function StrToBase64$(ByVal src$)

Dim tempDigit$, temp64$, mo&
tempDigit$ = StrToDigit$(src$)

temp64$ = DigitToBase64$(StrToDigit$(src$))
temp64$ = temp64$ & String$((4 - (Len(temp64$) Mod 4)) Mod 4, "=")

StrToBase64$ = temp64$
End Function
Function DigitToBase64$(ByVal src$)
Dim i&, ret$, c&

src$ = src$ & String$((6 - (Len(src$) Mod 6)) Mod 6, "0")
For i = 1 To Len(src$) Step 6
c = DigitToInt("00" & Mid$(src$, i, 6)) + 1
ret$ = ret$ & Mid$(BASE64, c, 1)
Next

DigitToBase64$ = ret$
End Function
Function StrToDigit$(ByVal src$)

Dim i&, c&, ret$

For i = 1 To Len(src$)
c = Asc(Mid$(src$, i, 1))
If c >= 0 Then
ret$ = ret$ & IntToDigit$(c)
Else
ret$ = ret$ & IntToDigit$((c And -256) / 256)
ret$ = ret$ & IntToDigit$(c And 255)
End If
Next
StrToDigit$ = ret$
End Function
Private Function IntToDigit$(ByVal x&)
Dim i&, ret$

For i = 7 To 0 Step -1
If (x And 2 ^ i) = 0 Then ret$ = ret$ & "0" Else ret$ = ret$ & "1"
Next
IntToDigit$ = ret$
End Function
Private Function DigitToInt&(ByVal x$)
Dim i&, ret&

For i = 1 To 8
If Mid$(x$, i, 1) = "1" Then ret = ret + 2 ^ (8 - i)
Next
DigitToInt = ret
End Function

おとくライン申し込み完了

さきほど、おとくラインの申し込みを致しました。吉見工場のISDN一本分、「SBモバイル定額」付きです。

今回の申し込みにあたってネットでいろいろと評判を検索したのですが、法人で利用しているっていう事例が全然ヒットしません。そうなると、さすがにいきなり本社側で導入するってのも微妙だなあ、ということで吉見工場で導入なんですが、トラブルがあるとすれば開通時みたいで、その原因は「局から遠い」ことでノイズが入る等みたいです。なので、うん、きっとトラブルはないに違いない。

申し込んでから1~2ヶ月開通までにかかるそうなのですが、次におとくラインについて書き込むのがトラブルに関する内容じゃないといいんですが、どうでしょうね。

おとくライン

現在、職場の電話回線は

[川口本社工場]
4通話:NTT回線でマイラインがプラチナライン(ISDN、FAX番号含む)
2通話:NTTのひかり電話をもっと安心プラン+ダブルチャネル

[吉見工場]
2通話:NTT回線でマイラインがプラチナライン(ISDN)
1通話:NTT回線でマイラインがプラチナライン(FAX用、アナログ)

[塗装工場]
1通話:IP電話
1通話:NTT回線でマイラインがプラチナライン(アナログ、FAX用)

となっています。ちなみに工場間の内線通話はIPに乗せているので上記とは無関係に通話できます。で、今回検討しているのは「おとくライン」。これはソフトバンクテレコム(元日本テレコム)のサービスで、マイラインとは違い基本料金部分から完全にNTTと決別する種類の回線です。基本料金はNTTより安く、通話料金はIP電話であるひかり電話と同等。で、さらにすごいのが

「SBMの携帯電話への発信が無料(1~21時)」

もう、孫正義さんのやることむちゃくちゃです。何でも無料にして商売になるのか他人事ながら心配です。しかも、法人名義でSBM携帯を契約すると、その携帯から同じ法人名義のおとくラインへの通話も無料になっちゃいます。で、どちらもオプション料金はゼロ円で、かわりに2年間の縛り(解約金数千円)があります。

おとくラインに変更すれば基本料金もちょっと安くなり、基本的な通話料は最安値なうえにSBM携帯への通話が無料となり、コストアップとなる要素はありません。唯一の問題は「トラブルがおきないのか」という事です。NTTのひかり電話が大規模トラブル発生で問題になったのは記憶に新しいですが、おとくラインはIP電話ではないので大丈夫なんではないかとも思いますが、マイラインと異なり簡単に戻すことができないのがネックですね。

ネットを調べても特別トラブルが多いというわけでもなさそうだし、でも逆に「法人でバリバリ使っているけど全然問題ありませんよ!」といった情報もまったくなく、調べても調べても安心できません。

さて、どうしようかな。。。

UPS

先週末は変電所のメンテナンスのため、本社の電源が停電になりました。4時間ほどの停電だということで、通常なら動かしっぱなしのサーバーも停止させることになります。

サーバーは全部で3台、タワー型2台とノートPC1台で、タワー型にはUPS(バッテリー)をつけているので予想外の停電でもバッテリー駆動後に自動的に電源を切ってくれるため安心なのですが、そうはいっても電源が切れていればただのジャマな箱、どうせなら復旧後に自動的に電源が入って欲しいですよね。

電源を入れる方法としては

1.コンセントからの給電が始まると自動的に電源入
2.LAN経由で電源入を指示

の二つでしょう。ここで「おいっ!おまえは今まで設定していなかったのか?」と言われてしまいそうですが、「はいっ!していませんでした」。いや、今まで全然自動的にシャットダウンすることなんてなかったので。オフコンからPCベースに変えたのは確か2000年問題が絡んでいたので、すでに丸8年、現在のUPSは3代目にもかかわらず。。。

で、とりあえずUPS管理ソフトを見ると、ちゃんとありました、「Wake ON LAN設定」の項目が。早速サーバーのMACアドレスを登録して設定を保存、起動時にサーバーに電源入の指示が飛ぶようにし、サーバーのBIOS画面でWake ON LANをONにして準備完了。

さて、サーバーの電源を切った状態でUPSのコンセントを抜いて停電状態に、その後コンセントを入れてみると、、、うんともすんとも言わないサーバー。そうかあ、停電から復旧しただけではパケットは飛ばないんだな、じゃあ、UPSの電源を切ってみよう。。。やっぱりうんともすんとも言わないサーバー。

ちくしょう、いいよいいよ、電源なんてボタン一個押せばいいんだよ。などと思いながらとりあえず現実逃避、帰宅してしまう。うーん、なんでパケットが飛ばないんだろうなあ、、、あれっ?パケットを飛ばすって、UPSはネットワークにつながっていないぞ。UPS以外の電源が切れている状態では、どうやってもネットワークに電源入のパケットなんて飛ぶわけないじゃん。じゃあこのWake ON LANってUPSに絡んでどう使うものなんだ?停電によってシャットダウンしたサーバーの電源を入れる役には立たないってことか。

ということで、結局Wake ON LANは手動で電源を入れるためのものなのでしょうか。そのうち機会があったら自宅から電源を入れるテストでもしてみましょう。

ということで、とりあえず現状のまま。。。

ページ移動