[JP1/Cm2/NNM]管理ノード(オブジェクト、ホスト、サーバ)を追加する方法

JP1/Cm2/NNMのマップに管理ノード(オブジェクト、ホスト、サーバ)を追加する方法
画面に騙されやすいので、忘れないうちにメモ。
メニューバー「編集」→「オブジェクトの追加」ではない!
loadhostsコマンドで追加する。(なんでこれだけコマンド??)
hostsファイル(/etc/hostやWINDOWSsystem32driversetchosts)と同じ書式のファイルを用意して、そのファイルを loadhostsコマンドに読み込ませる。こうすることによりマップに管理ノード(オブジェクト、ホスト、サーバ)を追加できる。
hostsファイルと同じ書式のファイル(仮にhostlist.txt)の内容

?192.168.1.10? hogehoge1
192.168.1.11?? hogehoge2

コマンドプロンプトでloadhostsコマンドを実行

>? loadhosts -m 255.255.255.0 hostlist.txt

見てのとおり-mオプションの値はサブネットマスク。
この後、netmonの再起動を忘れないこと

> ovstop netmon
> ovstart netmon

追加される場所はルートの「インターネット」から辿れる、登録したホストと同じネットワークセグメントのサブマップ 。独自でマップを作成している場合は、このサブマップからオブジェクトをコピーして独自マップにペーストすること。


追記:
対話式で登録する場合は、

> loadhosts -m 255.255.255.0 -v

[SQL Server] データソースのテスト接続だけエラーで失敗する

SQL Server のODBC データソースの「テスト接続」がエラーで失敗するときの解決方法(原因?)の一つ。
▼ 事象
上記どおり、データソースの「テスト接続」をしたときに、

?「ユーザー ” のログインに失敗しました。理由 : SQL Server の信頼関係接続に関連付けられていません。」

というメッセージが表示されエラーに接続に失敗する。 テスト接続に失敗しているのに何故か他のサーバー(マシン)からのデータソース接続は成功する。
▼ 原因
おそらくAdministratorユーザでテストしていると思うが、この Administratorの認証に失敗していることが原因。
ローカルのユーザなのに何故??
それは、ローカルなのに外部からの接続になっているから。
ユーザの認証はNTLM認証で、Administratorユーザなら「<コンピュータ名>Administrator」でユーザを探す。この「 コンピュータ名」が”ローカル”ではない外部をさしているのだ。
このようになる場合は、hostsファイル (C:WINDOWSsystem32driversetcにある)に、以下のようなエントリーがある可能性が高い。

?127.0.0.1 ?? localhost
:(省略)
192.168.1.1? <コンピュータ名>

もうお気づきだと思うが、<コンピュータ名>が127.0.0.1でないので外部からの接続扱いになっていて、当然ローカルのユーザを探しにいかないので認証エラーになる。
▼ 解決方法
<コンピュータ名>は127.0.0.1のエントリーに登録する。
hostsファイル

?127.0.0.1 ?? localhost <コンピュータ名>

[SQL Server]Agent(エージェント)の実行ユーザ(サービスアカウント)の権限

SQL Server Agent サービスを起動しようとして、失敗(エラー)になるときの対処方法。
ずばり、実行ユーザ(サービスアカウント)の権限不足。(権限不足っていうメッセージ出たっけ??)
OSとしてユーザに対する権限は、実行ファイルにさえアクセスできれば低くてもよい(言いすぎかもしれない・・・)。
次がポイント!
SQL Serverに対してのユーザ権限として、サーバーロール「sysadmin」権限が必要。
この権限がないと、Agentサービスは起動できない。
サービスアカウントを「ローカルシステムアカウント(LocalSystem)」にしているなら、「NT AUTHORITYANONYMOUS LOGIN」にサーバーロール「sysadmin」権限を与える。非常に怖くて気持ち悪い感じだが・・・
っていうか、「ローカルシステムアカウント」って、実際OS上のどのユーザ???

[Linux]ネットワークインターフェースの通信モード(全二重/半二重/オートネゴシエーション)確認方法

Linuxでの、ネットワークインターフェース(NIC)の通信モード(全二重/半二重/オートネゴシエーション)確認方法
以下のコマンドを実行

# ethtool? <インターフェース名(eth0など)>
Settings for eth0:
Supported ports: [ TP MII ]
Supported link modes:?? 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Supports auto-negotiation: Yes
Advertised link modes:? 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
Advertised auto-negotiation: Yes
Speed: 100Mb/s????????????? ←リンク速度
Duplex: Full ←通信モード(全二重/半二重)
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on ←オートネゴシエーションの有効
Supports Wake-on: pumbg
Wake-on: d
Current message level: 0x00000001 (1)
Link detected: yes

オートネゴシエーションを有効にしたいなら

# vi /etc/sysconfig/network-scripts/ifcfg-<インターフェース名>
ETHTOOL_OPTS=”autoneg on”??? ←変更または追加
# service network restart

とある事情で、オートネゴシエーションを無効にして、100Mbps半二重固定で通信させたいなら

# vi /etc/sysconfig/network-scripts/ifcfg-<インターフェース名>
ETHTOOL_OPTS=”speed 100 duplex half autoneg off”??? ←変更または追加
# service network restart

上記(100Mbps半二重固定)を一時的に反映させたいだけなら

# ethtool -s <インターフェース名> speed 100 duplex half autoneg off

(HP-UX)LVM

HP-UXでのLVM操作方法。
ちょっと癖を感じるのでここにまとめてみる。
PV作成

# pvcreate? /dev/rdisk/disk000? #ここは物理ディスクのキャラクタデバイス

VG作成

# mkdir /dev/VG名
# mknod /dev/VG名/group c 64 0xhh0000? # メジャーは64で固定.マイナーは16進数で指定。一般的に上二桁はVG用、下4桁はLV用(全てユニークであること)
# vgcreate [-s エクステントサイズ] /dev/VG名 PVパス #ここはブロックデバイス

(後でvgimportする場合でもmkdir mknodを実施すること)
LV作成

# lvcreate [ -i ディスク数 -I ストライプサイズ] -n LV名 VGのパス #ここもブロックデバイス

おまけ・ファイルシステム作成

# newfs -F vxfs /dev/VG名/rLV名 #ここはキャラクタデバイス

(HP-UX)ネットワークの設定

HP-UXではネットワーク関連の設定は/etc/rc.config.d/netconfという1つのファイルで一元管理されている。シェル変数の配列を使用して、複数インターフェースを管理しているのがポイント。
ここから以下に記載する設定は全て/etc/rc.config.d/netconfの中身。

# vi /etc/rc.config.d/netconf

自身のホスト名

HOSTNAME=”ホスト名

ネットワークインターフェースの設定

INTERFACE_NAME[0]=”lan0″ #デバイス名は事前にlanscanコマンドで取得しておくこと
IP_ADDRESS[0]=”192.168.1.1″
SUBNET_MASK[0]=”255.255.255.0″
BROADCAST_ADDRESS=[0]=””
INTERFACE_STATE[0]=”” #サービス開始時にNICを有効にするか無効にするか
DHCP_ENABLE[0]=0
INTERFACE_NAME[1]=”lan1″
IP_ADDRESS[1]=”192.168.2.1″
SUBNET_MASK[1]=”255.255.255.0″
BROADCAST_ADDRESS=[1]=””
INTERFACE_STATE[1]=””
DHCP_ENABLE[1]=0

デフォルトゲートウェイ、静的経路(ルーティング)

ROUTE_DESTINATION[0]=”default”
ROUTE_MASK[0]=””
ROUTE_GATEWAY[0]=”192.168.1.250″
ROUTE_COUNT[0]=”1″ #ゲートウェイがリモートなら「1」、ローカルインタフェースなら「0」
ROUTE_ARGS[0]=””
ROUTE_DESTINATION[1]=”172.1.1.123″
ROUTE_MASK[1]=””
ROUTE_GATEWAY[1]=”192.168.3.250″
ROUTE_COUNT[1]=”1″
ROUTE_ARGS[1]=””

変更した設定を有効にするには、ネットワークサービスを再起動する

# /sbin/init.d/net stop
# /sbin/init.d/net start

(WINDOWS VISTA) sambaサーバー( or NAS)にログインできない!

○事象
Windows VISTAにて、sambaサーバーまたはNAS(landiskとか)にログインできない。「ログオンに失敗しました」というメッセージが出る。
○原因
NASで使われているsambaサーバーが、 Windows VISTAのデフォルトユーザ認証方式”NTLM Ver2″に対応していないため。
○解決方法
LAN Manager 認証レベルを変更する。
コントロールパネル(クラシック表示)→管理ツール→ ローカル セキュリティ ポリシー(コンテキストメニュー(右クリック)で管理者として実行

ローカル ポリシー → セキュリティオプション → ネットワーク セキュリティ: LAN Manager 認証レベル

「LM と NTLM を送信する – ネゴシエーションの場合、NTLMv2 セッション セキュリティを使う」(途中で表示が切れてます)を選択。「OK」をクリック

IPVS-NATでリアルサーバーから応答がない事象の解決方法

○ 事象
IPVS(LVS)(NAT/マスカレード構成)環境にて、端末からサービスIPにアクセスするとサーバーからの応答がない。
tcpdumpで調べると、応答パケットがリアルサーバーからアクセス元端末に戻っておらず、さらに調べると、IPVSを構築しているサーバーで応答パケット(戻りの通信)が破棄(遮断)されている。

□ アクセス端末
↓|
■×IPVS・ファイアーウォール
↓|↑
□ リアルサーバー

○原因
ファイアーウォールがIPVSを経由した応答パケットを認識していない!
ファイアウォールのルールが

iptables -P FORWARD DROP

iptables -A INPUT -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A FORWARD -i eth0 -p tcp –dport 80 -j ACCEPT
iptables -A INPUT -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -m state –state ESTABLISHED,RELATED -j ACCEPT
(eth0・・・WAN(入り口) eth1・・・LAN(リアルサーバー側)

であったりすると、通常のルーティングならファイアーウォールがアクセス先にHTTPアクセスがあったこを記憶して転送し、の応答が戻ってきたときにアクセス端末側に返す。
しかし転送にIPVSを噛ますとアクセスがあったという記憶をしていないらしい。
※正確に言うと、記憶している場所が違うので情報を取り出せない。
端末→IPVS→リアルサーバー・・・INPUTチェイン
端末←IPVS←リアルサーバー・・・FORWARDチェイン
なので、応答パケット(戻りのパケット)のダイナミックフィルタリングで許可がでず、PVSを構築しているサーバー上でパケットが破棄されてしまう・・・
詳細はこのURLのイントロダクション参照(英文)
http://www.austintek.com/LVS/LVS-HOWTO/HOWTO/LVS-HOWTO.filter_rules.html
※要訳
IPVS-NATはnetfilter(iptables)の仕様上、経路追跡に問題がある。
カーネルにパッチを適用することによって問題が解決するらしい。
またはDSR構成にする。
と言われても、素のカーネルをコンパイルして(しかもパッチ適用)使用するのはすがに怖い!
かといてDSR構成にもできない(並行して、SSL証明書などの問題で
PoundやApacheをつかってURLベースのバランシングをしているなど・・・)
ではどうするか?
○解決方法
ダイナミックフィルタリングができないなら、静的フィルタリングで無理やり許可する!
IPVSサーバー上で、リアルサーバーからの転送通信を送信元のポートを特定して許可る。
たとえばSMTPなら

iptables -A FORWARD -i eth1 -o eth0 -p tcp –sport 25 -j ACCEPT
(eth0・・・WAN(入り口) eth1・・・LAN(リアルサーバー側)

これでめでたく開通。
セキュリティー上ちょっと怖いが・・・

qmail-scanner UTF-8 対応

qmail-scanner をUTF-8に対応させる方法
元々はEUC-JPにしか対応していないので、無理矢理./configureを実行すると以下のようなメッセージが表示させる

# ./configure (省略) –lang ja_JP.UTF-8 (省略) –add-dscr-hdrs yes –install
***** NOTE ******
Qmail-Scanner doesn’t have language translations for ja_JP.UTF-8,
– so defaulting to english…

○対処方法
UTF-8用のファイルをEUC-JPから変換して作成する。
以下のコマンドを実行

# cd qmail-scanner-2.02
# mkdir ./locale/ja_JP.UTF-8
# for file in $( ls ./locale/ja_JP.EUC/* )
# do
# iconv -f euc-jp -t UTF-8 ${file} | tee ./locale/ja_JP.UTF-8/${file##*/}
# done

./configure実行時に以下のオプションを指定

./configure (省略) –lang ja_JP.UTF-8 (省略)