rss ログイン
JJ1RLWのXOOPS Cube Siteにようこそ

メインメニュー

ログイン


ユーザー名:


パスワード:





パスワード紛失  |新規登録

オンライン状況

1 人のユーザが現在オンラインです。 (1 人のユーザが xpress ブログ を参照しています。)

登録ユーザ: 0
ゲスト: 1

もっと...

アーカイブ

カテゴリー

アクセスカウンタ

今日 : 7878
昨日 : 199199199
総計 : 251509251509251509251509251509251509

カレンダー

2018年6月
« 5月    
 12
3456789
10111213141516
17181920212223
24252627282930

xpress ブログ »

 
WordPress for XOOPS

MySQLの運用を8.0から5.7に戻した

ここ一ヶ月程MySQL8.0で運用していましたが、問題がありMySQL5.7に戻しました。

問題点
1.MyISAMテーブルのクラッシュにより、MySQLのサービス(mysqld自体)が落ちる。
これが最大の問題で、長年MySQLを運用しているが初めての経験です。
MySQLの起動パラメーターの問題なのかは判りません。

2.パフォーマンス(レスポンス)の低下。
レスポンス比較(秒)の表
レスポンス比較(秒)の表
上の表は、XOOPS Cubeに設置してある「db response checker」のデータを簡単に集計した結果です。
MySQL8.0での運用だと明らかにWebの応答が遅く感じます。

あくまでも、テストした非力なサーバ環境での話です。
テスト環境
O S:Windows Server 2008R2 x64
メモリ:2GB
HDD:1TB(普通のSATA HDD)
Webサーバ:IIS7.5
PHP:7.0
Webアプリ:XOOPS Cube
※メモリが少なすぎますね。

IPTables log analyzerをulogd2.xで使う

IPTables log analyzerをulogd2.xで使える様に、いつもの「ちょとだけ改造」をして見ました。

おもな変更点は、
1.PHP7.0への対応で、mysql拡張からmysqli拡張へ、廃止された関数の書き換え
2.ulogd2.xでは、IPアドレスの格納形式がlong型からIPv6対応のバイナリ型となったことへの対応

DNSのキャッシュテーブルを参照できない時の画面
DNSのキャッシュテーブルを参照できない時の画面

DNSのキャッシュテーブルを参照できている時の画面
DNSのキャッシュテーブルを参照できている時の画面

サブネットを指定してフィルタリングをした時の画面
サブネットを指定してフィルタリングをした時の画面

参考サイト
[Linux]ファイルの圧縮、解凍方法
Debian 9(Stretch)にPostgreSQL 9.6をapt-getでインストールし、外部アクセスを許可する
postgreSQLにコマンドラインからSQLファイルを実行
18.2.5. vsftpd 設定オプション
[ulogd] seems something wrong with mysql-ulogd2.sql
【PHP】関数 mysql_… を mysqli_… へ書き換える。
MySQL IPアドレスをlong型で記録する方法
ip2long
long2ip
Net_IPv4 – PEARマニュアル
■[MySQL][メモ]MySQLでIPアドレスを記録する方法
MySQLの1つのカラムでIPv4、IPv6両方のIPアドレスを格納する方法を考える
mysqlからmysqliへ移行変換
PHPのip2longとMySQLのINET_ATON
iptablesログ解析(IPTables log analyzer) (最終更新日:2010/02/16)
Raspberry Piでcrondは動いているのにcron.hourlyが動かない?
Debian 6.0 (squeeze) での、cronのログ有効化
run-partsが認識するファイル名ではまった
/etc/crontabと/etc/cron.d設定ファイルの書き方
IPアドレスが指定したIPアドレス範囲の中にあるかチェック
DBでバイナリ型にSELECT文実行
IPv6アドレスを完全表記(省略されていない表記)に変換するPHPコード
PHPでIPアドレス+ネットマスクに適合するかチェック

Raspberry Pi 3 のルーターにcactiを導入

Raspberry Pi 3 のルーターに、ようやくcactiを導入出来ました。

今回、導入する際に引っかかったのは、以下の3箇所です。
1.cacti用DBを作成する際にインデックス長制限
2.SNMPへのアクセス制限
3.直接は関係無いがMIBを人に判り易く表示するプログラムでエラーが発生

Raspberry Pi 3 にcactiを導入した画面
Raspberry Pi 3 にcactiを導入した画面

参考サイト
Ubuntu 14.04, Ubuntu 16.04上のsnmpwalk,snmptranslateでエラーが出力される
SNMPの設定
Ubuntu Server 16.04.2 LTSでSNMPを使えるようにする話
[鯖缶] SNMP(3) NET-SNMP のインストール

ulogd2.xとWebfwlogを設定して見る

ulogd2.0.5とWebfwlog1.1.0を設定して見ました。

ulogdのバージョンが1.x系から2.x系になったので、最初はエラーでulogd2からMySQLのテーブルにデータが挿入出来ず、Webの情報を元に色々と試行錯誤を繰り返し、ようやく設定するととが出来ました。

ポイントは、ulogd2が起動時にチェックするMySQMのlogテーブルに「ulog」(※実態はビュー)を指定するか、取得したいデータのフィールド名(カラム名)を持つダミーのlogテーブルを用意する事でした。

私がハマッタのは、logデータを登録するテーブルだからと思い込み「ulog2」テーブルをulogd2がチェックするテーブルに指定しまって、ulogd2が起動にエラーを吐いてしまいました。(当然、MySQLにデータは登録されません)

ulogd2では、logテーブルが複数ありデータの挿入は関数(FUNCTION)で定義しており、処理を分けて複数のテーブルにデータを挿入する形を取っています。
この為、ulogd2の起動時チェック用logテーブルを用意してやる場合は、ulogd2のMySQL用データベースにある「INSERT_PACKET_FULL」と言う名前の関数(FUNCTION)のCREATEに書かれているカラムを、そのままダミーのlogテーブルを用意する。(実際にテストして見ました)

テスト環境
マシン:Raspberry Pi 3 Model B
OS:Raspbian(Linux raspberrypi 4.14.34-v7+ #1110 SMP Mon Apr 16 15:18:51 BST 2018 armv7l)
MySQL:10.1.23-MariaDB-9+deb9u1 Raspbian 9.0
PHP:PHP 7.1
Webサーバ:Apache/2.4.25 (Raspbian)

手順
1.ulogd2とulogd2-mysqlをインストール
sudo apt install ulogd2 ulogd2-mysql

2.ulogd2用MySQLのデータベースとulogd2用のユーザを用意
以下にsqlファイルがあります。
/usr/share/doc/ulogd2/mysql-ulogd2.sql.gz

3.ulogd2のconfファイルの編集
sudo nano /etc/ulogd.conf
# loglevel: debug(1), info(3), notice(5), error(7) or fatal(8) (default 5)
loglevel=5

loglevel=1
にしてulogd2の起動時の状況を確認出来る様にする(※正常動作する様になったら5に戻す)

#plugin=”/usr/lib/arm-linux-gnueabihf/ulogd/ulogd_output_MYSQL.so”
の先頭にある#を削除し
plugin=”/usr/lib/arm-linux-gnueabihf/ulogd/ulogd_output_MYSQL.so”
とする

# this is a stack for logging packet to MySQL
#stack=log2:NFLOG,base1:BASE,ifi1:IFINDEX,ip2bin1:IP2BIN,mac2str1:HWHDR,mysql1:MYSQL
stack=log2:NFLOGの先頭にある#を削除し
stack=log2:NFLOG,base1:BASE,ifi1:IFINDEX,ip2bin1:IP2BIN,mac2str1:HWHDR,mysql1:MYSQL
とする

[mysql1]
db=”ulogd2用DB名”
host=”localhost”
user=”DBのユーザ名”
table=”ulog”
pass=”DBのユーザのパスワード”
procedure=”INSERT_PACKET_FULL”

4.iptablesの設定
ulogd1.xの時に使っていたスクリプトを修正する
ULOG –nlog-group 1 –nlog-prefix “ほげほげ”

NFLOG –nflog-group 1 –nflog-prefix “ほげほげ”
に変更

iptablesの設定後の状態を保存し、起動時用復元ファイルに保存する
sudo sh -c “iptables-save > /etc/iptables.ipv4.nat”

ネットワーク(インターフェイス)を有効にする前にiptableの設定を復元する処理を追加
sudo nano /etc/network/interfaces
# インターフェイスを有効にする前にiptableの設定を復元する処理
pre-up iptables-restore < /etc/iptables.ipv4.nat

5.Webfwlogのセットアップ
ダウンロードした「webfwlog-1.1.0.tar.bz2」を解凍し、
/usr/local/webfwlog-1.1.0となる様に配置する
ディレクトリを移動してスーパーユーザになる
cd /usr/local/webfwlog-1.1.0
su
./configure
make
make install

※もし、makeが正常に終了しない場合は、automakeをインストール
apt install automake

ここまでで、/usr/local/share/webfwlogとしてWebページが出来ます

※予め、MySQLにwebfwlog用のDBとそのユーザを登録(ulod2用のユーザが操作出来る様にしました)
次にMySQL用セットアップファイルのあるディレクトに移動
cd /usr/local/webfwlog-1.1.0/mysql
./setup

スクリプトの途中の選択では、
snortのlog使うか聞かれるが、「no」を選択する
ulogd2のDBの参照するテーブルは「ulog」を指定する
local hostnameを使うか聞かれる部分では、「no」を選択する

スクリプトの処理メニューで、
v で作成したmysqlスクリプトを見る ※ここは選ばなくても良いと思います
s で作成したmysqlスクリプトをファイルとして保存する ※念のため保存した方が良いと思います
r で作成したmysqlスクリプトを実行し、webfwlogの環境をセットアップを行う ※ここは必ず行う
q でメニューを終了する

su – pi # piユーザに戻ります

GeoIP関連を使える様にする
sudo apt install libapache2-mod-geoip
sudo apt install php7.0-bcmath

フリー版GeoIPデータベースファイルを取得する
GeoLite2 Free Downloadable Databases ≪ MaxMind Developer Site
取得したデータデータベースファイルを以下のディレクトリに配置して解凍する
cd /usr/share/GeoIP
sudo gunzip GeoLite2-City.mmdb.gz
sudo gunzip GeoLite2-Country.mmdb.gz

ついでに、コマンドラインでもGeoIPを使える様にする
sudo apt install geoip-database
sudo apt install geoip-bin

webfwlogの環境設定の編集と確認
sudo nano /usr/local/etc/webfwlog.conf

日付フォーマットを変更する部分
## Default: “m/d/Y h:i:sA”
dformat = “Y/m/d H:i:s”

タイムゾーンを変更する部分
# Default: “UTC”
timezone = “Asia/Tokyo”

GeoIPを使う設定に変更する部分
お好みに応じて、GeoLite2-Country.mmdbかGeoLite2-City.mmdbを指定
# Default: off
geoip_php_lookup = on
# The location for the geoip version 2 file to use as an absolute path
## Default: none
geoip2_file = /usr/share/GeoIP/GeoLite2-City.mmdb

後は、apache2にwebfwlogのページを追加する
sudo service apache2 restart

設定したwebfwlogのページをブラウザで確認する

上手く動かない場合は、syslog、apache2、mysqlのログなど確認し、原因を探って下さい。

6.おまけで、ulogd2がmysqlより早く起動してしまうとエラーとなるので、サービスの起動順を指定
systemdのserviceファイルを探す
find /etc/systemd/system -name ulogd2.service

ulogd2(ulod2..service)は、mysql(mariadb.service)の後にする様に指定
sudo nano /etc/systemd/system/multi-user.target.wants/ulogd2.service

[Unit]
Description=Netfilter Userspace Logging Daemon
Documentation=man:ulogd(8)
After=mariadb.service #ここの部分追加する

[Service]

以上、記憶たよりに投稿しましたので、間違っていたらご免なさい。m(_ _)m

構築したWebfwlogのページの画像
構築したWebfwlogのページの画像

参考サイト
ulogd-2.x
WebFwlog
Iptables logging using NFLOG and ulogd2 on Debian Jessie
[ulogd] seems something wrong with mysql-ulogd2.sql
[arch-general] ulogd fails to start – cannot find key `oob.in’
Linuxでのサービスやデーモンの起動順
9.2. システムサービスの管理
iptablesを使ってファイアーウォール(Debian)
iptablesのLOGをNFLOGにしてみる
ulogd2.xのDBの使い方
iptables+ulogd(2.x系)+WebFwlogでサーバアクセス監視(その1-ulogd-2.xのビルド)
動かないulogdとiptablelog analyzer – from where i live…
GeoLite2 Free Downloadable Databases ≪ MaxMind Developer Site
GeoIP2を使ってIPアドレスの情報を取得 (PHP編)
ApacheでGeoIPを利用する方法
知らなきゃ損するiptablesのTips
iptablesでできるDoS/DDoS対策
Service Name and Transport Protocol Port Number Registry
プロトコル番号 ( IP Protocol Number )
コンソールからグローバルIPアドレスがどこの国のものなのか確認する
SSHの接続元IP制限(国単位)をhosts.allow, hosts.denyで
interfaces 覚書

ルーターをRaspberry pi3に交代

ルーターをOpenBlockS266からRaspberry pi3に交代しました。
以前からRaspberry pi3のルーター化を色々とテストしていまして、OpenBlockS266と同じ機能を動かすことが出来たので、交代させました。
ほかにも、XOOPS CubeやXMailの動作テストは既に済んでいますが、今回はルーターとしての機能だけで運用することにしました。
市販の無線LANルーターも有りますがこちらは無線アクセスポイントとして利用しています。
Raspberry pi3のルーターは、サーバやネットワーク管理などのお勉強用として今後も色々とテストして見ようと思います。

OpenBlockS266とRaspberry pi3の写真
OpenBlockS266とRaspberry pi3の写真

※以下、2018.05.14追記
参考サイト
Raspberry pi を DHCP + DNS サーバーにしたい
Raspberry pi を NAT ルーター兼 DHCP + DNS サーバーにしたい
PPPoEのマルチセッションとルーティング イイ(・∀・)!!
らずぱい無線LANルーター化成功
Raspberry Pi 3 アクセスポイント化 ~hostapd~
Raspberry Pi 3のWIFIをAPモードにする方法
Raspberrypi OS (stretch) のリポジトリを日本に変更する
Raspberry Pi をWifi Access Pointにする簡単な方法!
RaspberryPiをアクセスポイントにする(ブリッジモード)
raspberry Pi 3 を WiFi アクセス・ポイント化する
RPiで無線LANのブリッジアクセスポイントを作る
ラズパイで有線LANをTCP接続機器に、Wi-Fiをインターネットに接続する
Raspberry Piの時刻を合わせる
ntpdがうまく動かないのでcronでntpdateして時間合わせをした話
Linuxでのntpdateとcronを使った時刻合わせ

更新プログラム適用によるリモート デスクトップ接続への影響か?

2018年5月の更新プログラム適用によるリモート デスクトップ接続への影響かどうか判りませんが、更新プログラム適用後にWindows2008R2にリモート デスクトップ接続が出来なくなりました。

以下のサイトに情報がありました。
GW 開けの WU では RDP 接続エラーに注意(というか予告)
2018年5月の更新プログラム適用によるリモート デスクトップ接続への影響

ところが私の環境では「認証エラー」ではなく、単に「接続出来ない旨のエラー」が表示されます。
Windows2008R2の接続するネットワークは、社内ネットワークになっていた筈が、更新プログラム適用後はパブリックになってしまいました。
このためWindowsファイアウォールで、リモート デスクトップ接続のパブリックは無効にしてあった為に接続要求はブロックされた様です。
Windows2008R2の接続するネットワークを社内ネットワークに戻したら、あっさりとリモート デスクトップ接続が出来ました。
久々のトラブルシューティングでした。(^_^;

スタンバイピーを自作した頃の代物

部屋を片付けていたら、懐かしい薬品の容器が出てきました。
30年以上前の私がアマチュア無線局を開局した頃に、スタンバイピーを自作した頃使った薬品瓶です。

記憶では、この薬品は、プリント基板のエッジング用の薬品で黄土色ぽい固形物です。
タッパーに入れたぬるま湯に溶かしプリント基板を入れ不要な銅箔を溶かし(エッジング)ます。
乾燥後にシンナーで塗ってあるラッカー塗料を拭き取り基板を完成させた。

スタンバイピーの回路は、遅延回路とCR発信回路という構成の簡単な回路です。
この回路図からプリント基板にラッカー塗料を手書きで塗って、エッジング処理をします。
穴あけ、電子部品を実装して組み付け、「ピー音」や遅延時間の調整をしたと記憶しています。
プリント基板、トランジスタ、コンデンサ、抵抗などの部品類は秋葉原まで買いに行きました。
薬品は地元の薬局に注文したと思います。

参考サイト
スタンバイピー実装

Raspberry pi3のルーター化を試し始めた

Raspberry pi3のルーター化を試し始めました。

OSとして、LEDE(OpenWrt互換)かRaspbianかと思い、Webで情報を集めてテストして見ました。

LEDEでは、http(WebのUI)でのアクセス出来るが、SSHやtelenetでのアクセスが出来ません。
また、追加したUSB接続のLANアダプターを認識してくれず、PPPoEを設定する画面も見あたりません。
私の探した方が悪いのか、設定によって現れるのかも知れません。
ただし、UIを日本語に変更したり、無線LANをアクセスポイントとして使用することは出来ました。

Raspbianでは、幸い、追加したUSB接続のLANアダプターを認識してくれて、現在使っているルーターの設定ファイルを参考にして構築出来そうな感じなので、最小限のソフトを入れてテストしようと思います。
本当に思った通りに動作するか解りせんけど...。

LEDE(Web UI)のログイン画面
LEDE(Web UI)のログイン画面

LEDE(Web UI)のステイタス画面
LEDE(Web UI)のステイタス画面

Raspbianのifconfigコマンド画面
Raspbianのifconfigコマンド画面

参考サイト
OpenWrt Project
RaspberyPi3で携帯用のWiFiのアクセスポイントを作るためにOpenWRT互換のLEDEをインストールしてみる
Raspberry Pi 3にLEDEをインストールした後の初期設定作業を自動化する
OpenWrtでPPPoEを使う
OpenWrt
LEDE(OpenWrt)でPPPoE on VLAN
DS-Lite(RFC6333)対応ルータをLinux (Raspberry Pi) で作る
格安SIM(MVNO)とRaspberry Pi(ラズベリーパイ)でモバイルルータを作った -初期設定から完成まで-
Raspberry Pi Zero WにLEDEをインストールして自分専用の携帯用WiFiアクセスポイントにする
Raspberry Pi/LEDE によるルータ化
家のWi-Fiの環境をRaspberry Pi 3BとLEDEで構築し直したお話。
ラズパイがファイアウォール付き無線LANルーターに変身、「LEDE」で簡単に
Raspberry pi を NAT ルーター兼 DHCP + DNS サーバーにしたい
Raspberry Pi をルーター&無線LANルーター化する
[Debian]linuxルーターの構築 その1 PPPoE(カーネルモード)とiptablesの設定
RaspberryPiをPPPoE対応Wifiルーターにする
Raspberry Pi をWi-Fiアクセスポイント&ルーター化する
Raspberry PI で NAT ルータを作る
Raspberry PiにPPPoE接続でグローバルIPを割り当てる。
ネット環境が壊れた?! Raspberry Piルーター化
Raspberry Piルーター化2
Raspberry Piでローカルアクセスポイントを立てる

三菱 アイのリアタイヤを交換

三菱 アイのリアタイヤの溝が残り少なくなって来たので、交換しました。

アイを中古で購入した際、販売店でフロントをHIFLY HF201 145/65R15 72Tに交換してくれていたので、リアをHIFLY HF201 175/55R15 77Tというタイヤにしました

このタイヤはサマータイヤとして販売されているが、M+S(マッド アンド スノー)の刻印があるタイヤので、4WDのアイにとってはオールシーズンタイヤとしてのコスパは良いと思い購入を決めました。

若かりし頃、パートタイム4WD車にM+Sタイヤを装着して、志賀高原、妙高高原、上越方面、蔵王や月山(山形)などの各スキー場への足として使用していました。
アイスバーンを除けば、M+Sタイヤでも4WD車でゆっくり走行することで、結構走ってくれました。(当然、雪道走行の時にはチェーンを携行し、アイスバーンの走行時にはチェーンを装着していました)
まあ、雪道走行の評価は来シーズンにならないと出来ませんが、昔のM+Sタイヤに較べると静粛性は良い様に思います。
あとは耐久性がどれ位か、現在の残り溝はフロントが6mm以上、リアが7mm以上です。

HIFLY HF201 175/55R15 77T M+Sの写真
HIFLY HF201 175/55R15 77T M+Sの写真

参考サイト
HIFLY TIRES
AUTOWAY LOOPサイトのHIFLY HF201 175/55R15 77T
T・Sタイヤshop

MySQL 8.0.11(GA)のインストールをテスト

MySQL 8.0が一般公開版としてリリースされていたので、MySQL 8.0.11(GA)のインストールをテストして見ました。

MySQL 8.0は開発者向け版からテストしていたので、最初はサーバ(Windows)にインストールされている「MySQL Installer – Community」から、Add(追加)でインストールを試みたところ、プログラム部分は正常にインストールされるが、Dataフォルダに初期データが作られずに途中停止する状態となり先に進めません。

次にZIP版をテストしたが、データの初期化までは出来るがサービスを起動出来ません。
ZIP版の場合は、my.iniのパラメーターや初期設定のコマンドが変更されている可能性があるではと思っています。

結局、「mysql-installer-community-8.0.11.0.msi」を使ったインストールだと問題無く、MySQL 8.0.11(GA)のインストールが完了ます。
はじめからインストーラを使えば良かったと後悔しています。
これから実データを入れて、色々と試したいと思います。

参考サイト
Download MySQL Community Server


 

Powered by XOOPS Cube 2.2 © 2001-2016 XOOPS Cube Project Distributed by XOOPS Cube 2.2 Distribution Team.