滅多にないのですが、SLES でサーバ運用しているシステム上で 「Office 系のアプリケーションを使いたい」というケースがあります。よくある例としては、例えば、マニュアルのネタを作成したいとか、スプレッドシートから、csv テキストでのエクスポートをしたいとかのケースでしょうか。そんな時に役立つのが ”SUSE Linux Enterprise Workstation Extension” です。


詳細はこちら

SUSE Linux Enterprise Workstation Extension

ダウンロードはこちら

SLE-12-SP3-WE-DVD-x86_64-GM-DVD1.iso

※ 二枚ありますが、二枚目はソースコードです。

ISOファイルをメディアに焼くなり直接 ISO をリポジトリに登録します。

a0056607_20023868.jpg


YaST > Software > Software Management から、"Lible..." とか "gimp" などのキーワード検索をします。インストールしたいアプリケーションをチェックして Accept すると、インストールが自動的に始まります。

a0056607_20030479.jpg

gnome Desktop を開くと、"Applications" にアイコンが追加されます。 "Add Desktop" していれば、 "nautilus Desktop" からもアクセスできます。

a0056607_20033068.jpg

# nautilus &

a0056607_20035404.jpg

# soffice &

で LibleOffice を起動してみました。

a0056607_20041680.jpg



メニューを日本語に切り替えます。

Tools > Options > Language Settings > より "Japanese" を User interface にセットして、アプリケーションを再起動

a0056607_20044287.jpg

メニューが日本語化されました。ただし、システム言語が English なので IME は使えないようです。SUSE Enterprise Desktop (SLED) ならどうなるか、これはまたの機会に試してみたいところです。

a0056607_20050593.jpg

ついでに gimp も使ってみましょう。

# gimp &

a0056607_20054258.jpg

※ gimp は Edit > Preferences > Language から日本語に変更できそうなのですが日本語化パッケージが含まれていないので、日本語メニューが使えません。2.8.18 Portable 版ならできるようです。

--

サーバーの実運用ではあまり利用方法がないでしょうが、スプレッドシートから、何がしかのデータを csv エクスポートしたり、画像のハードコピーを取って evernote にアップデートするとか、チョコチョコした目的で、「やっぱりオフィスアプリケーションが欲しい」という場合には便利でしょう。

ある意味では、単一のバイナリファイルで、複数ユーザが複数セッションで利用できる、Linux/Unix 系OSの特徴でもあり、マルチタスクシングルユーザの Windows OS とは違い、シンクライアント、マルチユーザアプリケーションとして、アプリケーションコンテナの様に少ないリソースで利用できるのはちょっと面白いな、と感じました。

今回の環境は英語システムなので、日本語入力ができない事、また gimp の日本語拡張パッケージがない事など、不満な点はありますが、値段が高く、ライセンスが厳しい Microsoft 製 Office Suite より気にせず使えて、しかもマルチセッションで使える点など、うまく利用方法を考えると、サーバー内部で完結しており、情報漏えいなどのリスクも少ない所は、面白い点がありました。



- Keyword -
SUSE Linux Enterprise Server, SUSE, SLES, Office Application, LibreOffice, gimp2, インストール




[PR]
by islandcenter | 2017-10-11 20:08 | SUSE | Trackback | Comments(0)

How to Prevent or Disable to "REBOOT" with "Ctrl+Alt+Del" by accidentally miss hit key on SLES12, openSUSE.
SUSE Linux Enterprise Server 12, openSUSE で Ctrl+Alt+Del キーで誤ってリブートさせないようにするには

誤って、"Ctrl+Alt+Del” という萬金丹の様な万能の薬が PC 用 OS には付いてきます。大抵の Linux のディストリビューションでは、この操作は Reboot に割り当てられます。でも、サーバーで運用して、"間違ってやっちゃった" ら大変な事になるでしょう。構内電話は鳴るわ、ナイフとフォークは飛び交うわ、愚痴の連続と誰かの首が飛ぶわ、ではたまったものではありません。そこで、通常はサーバー運用では、無効にするケースが多いと思います。

SLES12 より initd から systemd にサービス管理が変わった事で、 /etc/inittab が無くなりました。
SLES11 までは inittab の ctrlaltdel の行を comment out して再起動すればよかったのですが

SLES11:/etc # cat inittab | grep ctrl
# ca::ctrlaltdel:/sbin/shutdown -r -t 4 now
SLES11:/etc #

SLES12 では、inittab 自体がありません。その代わり、 reboot.target ファイルにエイリアス ctrl-alt-del.target が記述されています。


SLES12SP3:~ # cat /usr/lib/systemd/system/reboot.target
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Reboot
Documentation=man:systemd.special(7)
DefaultDependencies=no
Requires=systemd-reboot.service
After=systemd-reboot.service
AllowIsolate=yes
JobTimeoutSec=30min
JobTimeoutAction=reboot-force
[Install]
Alias=ctrl-alt-del.target
SLES12SP3:~ #

- 対策 -

Ctrl+Alt+Del を無効にする方法について opensuse のフォーラムにそのものズバリの回答がありました。

Thread: Alt + Ctrl + Del again

- Default -

初期値では ctrl-alt-del.target ファイルはありません。

SLES12SP3:~ # ls /etc/systemd/system/ctrl-alt-del.target -al
ls: cannot access '/etc/systemd/system/ctrl-alt-del.target': No such file or directory
SLES12SP3:~ #

そこで yast から Ctrl+Alt+Del を無視するように変更します。

# yast2 &
> Security and Users > Security Center and Hardening > "Boot Settings" > "Interpretation of CtrL+Alt+Del " : "Reboot" --toggle--> "Ignore"

a0056607_18251220.jpg


set to "Ignore" > "OK"

a0056607_18254112.jpg

# yast (from text console)
> Security and Users > Security Center and Hardening > "Boot Settings" set to "Ignore" > "OK"

a0056607_18261915.jpg

デバイス /dev/null へのリンクが作成されます。

SLES12SP3:~ # ls /etc/systemd/system/ctrl-alt-del.target -al
lrwxrwxrwx 1 root root 9 Oct 9 16:57 /etc/systemd/system/ctrl-alt-del.target -> /dev/null
SLES12SP3:~ #



再起動は必要ありません。結果は即座に反映されます。Reboot is NOT needed. The results are immediately reflected.

単に、このリンクがあるかないかで判断するようです。試しにこの ctrl-alt-del.target ファイルを削除してみると、YaST でもデフォルトの ”Reboot" に戻っていました。





-Keyword-
SUSE Linux, SLES12, opensuse, Ctrl+Alt+Del, disable to reboot, prevent to reboot, 誤って再起動させてしまう, How to, YaST,ctrl-alt-del.target ,Ctrl+Alt+Del を無効, 無視,




SLES12SP3:~ #

[PR]
by islandcenter | 2017-10-09 18:30 | SUSE | Trackback | Comments(0)

ここでは Linux, Windows のシャットダウン、リブートの方法について説明します。

1) .Linux のシステムを停止、電源遮断する

Linux システムのシャットダウン、再起動コマンドは shutdown コマンドを
実行します。

- 参考ページ -

シャットダウンして、電源遮断(Halt)をするには

# shutdown -h 0 または
# shutdown -h now

シャットダウンして、再起動(Reboot)をするには

# shutdown -r 0 または
# shutdown -r now

-h は halt, -r はリブートの意味です。0 は「0分後」つまり今すぐの意味です。

SLES11の場合

SLES11sp4:~ # shutdown --help
shutdown: invalid option -- '-'
Usage: shutdown [-akrhHPfnc] [-t secs] time [warning message]
-a: use /etc/shutdown.allow
-k: don't really shutdown, only warn.
-r: reboot after shutdown.
-h: halt after shutdown.
-P: halt action is to turn off power.
-H: halt action is to just halt.
-f: do a 'fast' reboot (skip fsck).
-F: Force fsck on reboot.
-n: do not go through "init" but go down real fast.
-c: cancel a running shutdown.
-t secs: delay between warning and kill signal.
** the "time" argument is mandatory! (try "now") **

SLES12 の場合

sles12sp3:~ # shutdown --help
shutdown [OPTIONS...] [TIME] [WALL...]

Shut down the system.

--help Show this help
-H --halt Halt the machine
-P --poweroff Power-off the machine
-r --reboot Reboot the machine
-h Equivalent to --poweroff, overridden by --halt
-k Don't halt/power-off/reboot, just send warnings
--no-wall Don't send wall message before halt/power-off/reboot
-c Cancel a pending shutdown
sles12sp3:~ #



2). Windows のシステムを停止、電源遮断する(特にリモートデスクトップ)

通常にスタートボタン(田ボタン)からシャットダウン、リブートします。

Windows Server 系ならリモートデスクトップでも「田ボタン」から、シャットダウン、再起動のメニューが使えますが、Windowsクライアント系(VDIデスクトップ)の場合、リモートデスクトップから、再起動のメニューが出ません

もしWindows のリモートデスクトップを使ってシャットダウンする場合はDOS プロンプトを開いて

> shutdown /s /t 0 (シャットダウン)
> shutdown /r /t 0 (再起動)

か、

必ずフルスクリーンモード alt+f4 キーでシャットダウンのダイアログが出ます。

a0056607_13562995.jpg

こちらをご参考ください。



Windows2008 系を KVM/XEN で仮想化している場合、「シャットダウンしています...」が60秒以上かかる場合、あるいは、シャットダウンし切れない場合があります。

動きがない場合 virt-manager & から Force Off しても構いません。

あるいはコマンドラインで

# virsh(あるいは xm or xl ) destroy my-vmachine-Name_or_vmID_num

で強制終了させます。


3).仮想化ハイパーバイザホストで fsck する場合がある

なお、長期連続運用後、再起動させた場合、fsck プロセスが走る場合があります。

これは長期間 fsck をしていない場合に必ず行う checkdisk の様な物なので、進捗具合を見ながら放置してください。

数分から数十分かかる場合がありますので、慌てて電源を切らない事です

OS起動時のfsckのチェック間隔 (※SLES11の場合)

Superblock があるパーティションで

sles11sp4:~ # tune2fs -l /dev/sda9 | grep interval
Check interval: 15552000 (6 months)
sles11sp4:~ #
sles11sp4:~ # tune2fs -l /dev/sda8 | grep -i mount
Last mounted on: <not available>
Default mount options: (none)
Last mount time: Fri Sep 29 13:39:19 2017
Mount count: 44
Maximum mount count: -1

デフォルトでは6か月以上 fsck をしない ext3 パーティションは強制的に fsck されるようです。マウント回数は -1 なので無限大の様です。強制的に fsck させない場合は shutdown コマンドで

-f: do a 'fast' reboot (skip fsck).

オプションを使います。

※ このケースは SLES11 の ext3 フォーマットでのデフォルトです。SLES12 では BtrFS と XFS をデフォルト使用しませんのでこの限りにあらずです。



SUSE SLES11, ハイパーバイザーのメンテナンス、Linux, Windows, シャットダウン、再起動



[PR]
by islandcenter | 2017-10-03 14:00 | SUSE | Trackback | Comments(0)

SLES12 より Squid プロクシが YaST からインストールできるようになったので、SLES12 SP3 で YaST インストーラからインストール、設定、起動までをやってみました。

- 参考 -

SUSE 11 で Squid3 を導入、設定

YaST > Software Management で調べると SLES12 sp3 で標準装備されているのは Squid 3.5 の様です。

a0056607_12252656.jpg

- Squid Proxy のインストール -

yast(yast2) より NetWork Service > Squid を Open します。YaST インストーラが起動し、自動的にインストールが開始されます。

a0056607_12261181.jpg


Start-Up : When Booting に変更

a0056607_12264319.jpg

HTTP Port は 3127 がデフォルトです。 ここでは 8080 に変更します。

a0056607_12270217.jpg

デフォルトでは最大キャッシュサイズ ( Max Object Size ) が小さいので大きな値を設定します。例えば Memory Cache 128 MB, Max Object Size 256Mb などです。Squid 専用サーバーであれば、これくらい与えても良いでしょう。

a0056607_12272542.jpg



Cache Memory と Max Object サイズを設定します。

キャッシュディレクトリのサイズは実装されたメモリ、ディスクのサイズに合わせて適度な数字を設定してみてください。また、キャッシュディレクトリは "/" ルートと違うパーティションに作成するのが理想です。特に物理的なハードディスクが違うパーティションを与えると、効果が上がります。SSD を使って割り当てると "爆速キャッシュ" になります。

a0056607_12281144.jpg
一旦、Squid キャッシュを再起動します。

確認くん

で確認してみました。
a0056607_12291638.jpg

Squid のバージョンが漏れています。

- 匿名性の確保 -

/etc/squid.conf を書き換え、次の行を追加しました。

visible_hostname unknown
forwarded_for off
request_header_access X-FORWARDED-FOR deny all
request_header_access Via deny all
request_header_access Cache-Control deny all

Squid を再起動して、もう一度確認くん


a0056607_12295289.jpg

Squid のバージョンを隠す事が出来ました。

- Squid cachemanager の設定 -

Squid cachemgr.cgi スクリプトが、Squid のインストールと同時に /usr/lib64 の下にコピーされます。これを /srv/www/cgi-bin の下にコピーします。

また apache2 がインストールされていなければ Apache2 をインストールしてください。

SUSE Linux (SLES12) で apache2 HTTPサーバー と PHP スクリプトのインストール

sles12sp3:~ # find / -name cachemgr.*
/usr/share/doc/packages/squid/scripts/cachemgr.readme
/usr/share/man/man8/cachemgr.cgi.8.gz
/usr/lib64/squid/cachemgr.cgi
/etc/squid/cachemgr.conf
/etc/squid/cachemgr.conf.default
sles12sp3:~ #
sles12sp3:~ # cp /usr/lib64/squid/cachemgr.cgi /srv/www/cgi-bin
sles12sp3:~ #

/etc/squid/cachemgr.cfg の localhost 行にポート番号(:8080)を追加しデフォルト 3128 から変更します。

sles12sp3:~ # vi /etc/squid/cachemgr.conf

: 編集中

sles12sp3:~ # cat /etc/squid/cachemgr.conf | grep localhost
localhost:8080
sles12sp3:~ #

ブラウザから cgi を開き "Cache Server" を トグルボタンで localhost:8080 に設定して "Continue" します。


a0056607_12324146.jpg


"Continue..."

a0056607_12332764.jpg

"Cache Clients:” のリンクを開くと、キャッシュのヒット率、ヒット数が表示されます。

a0056607_12340971.jpg
キャッシュのヒット率、ヒット数は、"ヒットしたキャッシュの量" を表すものではない事に注意してください。効率が良いキャッシュサーバーは、どれだけ、"トラフィック量" を捌いたかが重要です。実際、キャッシュ量は Squid キャッシュディレクトリの量を du コマンドなどで定期的に測って見るべきでしょう。

sles12sp3:~ # cd /var/cache/squid/
sles12sp3:/var/cache/squid # du -h
2.8M ./00/00
4.1M ./00/01
0 ./00/02

 : 中略

0 ./0F/FF
0 ./0F
6.9M .
sles12sp3:/var/cache/squid #

キャッシュは様々な理由で壊れたり、 Squid 自身がクラッシュする可能性もあるので、cron でキャッシュ最大サイズになる前に定期的に squid を停止させて、キャッシュディレクトリ全体を削除して再起動するのが良いでしょう。

実際の Squid の効率を調べる方法はこちらをご参考にしてください。

squid の効率をチェックして、キャッシュをクリアする

--
Squid の Local Cache は "効果がない" という意見もありますが、Cache サーバーを導入することで、インターネットの出入り口が交通整理されるため、混雑した環境では、ブラウザの動作が安定する場合があります。また、「遅い」と思う人ほど、最初のキャッシュミスヒットなので、遅いのは当たり前なんですね。

最近は動的コンテンツが多いため、あまり効果が分かりにくいのも事実です。

まぁ高速道路で "渋滞の中、加速したり止まったりで平均 40Km/h"で走るのと、"混んでいても 40Km/h で定速で安定して走っている"との違いのようなものなのですが、自動車の運転と違って、通信は目に見えないので、判りにくいのもよくわかります。

一人でも多くのユーザが利用できるようにすれば、静的コンテンツのキャッシュ効果が表れてきます。

「インターネットがブラウジングが遅い」というのは、相手サーバーとの距離でもありますし、多くはブラウザ内部のキャッシュを処理する使っているPCの性能の問題の様な気がします。相手サーバーとの間の MTU は経路のルータで 1,500 バイトに分割される事を忘れてはいけません。大抵は 1.5Kb 以上の画像などのコンテンツがあれば、やり取りを地球七周半/sec で経路中の装置のオーバーヘッドの影響を受けながら「行ったり来たり」しているのです。

また、Squid の負荷状態を様々なツールで分析できれば、ネットワークの実効容量が測れるので、その固定回線への固定投資は効果があるのかどうかの判断材料にもなります。



- Key Word -

SUSE Linux, SLES, SLES12, SLES12 SP3, Squid3.5, YaST, インストール, 導入, 設定


[PR]
by islandcenter | 2017-09-30 12:42 | SUSE | Trackback | Comments(0)


SUSE Linux Enterprise Server 12 Support Pack 3 (SLES12sp3) が 2017/8 にリリースされたので、インストールしてみました。ここではインストールの流れを見てゆきます。

- インストールのはじまりはじまり -

まず DVD からブートアップ > "Installation" を選びます。

a0056607_07110101.jpg

ライセンス同意画面と、キーボード、言語の選択です。

Language: English
Keybord : Japanese

を選び、日本語 106 キーで特殊キーや NUM Lock キーが押されていないかを "Keyboard Test" エリアで確認します。

※ いつものことですが、 Language : Japanese も選べますが、とても意味不明でステキなニッポン語のメニューになるため、SLES は常に第一言語 English 第二言語 Japanese を選んでいます。また、サーバーのコンソールはほとんどが英語ですし、YaST を使う場合の ALT+ショートカットキーが使いづらくなるので、日本語は優先言語としません。

License Agree をチェックして次へ

a0056607_07121664.jpg


アクティベーションの設定です。ここをチェックすると、インターネットに接続に行き、アクティベートされてしまうので、いつも Skip しています。リポジトリも登録されるため、細い回線環境だと、インストレーション作業に時間がかかるため、スキップして、ある程度チューニングした後にアクティベートして、アップデートを行っています。

a0056607_07133246.jpg

追加プロダクトです。通常は何もないので Add On Product は何もセットせず次へ

a0056607_07141729.jpg

デフォルトで入れるか XEN または KVM のハイパーバイザー起動とするかの選択です。ハイパーバイザーとして導入すると、アクティベートや 1 Click Install に必要なブラウザや yast2 や virt-manager などのGUIツールが入らないので、ここでは Default 導入して、後に ハイパーバイザーだけを導入しています。


a0056607_07150204.jpg


ボリューム定義です。マニュアルによると jeOS で 1.0Gb、最小のX環境で1.4Gb, フルインストールで 8.0Gb 程度のディスク容量が必要です。ただし SLES12 より "/" ルートパーティションは Default : BtrFS でスナップショットを取れるため、スナップショットからロールバックを使う場合は 使用量の倍の容量を確保することが推奨されます。そのまま鵜呑みすると 16G は欲しいネ、という事ですが、 ロールバックする対象はそれほど多くないですし、システムをロールバックするという事も滅多にありませんから 10Gb もあれば余裕でしょう。

SUSE Linux Enterprise Server 12 SP3 導入ガイド

なお、パーティションを分けた場合、 "/" ルート以外のパーティションは XFS がデフォルトになります。database などのロールバックが予測されるシステムでは BtrFS を使う事になります。

パーティションの構成を替えたい場合はここで "Expert Partitioner" を開きます。ここではデフォルトでそのまま進めます。


a0056607_07154653.jpg


タイムゾーンの設定です。世界地図から日本らしきところをクリックすると Asia/Japan が選択されます。

”Hardware Set to UTC” のチェックは外す事にしています。これはOSと CMOS クロックを UTC で同期させる機能なのですが、UTC で起動されると困る仮想サーバー(Windowsなど)のためのハイパーバイザー運用では、見事に9時間早くなってしまうので、このチェックを外して JST 運用することにしています。"UTC にしないのはどんなものなんでしょうね" という感じの警告を確認して次へ

a0056607_07164652.jpg


オペレータのフルネームとユーザ名、パスワードをセットします。

a0056607_07191429.jpg

root のパスワード設定です。必ず ”Test Keyboard” で特殊キーや NUM Lock のチェックをします。なお、パスワードとテストフィールドでテストした単語はシンクロしません。あくまでもテストのためのフィールドです。

a0056607_07211547.jpg


サマリ画面からデフォルト状態をいくつか修正します。

Firewall : Disable(Default Enable)
SSH : Open(Default Close)
Kdump : Disable (Default Enableカーネルダンプが必要なクリティカルなシステムでは Enable にしておくのが良いでしょう)
どうせコンソールは使わないので Systemd target : Text (Default Graphical )
その代わり gnome や yast2 などのパッケージはインストールされます。

a0056607_07222194.jpg

インストールが開始されます。

a0056607_07225418.jpg
ハードウェアの性能によりますが10~20分程度で自動で再起動します。

- 再起動 -

a0056607_07235405.jpg

再起動でログインプロンプトが出てくればOK


a0056607_07243573.jpg
あとは、IP アドレスの固定と NTP の設定をすれば、サーバーの基本的なインストール作業は終わります。この手順は SLES12 SP2 と同じです。

SUSE Linux (SLES12)  YaST で固定 IP アドレスの設定をする

SUSE Linux (SLES12) を YaST で NTP の設定

SUSE Enterprise Server 12, Ctrl+Alt+Del で誤って reboot させないようにするには


- インプレッション -

SLES11 より、インストール全体は簡素化されていますが、省略された分、後で設定すべきことが沢山出てきます。やはり initd より systemd による、起動/終了の高速化は素晴らしいと思いました。どれほど変わったか、細かな設定などはもう少し照査すべきですが、従来の SLES12.x とあまり変わらないな、という印象です。ここから本格的に評価したいのですが、使えるPCがないので、ハイパーバイザー運用より当面は仮想サーバーとしての評価になります。ちなみに、SLES11 の XEN 環境からもインストールできたのですが、 Full Virtual でないと動かないという問題がありました。恐らくブートアッププロセスにチューニングが必要なようです。当面は USB ブート用の環境でのテストもやってみたいところです。






- Keyword -

SUSE Linux, SLES12, SLES12sp3, インストール, 導入, 手順, DVD ブート, USB ブート, Howto


[PR]
by islandcenter | 2017-09-29 07:51 | SUSE | Trackback | Comments(0)

今回は SUSE Linux Enterprise Server 12 (SLES sp2) で PHP スクリプトを HTTP サービス を動かす方法を説明します。 SLES11 までは Web LAMP をインストールするだけで HTTP サーバーで PHP スクリプトを動かす事ができたのですが、 SLES 12 以降はちょっと面倒になりました。マニュアルにも記載がなかったり、誤記があるようなので、細かい所のご指摘があればコメント下さい。なお、この記事は参考程度に見てもらえればありがたいです。

公式には評価版ではなく、E-Media でインストールしたうえでアクティベーションしてサポートを受けることをお勧めします。

今回は第一言語 English の CUI 版 yast を使って作業をしてみました。 X が使える環境であれば yast2 を利用しても、日本語第一言語でもほぼ同じ操作です。

SUSE Linux Enterprise Server 12 SP3 管理ガイド

31.4 モジュールのインストール、有効化、および設定


SLES11 はこちらを参考にしてください。

Apache のインストールと設定まで30秒、SUSE Linux はこんなに簡単

- はじまりはじまり -

まずは YaST から

# yast
> Software > Software Management

を開きます。

a0056607_12351213.jpg


ここで Web and LAMP をチェックして、まとめてインストールします。

Filter > をトグルして "Patterns"


a0056607_12355694.jpg

"Web and LAMP server" をスペースキーでチェック > Acceptします。


a0056607_12361986.jpg

依存性のあるパッケージを確認して”OK”


a0056607_12363810.jpg


インストールが始まります。> Finish

a0056607_12365531.jpg

HTTPサーバーの細かな設定をします。

# yast
> Network Servece > HTTP server


a0056607_12390355.jpg

Wizard に従い”Next”

PHP5 Scripting を Enable にするため、選んで、スペースキーでチェック(敗因)


a0056607_12401312.jpg

※ 敗因 SLES11 までは、このチェックだけで apache2_mod_php5 がインストールできたのですが、SLES12 より PHP5 は Evaluation DVDから削除されたようです。マニュアルも、この指示通りでしたが動きません。評価版ではなく、アクティベーションした場合はまた違う動きがあるかも知れませんね。かと言って、開発途中でアクティベーションするのも何だか勿体ない。

詳しい理由は判らないのですが、PHP の様々な不具合により、サポート対象となっていないようです。php5 は openSUSE のリポジトリからインストールできるので、これは後述します。

オプションの確認、ここでは特に何も変更はありません。


a0056607_12403854.jpg

Virtual Host の設定、特にやることもないので、空欄のまま Next

a0056607_12411300.jpg

Start Apache2 server When Booting をスペースキーでチェック

a0056607_12413566.jpg

Apache2_mod_PHP5 が追加でインストール(敗因 - 実態は何も起こりません)

a0056607_12415786.jpg

一応インストールされた様に見えますが、実は YaST > Software Management で "Search" しても、php5 はリストされません。

ブラウザから、デフォルト index.html を開きます。

sles12:~ #
sles12:~ # w3m 192.168.1.199
sles12:~ #

a0056607_12422273.jpg

apache は動いているようです。

- PHP5 のインストール -

apache2_mod-php5 は openSUSE のソフトウェアページからダウンロード、インストールします。

FireFox ブラウザから


より PHP5 を "package Search"


を開き SLE12 > "PHP5.5.3.xx を "1 Click Install します。

a0056607_12430720.jpg

SUSE SL"12 を開き home:onzi をYaST 1-Click Install > OK

リポジトリの追加

a0056607_12434363.jpg

2017/9 現在 SUSE:SLES-12:GA/standard のレポジトリは実体がなく、エラーになるのでスキップして構いません。

インストールされるソフトウェアパッケージを確認して

a0056607_12450236.jpg

一応警告を確認して OK  (2017/9 現在、他にも途中エラーが出ますが無視しました)

a0056607_12452714.jpg

GNUpg_Key を "Trust" します。

a0056607_12455304.jpg

リポジトリが登録されたので YaST Software Management > Search > "apache" を検索し apache2_mod_php5 をスペースキーでチェック、インストールします。


a0056607_12462718.jpg

依存性のあるパッケージを確認して OK


a0056607_12464583.jpg
Finish

- apatche のサーバーモジュールの有効化 -

# yast
> Network Service > HTTP Server から "Server Modules" タブを開いて "php5" を選び "Toggle Status"Enabled に変更します。

a0056607_12470707.jpg

※ ここまでは E Media でも同じなのですが、E Media では Enable にはなりませんでした。結局 openSUSE のリポジトリからインストールして apach2_mod_php5 が結果OKという事になります。


簡単な /srv/www/htdocs/index.php を作成してみます。

a0056607_12472567.jpg

- ディレクトリインデックスの修正 -

/etc/apache2/httpd.conf にデフォルトファイルとして index.phpindex.htm を追加します。

sles12:~ # vi /etc/apache2/httpd.conf

: 編集中

sles12:~ # cat /etc/apache2/httpd.conf | grep DirectoryIndex
DirectoryIndex index.php index.htm index.html index.html.var
sles12:~ #

これで、ブラウザから URL でディレクトリを指定すると、index.php > index.htm > index.html > index.html.var の順で、ディレクトリのデフォルトページを表示します。HTTP サーバー全体を PHP で記述する場合、これで、ディレクトリ指定だけで index.php が最初に開かれる事になります。また html ではなく index.htm を記述したので、よくある Windows 用のオーガナイザーで作られる、htm 3文字拡張子にも対応できます。
apache2 を再起動して、デフォルト index.php が優先して、開けるか確認してみます。

sles12:~ # rcapache2 restart
sles12:~ # w3m 192.168.1.199
sles12:~ #

a0056607_12474880.jpg

PHP スクリプトが実行されました。

- あとがき -

SLES11 の場合は、このあたりは何の悩みもなくできましたが、SLES12 以降はかなり制限が厳しくなっています。理由は何となく想像するしかないのですが、マニュアル、ドキュメントの不備はちょっと不満があります。なお、MySQL はインストールされず mariadb がインストールされます。

a0056607_12480785.jpg

ちょっと SLES11 とは手順が違い、結局 openSUSE のリポジトリからインストールする結果になってしまいました。実際には、評価版である程度 Web サイトのデザインを作って、顧客から発注を受けたところでアクティベーションする事が多いと思います。

実際に MySQL も mariaDB に置き換わっていますし、このあたりは、SLES12 の新しい方針を示すものでしょう。従来の PHP+MySQL の環境で作業をする場合は SLES11 の方が良いかも知れません。新しい技術を身に着けたい場合はやはり SLES12 を選ぶことになります。



-Keyword-

SUSE Linux、SLES12, Apache HTTP サーバー PHP, PHP5, スクリプト、インストール, 有効化, 無効化, enable, disable, SLES11との違い











[PR]
by islandcenter | 2017-09-25 13:23 | SUSE | Trackback | Comments(0)

ここでは SUSE Linux Enterprise 12 (SLES12) を使って、YaST ツールから ntpd の初期設定の手順を説明しています。 openSUSE も大体似たようなものなので参考にしてください。

- はじまりはじまり -

今回は主に GUI 版 YaST (yast2) を使って説明します。キャプチャ画面は英語ですが、これは第一言語を英語にしているからで、第一言語が日本語であれば、一応日本語メニューも出てきます。(でも何だか英語版の方が私にはほっとするんですね)一部 CUI 番 yast のキャプチャがありますが、機能は全く同じです。

ntpd のインストールは YaST を起動して、"Network Services" > "NTP Configuration" を選ぶと自動的にインストールが開始されます。

a0056607_15591361.jpg

まれに YaST メニューに "NTP Configuration" のアイコンがない場合があります。"Software Management" から "NTP" をキーワードに "Search" して "yast2-ntp-client" のチェックが入っているかどうか確認します。チェックが入っていない場合、チェックして、 NTP Configuration ツールをインストールします。もちろんここから ntp のデーモンもチェックしてインストールしても構いません。チェックを入れたら、いったん YaST を終了して、もう一度 YaST を立ち上げるとメニューに出てきます。

a0056607_16001458.jpg


インストールが終わると、設定画面が自動的に開きます。 "Start NTP Deamon" が "only Manually" となっているところを "Now and on Boot" に設定しなおします。

※ この時点で 
0.opensuse.pool.ntp.org,
1.opensuse.pool.ntp.org,
2.opensuse.pool.ntp.org, or 3.opensuse.pool.ntp.org
の3つがデフォルトで NTP ソースとして選択されるようです。

Configuring an NTP Client with YaST
https://www.suse.com/documentation/opensuse121/book_opensuse_reference/data/sec_netz_xntp_yast.html



a0056607_16011410.jpg
まず "Security Settings" タブを開いてください。"Run NTP Deamon in Chroot Jail" にデフォルトでチェックが入っているはずです。たまに入っていない事があるので、確認します。もう一度 "General Settings" タブを開きます。

a0056607_16020532.jpg

初期値には "Synchronization Type" : "Undiscriplined Local Clock" が指定されています。この画面は別なベアメタルサーバーで見た CUI 版 YaST の設定画面です。

a0056607_16025029.jpg

ここで、重要なことは、

1 - ntpd が起動する時に "Undisciplined" な "設定されていないローカル時刻" をソースとする、つまりハードウェアクロックをソースとするかどうかです。SUSE をハイパーバイザー運用のためにインストールする場合など、 ntpd が起動する前に、"Orphan 状態"、つまりネットワークに繋がっていない"孤独な状態" に使用するものです。信頼できなくてもハードウェアの CMOS クロックをもらうようなので、まだネットワークが行動していない ntpd が起動していない、あるいは、ネットワーク障害が発生している時やブート時のログには、あまり正確とはいえないまでも、ローカルクロックで立ち上がってくれるわけです。ベアハードウェア上のサーバーは、この行をとりあえず残しておきます。

Undisciplined Local Clock

IDEA! The Undisciplined Local Clock should generally no longer be used.

とある様に、将来的にはサポートされない手段になるものです。

2 - このシステムが XEN や KVM, Hyper-V などで動作する場合は、”Undisciplined Local Clock”Delete します。

openSUSE のマニュアルなのですが、

第2章 KVM の制限事項

"時刻同期"

"多くのゲストでは、時刻を正確に維持するのに追加のサポートを必要とします。 利用可能であれば、 kvm-clock を使用してください。 それ以外にも NTP やその他のネットワークベースの時刻同期プロトコルを利用し、 安定した時刻を維持することを強くお勧めします (VM ホストサーバ と VM ゲスト の 両方に対して) 。ゲスト内での NTP は、 kvm-clock を利用している場合には推奨されません。詳しくは 8.7項 「時計の設定」 をお読みください。"

とあり、仮想環境下では、ホストOSからのハードウェア時刻同期は推奨されません。暗に ntpd が推奨です(と読めます)。そこで、仮想運用する場合、タイムソース "Undisciplined Local Clock" を削除して ntpd の設定は必須の事となります。

- タイムソースの追加 -

ntpd にタイムソースを追加します。”Add” ボタンを押して "Server" を選び Next

a0056607_16040057.jpg
"Address" の右にある、"Select" リストから "Public NTP Server" を選び、地域 "Japan" にある NTP ソースのリストが出てきます。 SLES12 の用意した List の中には NICT と "jp.pool.ntp.org" のリストが出てきます。SLES11 までは、jp.pool.ntp.org と福岡大学の NTP ソースがリストされました。

a0056607_16041880.jpg

1- セレクタを使わないで、オリジナルの NTP ソースを使う場合、"Server Settings" の "Address" 欄には、直接サーバーのアドレス ”ntp.nict.jp” とか "ntp1.mylocal.net"、”192.168.1.123” のように記載できます。一応 IP 直アドレスでも構わないのですが、FQDN 名で設定すべし、という事になっています。

社内向けのDNSサーバーがある場合、DNSサーバーの CNAME に LAN内 NTP ソースとなるレコードを追加しておくのが良いでしょう。

 ※ ちなみに time.windows.com とも同期できましたが、世界何億台が参照するため、滅茶苦茶時間がかかりました。できるだけ経路の短い国内の公開サーバーか、契約先ISPが提供する NTP サーバーを利用すべきでしょう。有名だからと言って、昔、人気があった福岡大学の NTP は様々なシステム機器のデフォルトで、トラフィックと遅延問題が大きく、あまりご迷惑をかけないように利用を控えた方が良いようです。(今は学内のみ利用可能なようです)


2- 公開NTPサーバーや ISP の指定 NTP を使うのは、ローカルネットワーク内部の2~3台までとして、他のシステムやWindows などのPCはこのローカルLAN内のNTP参照をすべきでしょう。(と言っても Windows が time.windows.com をデフォルト参照先になっているのはやっぱり問題ですよね)

NICT のFAQによくまとまっています。他、mfeed.ad.jp やリングサーバープロジェクトなどに、専門家が書いた使い方が載っています。この零細出鱈目ブログよりよっぽど為になりますので一読してください。

NICT公開NTP FAQ

インターネットマルチフィード(時刻情報提供サービス for Public)

NTP service : ntp.ring.gr.jp

どうやったらpool.ntp.orgを利用出来るのでしょうか?

NTP Download (Meinberg 氏による Windows 用 ntpd のバイナリ配布先)

3- NTP のプロトコルは 123 番ポートでほぼ UDP だそうです。ただ RFC のドキュメントには UDP の記述しかないので、TCP を使っても構わないようですが、かなり希少な存在なようです。ファイアウォール屋さんと相談の上、穴をあけてください。

「NTP のポート番号と UDP か TCP かどちらか教えろ」と質問してきた信じられない自称プロトコルの専門家、ファイアウォール担当の SI 屋が居ましたが、今なら首を絞めて教えてあげたい。というか、当時は Google 先生もいないし、マニュアルにもポート番号の記述しかなく、そんなことも知らなかった私が一番悪いんですけどね。

4- NTP の問い合わせは「行って」「帰って」の経路が同じものと想定して、その時差の真ん中あたりが、NTPソースサーバーが返した時刻だと補正の判断をするそうです。だからなるべく「行って帰って」の経路が単純で短い NTP ソースを誤差なく使うべし、という事です。他の海外製ディストリビューションでは、インストールした後のデフォルトが、海外にある自社の NTP プールを指定していることが多いようですが、あまり好ましいものではないでしょう。

ここで "Test" ボタンを押して、軽快にレスポンスが返ってくれば、NTPソースとして利用可能です。

a0056607_16044994.jpg
これをタイムソースとして利用するサーバー複数個を指定します。LAN 内サーバーであれば、内部にあるNTPサーバーを複数と、予備にISP指定の NTP サーバーや、nict や mfeed などの公開NTPサーバーを指定するのが良いでしょう。

"Display Log" ボタンから、 "Advanced" > "Save Settings and Restart NTP Deamon" を選ぶと設定内容が保存され、ntpd が起動します。

a0056607_16051267.jpg
ntpd は大きな時刻ずれを検出すると minpoll 64 秒の短い間隔から "徐々に時刻を正確なものに寄せて” このチェック間隔も広げます。さもないと、スケジューラをすっ飛ばしたりするような、予期せぬ動作が起こってしまいます。

おおよそ安定してくると Stepping Mode から Slew modeとなり、デフォルトで 1024 秒間隔で時刻ずれをチェックします。このあたりの詳細は


で確認してください。

なお、SLES12 (spなしの初期版) では apparmor の不具合らしいバグがあるため ntpd の起動に失敗します。

SLES12 ntpd が Fail 起動できない <とその解決方法

簡単に修正できるので、参考にしてください。


SUSE Linux, SLES, SLED, NTP 設定方法, YaST,




[PR]
by islandcenter | 2017-09-21 16:24 | SUSE | Trackback | Comments(0)

ここでは SUSE Linux (SLES12) をインストールした後、DHCP のランダムな IP アドレスを Static IP に固定する手順を説明します。
SLES/SLED/openSUSE のバージョンによって、若干違う場合がありますが、ほとんど共通のインターフェースなので簡単に設定することができます。


テキストコンソールの場合は
# yast

もしくは X 環境では gnome デスクトップの Computer アイコンから YaST の GUI 版を使います。テキストターミナルを開いて
# yast2 &

で GUI 版を開くこともできます。

ここでは主に CUI 版 YaST で説明します。

- はじまりはじまり -

※ ここでは、第一言語 English, 第二言語 Japanese で設定されていますので、なのでキャプチャ画面は表記は英語です。第一言語が Japanese だと訳の分からない変な”ニッポン語”でメニュー表記されるし、 ALT+ ショートカットキーもわかりづらいですし、それをまた英訳するのも面倒なので、サーバー運用に問題がないのであれば、英語で設定しています。

CUI 版 yast の操作は、ほとんどが TAB, カーソルキー, Space キー、 Enter キー、あるいは ALT+alphabet キーで操作します。第一言語がニッポン語の場合は、 ALT+Alphabet が分かりにくいので、やっぱりここは英語版がいいでしょう。

# yast から[Tab] キーで System > Network Settings を[Enter]開きます。

※ SLES11 までは Network Devices > Network Settings でした。

a0056607_16015344.jpg

Overview の Network Bridge (br0) が初期値 "DHCP" になっています。Device eth0 は IP アドレス "NONE" となっていますが、このデバイスは None のまま変更しません。SUSE Linux では "実NIC(ethX)" <-- "Brigde(BrX)" でブリッジ接続するため、 ethX は無設定、固定 IP の割り当ては BrX に行います。

ここでは br0 に対して設定します。"Edit" します。

a0056607_16031896.jpg

環境によっては物理NIC (Eth0) しか表示されない場合があるので、 Eth0 の設定を "Delete" して "Add" ボタンから、Brige ネットワークが構成できます。その際も Eth0 は設定なし(NONE) br0 に IP を設定します。必要なブリッジネットワークの構成ツールが自動的にインストールされます。

物理NIC が複数ある場合、 "Add" メニューから Bridge ネットワークを追加します。これは GUI 版 YaST の画面です。

a0056607_16034437.jpg

”Bridged Device” (BrX) にどの物理 NIC を繋げるかを選んでスペースキーでチェックします。ここでは一つの物理 NIC しかないのですが、NIC の複数差しの場合、 br0 --> eth0, br1 --> eth1 .... という感じで、異なる構内LANと管理用物理配線、あるいは SAN 用配線に割り当てることができます。

a0056607_16041999.jpg

DHCP から Statically Assigned IP Address に固定IP、サブネットマスク、インストール時のデフォルトランダムな Hostname の書き換えをします。

a0056607_16050452.jpg

例えば、 XEN や KVM などの仮想化システムのホストとして運用する場合、ホスト本体は内部の管理ネットワークやストレージ LAN だけに繋ぎ、仮想システムは公開ネットワークに繋げる、などの柔軟な運用で、仮想システムを非公開ネットワークだけに繋いで保護する事ができます。

"Hostname/DNS" を開き、 ランダムな初期値の "Hostname" と ”Domain Name” を、目的の環境、命名規則に合わせて変更します。

"Name Server 1,2,3" に、必要な DNS サービスの IP アドレスを与えます。

この作業でYaST を終了すると /etc/resolv.conf と /etc/HOSTNAME が更新されます。

a0056607_16054048.jpg

”Routing” を開いて "Default Gateway" の IP アドレスを設定します。

a0056607_16060699.jpg
[OK] ボタンを押して、設定を保存すると、設定ファイルの書き換え、ネットワークの再起動が行われます。

- 確認 -

ifconfig と ping で通信確認をします。この様な感じで ifconfig で brX に IP アドレスが割り当てられればOKです。恐らく、ping も成功するでしょう。

sles12:~ # cat /etc/HOSTNAME
sles12.intra

sles12:~ # ifconfig

br0 Link encap:Ethernet HWaddr 00:16:3E:24:71:21
inet addr:192.168.1.199 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::216:3eff:fe24:7121/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:699 errors:0 dropped:0 overruns:0 frame:0
TX packets:203 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:41287 (40.3 Kb) TX bytes:19384 (18.9 Kb)

eth0 Link encap:Ethernet HWaddr 00:16:3E:24:71:21
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:805 errors:0 dropped:0 overruns:0 frame:0
TX packets:207 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:49634 (48.4 Kb) TX bytes:19732 (19.2 Kb)

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:38 errors:0 dropped:0 overruns:0 frame:0
TX packets:38 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1
RX bytes:2888 (2.8 Kb) TX bytes:2888 (2.8 Kb)
sles12:~ #

- 再起動 -

コンソールからログオンすると、プロンプトが初期値のランダムな HOSTNAME なので、一旦リブートします。

- よくあるトラブル -

"あれ ???? ping が飛ばないよー”とここでハマることがよくあります。

ifconfig で lo しかなく、 br0 に何も IP アドレスが出てこない場合、Bridged Device が、実装されている NIC とのチェックが外れていることがほとんどなので、ブリッジネットワークと、実NICの接続をチェックします。ここのチェックを入れ忘れる事が多いので注意してください。

これは、GUI 版 YaST のネットワーク設定の画面です。

また、複数 NIC を装着した場合、物理 NIC brX 仮想ブリッジを間違えてチェックしてしまう間違えも、よくある間違えです。実際のケーブリングと、物理ポートを確認してください。

a0056607_16064178.jpg

この様に、 SUSE Linux でのネットワークの設定は YaST で行うのが一番漏れもなく、確実であること。また、驚くほどタイプする作業がありません。

--
ほとんどの場合、SLES はサーバー運用になるので、Text Mode での起動となるでしょう。X 環境が使える場合は、 Windows などから GUI 版 yast2 を使ってもいいのですが、CUI テキスト版 yast コマンドの方が、軽快なので、ほとんど CUI 版を使う事になると思います。

インストール後の DHCP から固定IPへの変更は、 SUSE Linux では一番最初に行う作業でしょう。ここで YaST の使い方を覚えておけば、後の設定も楽です。


SUSE, SLES, openSUSE, DHCP 固定 IP の設定, Howto, YaST, ネットワーク設定,





[PR]
by islandcenter | 2017-09-20 16:10 | SUSE | Trackback | Comments(0)

地味で意味不明のKSKロールオーバー

総務省の「勧告」があり始めて知りました。


※ DNSについては「知っている」程度の知識なので、このブログの内容は内容は丸のみしないように.....関連文書はごっちょり出ています。

ネット史上初めての「KSKロールオーバー」が始まる、名前解決できなくなる前にDNSサーバーなど設定確認を! 今年9月は特に注意

影響があるのは、DNSサーバーを運用しているネットワークで、管理者は「何それ」と言って「朝日新聞」以外の大手メディアは「狼が来た」程度で、騒いでもいないので、突然の対策に苦慮しているようですね。

企業LAN、ネット遮断のおそれ 総務省が確認呼びかけ

詳細はこちら

KSKロールオーバーについて(JPNIC)

-まず DNSSEC-

大抵、一般企業のゾーン mycompany.com には www, mail, mydns など自社の社外向けサービスが、ISP の DNS マスターに記載されていて、企業の mydns は、ISP のマスターからゾーン転送を受けるスレーブとなって、もし、ISP の DNS が停止する場合のバックアップになります。逆に自社オンプレミスのDNSサーバーがゾーンマスターのケースもあります。

しかし、この二つは、お互い IP アドレスだけで信頼関係があるので、万が一、相手が「なりすましIP」を使うと、DNSのゾーン転送がうまく行かなくなり、メールの誤転送や、フィッシングサイトへ引き込まれたりします。そこで DNSSEC という鍵交換方式で相手のDNSが正しいかどうかを検証するのがDNSSEC という事らしいです。

. (ドット)のルートゾーンから、.jp -> .co.jp -> mycompany.co.jp までそれぞれゾーンを管理する団体が違うので、その間、どのような経路を通るのか分からないので DNSSEC を使ってお互いを確認しあう仕様になって7年目。本来、5年でルートゾーンのKSK 電子鍵 "Key Signing Key" を更新する予定だったのが、色々調整に手間取り、いよいよルートの鍵更新をするのがこの秋ということなのです。そもそも DNSSEC 自体、実装され始めて10年と経っていないDNSの保護対策なので、ワタシのように「古いエンジニア」には何がなんだかさっぱり。そもそも閉じた環境では 古いDNSサーバーをそのまま使っている場合、DNSSEC自体実装していないケースも多いようです。最新の Bind DNS では、 DNSSEC 自体デフォルトで Auto となっているケースがあるようなので、それぞれのディストリビューションに問い合わせて対策する必要がありそうです。

で、SUSE のマニュアルしらべてみましたが、named.conf の ”dnssec-validation” のパラメータの記述さえありません。勿論 YaST のオプションにも設定項目なし。逆に、dnssec の validation 機能の脆弱性情報に載っていたくらいなので、一つの脆弱性があれば、また次にも見つかる機能なので、無理して使わないのが、無難なのでしょうかね。

もともと私が愛用している Bind の教科書にも DNSSEC については、ほとんど記述がないほどの機能ですから、大多数意見では DNSSEC 自体は設定する必要はまず無いようです。上位 ISP にも問い合わせてみたら、「DNSSEC は無効にしている」という回答。そもそも資料も少ないですから。というか DNSSEC 無用(悪機能)論もあるくらいだから、ほとんど一般の管理者にとっては無視するのも仕方ないのかなと思います。DNSSEC は日本では 2017 年現在 10% 前後しか普及していないらしい論もあります。そもそもそれほど通信事業者間、公共団体で普及していないものを、取り出して「ああ、こう」言っても、聞く耳がないのも仕方がない事です。

- それでも起こるDNSのトラブル -

それでも上位ISP同志で鍵交換をする、この秋に、一般的なDNSクエリ以上のパケットサイズの通信が起こり、通常 1280 バイトのDNS更新情報が、1424 バイト程度まで膨らんでオーバーフローして情報が正しく伝わらない現象が「KSKロールオーバー」という現象です。この影響は全インターネットユーザの1/4程度が影響される可能性があるということなんですね。これほどの大袈裟な影響なのに、一般に認知されていないところは、ずいぶん疑問符が出てきます。

これによって、相手のウェブサイトの名前解決ができない。名前解決ができないため、メールが転送できない、という現象が大本営発表によると発生する(らしい)のですね。

実際に、SOHO向けルータのDNSサーバーを使っているワタシの様な零細事業者とか、スレーブDNSを自社にオンプレミスで運用しているとか、DNSについてはド素人なワタシのようなSI業者なんかがiDC の中の顧客のサーバーの面倒を見ているような場合は、「KSKロールオーバー? 何それ?」という事になり、ろくな知識もないまま慌ててしまう事になるわけです。

1) 確認方法

1-1) bind dig コマンドで dns の reply size limit の値をチェック

reply size limitの値が1424より大きいこと

sles11:~ # dig @dns2 +bufsize=4096 +short rs.dns-oarc.net txt
rst.x1008.rs.dns-oarc.net.
rst.x1968.x1008.rs.dns-oarc.net.
rst.x2454.x1968.x1008.rs.dns-oarc.net.
"173.194.171.12 sent EDNS buffer size 4096"
"173.194.171.12 DNS reply size limit is at least 2454"
"Tested at 2017-09-05 03:27:22 UTC"
sles11:~ #

※一発で答えが返らない場合もあるので2、3度繰り返してみてください。

1-2) DNSSEC Key Size Testのサイトでテストする。

にアクセスして、Result の 1~4が Pass していること、5は(This should fail なので) パスしないはず。
a0056607_13383419.jpg
以上で問題がなければ、一応、KSK ロールオーバー対策は「準備OK」という事になるそうです。

問題がある場合、上位ISPの DNS のプロに問い合わせて対策するのが一番のようですね。もっとも、「影響なし」と公表しているISPも少ないので、みんな知らないのも当たり前なのかも知れません。

2) DNS は最新版を

DNS サーバーはいったん設定を済ますと、中々中身をイジリたくないシステムです。でも Bind というソフトウェアはバグや脆弱性が多い事でも有名なソフトウェアなので、Bind を最新版に更新した方がいい。という事になります。

それにしても、この問題があまり大きく IT 関連のメディアにすら載らないし、ほとんど JPNIC と大本営総務省発表のコピペ記事で、具体性に欠けるのが最大の謎だったりします。

ご意見ある方のコメント期待しています。


KSKロールオーバー, DNSSEC, dnssec-validation, 無効化, 有効化




[PR]
by islandcenter | 2017-09-05 13:40 | SUSE | Trackback | Comments(0)

Zabbix 3.2 のアプライアンス版が出ていましたので、SUSE バカに陥らないためにも、ubuntu と格闘してみました。というか、2.2 のアプライアンスが壊れてしまったので(あぁーバックアップ取ってないし .... )

zabbix 2.x の導入はこんな感じでした。
SUSE Studio から Zabbix 管理ツールの導入

※ ソフトウェアアプライアンス版は、評価目的のチューニングですが、中小規模の数台のサーバーやルータ、スイッチなどのトラフィック管理など数十台のデバイス管理には、そこそこ使えます。より深く学び、システム管理が複雑で規模や問題が大きくなれば、それなりに Zabbux L.L.C の有償サポートを受けたパッケージの導入とトレーニングを受けてください。私としては、デバイスの異常なトラフィック増大を時系列で見えればよい程度なので、導入の敷居が低いzabbix のソフトウェアアプライアンス版は初めての方にはお勧めです。なお、 3.2 は LTS 版ではないのでそのつもりでトレーニングだと覚悟してください。

- ハイパーバイザーへの実装 -

Zabbix のダウンロードページから、 "KVM, Parallels, QEMU, USB stick, VirtualBox, Xen" 用イメージ (.raw1.6Gb) をダウンロードします。

Download

Zabbix appliance Documets

*****.tar.gz を解凍すると 10Gb の仮想アプライアンスイメージが出来上がります。ubuntu のバージョンは /etc/os-release によると 14.04 でした。

これを virt-manager から Create Virtual Machine で実装します。機材の都合で XEN4.4 on SUSE SLES11sp4 です。
a0056607_14293162.jpg

このバージョンは、 Ubuntu 14 は対応していないようですが、 Ubuntu(Other) で実装できました。
- Virtual : Full Virtual
- Name of VM :
- Hardware : 512Mb, 1Vcpu
- MAC : XEN source のヘッダに任意の3桁


a0056607_14300292.jpg

これで OK を押すと、Zabbix 3.2 アプライアンスが起動できました。

Ubuntu のいやらしいroot でログインできないログインプロンプトです。

a0056607_14303447.jpg

ダウンロードページにあるパスワードでログインします。

login : appliance
Password : zabbix

a0056607_14310483.jpg

DHCPで IP をもらうので一応 ifconfig で IP を確認します。

a0056607_14312728.jpg
これで SSH テキスト端末からログインできます。

ssh xx.xx.xx.xx -l appliance

sles11:/var/lib/xen/images/zabbix32 # ssh 192.168.1.xx -l appliance
Zabbix server Appliance (mysql)
appliance@192.168.1.55's password: **********
Last login: Fri Jul 14 10:30:35 2017
######## ### ######## ######## #### ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
## ## ## ######## ######## ## ###
## ######### ## ## ## ## ## ## ##
## ## ## ## ## ## ## ## ## ##
######## ## ## ######## ######## #### ## ##
appliance@zabbix:~$

IPを固定します。 /etc/network/interface を sudo vi で DHCPから Static に編集します。(メンド臭い)
IP を指定して DNS, Default Gateway の設定をします。

appliance@zabbix:/etc$ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
#iface eth0 inet dhcp <--- コメントアウト
iface eth0 inet static <--- 追加

address 192.168.1.220 <--- 追加
netmask 255.255.255.0 <--- 追加
gateway 192.168.1.1 <--- 追加
dns-nameservers 192.168.1.2 <--- 追加

/etc/resolv.conf を書き換えます。(メンド臭い)

appliance@zabbix:/etc$ cat resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.1.2 <--- 追加
nameserver 192.168.1.3 <--- 追加
search intra <--- 追加

でネットワークの再起動(メンド臭いしミスタイプしやすい)

appliance@zabbix:/etc$ sudo ifdown eth0 && sudo ifup eth0
[sudo] password for appliance: *********
appliance@zabbix:/etc$ ping www.yahoo.co.jp
PING edge.g.yimg.jp (183.79.248.252) 56(84) bytes of data.
64 bytes from 183.79.248.252: icmp_seq=1 ttl=52 time=90.6 ms
64 bytes from 183.79.248.252: icmp_seq=2 ttl=52 time=97.3 ms

--- edge.g.yimg.jp ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1001ms
rtt min/avg/max/mdev = 90.698/94.024/97.350/3.326 ms
appliance@zabbix:/etc$


a0056607_14320955.jpg


という事でブラウザから http://ip_or_DNS_address/zabbix へ Admin/zabbix のデフォルトでログインします。

a0056607_14420950.jpg

で、色々弄って、date すると UTC 表示でした...... ubuntu の場合、謎のオマジナイがあるのでシステム時刻を JSTに変更します。

appliance@zabbix:/etc$ sudo dpkg-reconfigure tzdata
[sudo] password for appliance: *********

こんな UI が出てくるので Asia > Tokyo を選び OK します。

a0056607_14323301.jpg


appliance@zabbix:~$ date
Sat Jul 15 00:29:36 JST 2017
appliance@zabbix:~$

無事、システムの時刻表示は UTC から JST になりました。しかし、Zabbix の UI で表示される、グラフやイベントは UTC のままです。一体どこで変えるんでしょうね。

/etc/php5/apache/php.ini を sudo vi で変更しました。

appliance@zabbix:/etc/php5/apache2$ sudo vi php.ini
appliance@zabbix:/etc/php5/apache2$ ....: 編集中 .....
appliance@zabbix:/etc/php5/apache2$ cat php.ini | grep timezone
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
;date.timezone =
date.timezone = Asia/Tokyo
appliance@zabbix:/etc/php5/apache2$

zabbix-server と apache2 をリスタートさせましたが
何故か6時間、表示が遅れています(謎)

※謎解決 タイムゾーンを JST に

/etc/apache2/conf-available/zabbix.conf に Timezone の設定があるのでこれを突いたら治りました。

appliance@zabbix:/etc/apache2/conf-available$ ls -al
total 36
drwxr-xr-x 2 root root 4096 Aug 7 17:53 .
drwxr-xr-x 8 root root 4096 Jul 28 06:43 ..
-rw-r--r-- 1 root root 315 Jan 3 2014 charset.conf
-rw-r--r-- 1 root root 3224 Jan 3 2014 localized-error-pages.conf
-rw-r--r-- 1 root root 189 Jan 3 2014 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 2190 Jan 3 2014 security.conf
-rw-r--r-- 1 root root 455 Jan 7 2014 serve-cgi-bin.conf
-rw-r--r-- 1 root root 1582 Aug 7 17:53 zabbix.conf
-rw-r--r-- 1 root root 1583 Aug 7 17:52 zabbix.conf.org
appliance@zabbix:/etc/apache2/conf-available$ cat zabbix.conf | grep timezone
php_value date.timezone Asia/Tokyo
php_value date.timezone Asia/Tokyo
appliance@zabbix:/etc/apache2/conf-available$

マニュアルはちゃんと読めよという事ですね。

- NTP をインストールして設定 -

NTP が入っていないので、インストールします。ハードウェアクロックは仮想環境では時刻狂いを起こします。

sudo apt-get で ntp を Install します。

appliance@zabbix:/etc$ sudo apt-get install ntp
[sudo] password for appliance:
Sorry, try again. あちゃーメンドクサイ
[sudo] password for appliance:
Reading package lists... Done
Building dependency tree
Reading state information... Done

 : 中略して誤魔かしの美....

appliance@zabbix:/etc$


/etc/ntp.conf を外部ソースから、LAN内の NTP ソースに変更します。

# Use servers from the NTP Pool Project. Approved by Ubuntu Technical Board
# on 2011-02-08 (LP: #104525). See http://www.pool.ntp.org/join.html for
# more information.
#server 0.ubuntu.pool.ntp.org <--- コメントアウト
#server 1.ubuntu.pool.ntp.org <--- コメントアウト
#server 2.ubuntu.pool.ntp.org <--- コメントアウト
#server 3.ubuntu.pool.ntp.org <--- コメントアウト
server ntp1.intra <--- 追加
server ntp2.intra <--- 追加

とここまで3時間の作業でした。SUSE なら、yast 一発で20分で終わるんだけどなぁ。

Install on openSUSE / SLES

あとは Configuration > Hosts から、smnp エージェントを実装したデバイスを登録して行くだけです。

- 対象ホストが snmp を返すか調べる snmpwalk -

監視対象ホストが SNMP に反応するかどうかは snmpwalk を使いますが、このアプライアンスにはデフォルトでは入っていないので、SUSE なら YaST で一発の所、Ubuntu 版では、テキストコンソールからキーボードと闘いオマジナイを唱える必要があります。くれぐれも綴りを間違えないように..... アチャーなトラップが待っています。

appliance@zabbix:~$ sudo apt-get install snmpd
Reading package lists... Done
Building dependency tree
Reading state information... Done
snmpd is already the newest version.
snmpd set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 19 not upgraded.
appliance@zabbix:~$ snmpwalk <---- snmpd だけじゃダメポ.......
-bash: snmpwalk: command not found
appliance@zabbix:~$ sudo apt-get install snmp <--- このパッケージが必要なようです。
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following NEW packages will be installed:
snmp
0 upgraded, 1 newly installed, 0 to remove and 19 not upgraded.
Need to get 146 kB of archives.
After this operation, 554 kB of additional disk space will be used.
Get:1 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main snmp amd64 5.7.2~dfsg-8.1ubuntu3.2 [146 kB]
Fetched 146 kB in 3s (41.1 kB/s)
Selecting previously unselected package snmp.
(Reading database ... 52441 files and directories currently installed.)
Preparing to unpack .../snmp_5.7.2~dfsg-8.1ubuntu3.2_amd64.deb ...
Unpacking snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
Setting up snmp (5.7.2~dfsg-8.1ubuntu3.2) ...
appliance@zabbix:~$
appliance@zabbix:~$
appliance@zabbix:~$ snmpwalk -v2c -c public 192.168.1.239 .1.3.6.1.2.1.1
iso.3.6.1.2.1.1.1.0 = STRING: "Linux abianca 3.0.101-63-xen #1 SMP Tue Jun 23 16:02:31 UTC 2015 (4b89d0c) x86_64"
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.8072.3.2.10
iso.3.6.1.2.1.1.3.0 = Timeticks: (44081742) 5 days, 2:26:57.42
iso.3.6.1.2.1.1.4.0 = STRING: "Administrator <postmaster@example.com>"
iso.3.6.1.2.1.1.5.0 = STRING: "abianca"
iso.3.6.1.2.1.1.6.0 = STRING: "Right here, right now."
iso.3.6.1.2.1.1.7.0 = INTEGER: 76
iso.3.6.1.2.1.1.8.0 = Timeticks: (47) 0:00:00.47
iso.3.6.1.2.1.1.9.1.2.1 = OID: iso.3.6.1.6.3.10.3.1.1
iso.3.6.1.2.1.1.9.1.2.2 = OID: iso.3.6.1.6.3.11.3.1.1
iso.3.6.1.2.1.1.9.1.2.3 = OID: iso.3.6.1.6.3.15.2.1.1
iso.3.6.1.2.1.1.9.1.2.4 = OID: iso.3.6.1.6.3.1
iso.3.6.1.2.1.1.9.1.2.5 = OID: iso.3.6.1.2.1.49
iso.3.6.1.2.1.1.9.1.2.6 = OID: iso.3.6.1.2.1.4
iso.3.6.1.2.1.1.9.1.2.7 = OID: iso.3.6.1.2.1.50
iso.3.6.1.2.1.1.9.1.2.8 = OID: iso.3.6.1.6.3.16.2.2.1
iso.3.6.1.2.1.1.9.1.3.1 = STRING: "The SNMP Management Architecture MIB."

 : 中略

iso.3.6.1.2.1.1.9.1.4.8 = Timeticks: (47) 0:00:00.47
appliance@zabbix:~$ <----- うまく帰ってきたようです。

こんなに使いづらい Ubuntu 大好きって人はよっぽどマゾなんだろうなぁ。





-Key Word-

Zabbbix 3.2 仮想アプライアンス XEN KVM 評価 導入 練習台 無償で始めるネットワーク管理


[PR]
by islandcenter | 2017-07-15 14:45 | プライベートクラウド | Trackback | Comments(0)