ザキンコのブログ

ザキンコの日記のはてなブログ版です。

突然出てきて戸惑うポップアップ広告メモ

f:id:zakinco:20181126175001j:plain
「サイトからのメッセージ」
Windows 10によってWindowsシステムが古くなり破損していることが検出されました。」
「ファイルが削除されないように、指示に従ってすぐに修正してください」
と表示された。一日に何度か表示されて頭に来たので記録。
ブラウザにそんなもん分かってたまるか的何かなので、ブラウザを閉じて終了。
(2018.11.27 追記)
音も出てた。うざい。

OpenMediaVault4のシステムをRAID1(ミラー)にする

OMV(OpenMediaVault)のインストールディスクで普通にインストールしてからRAID1に移行する方法と、Debian9のインストーラーでRAID1のシステムを作ってから、OMVを入れる方法と二通りあるけど、楽なのはDebian9のインストーラーでRAID1のシステムを作ってからの方だと思う。裏技でシェルスクリプト一発もあるみたいだけど、怖いから今回はパス。
sourceforge.net

OMVはNon-freeのファームをじゃぶじゃぶ使うから念のためUnofficialのイメージをダウンロードしてUSBに。USB起動して普通にRAID1を作ってシステムを入れる。GRUBを両方のディスクに入れるのを忘れない。
2018.11.26 追記 netinstイメージでシステムインストールしてOMVインストールできました

起動したらここを参考にOMVを入れる。
forum.openmediavault.org

うまくインストールできない人が居たみたいだが、たぶんnon-freeの入れ忘れだと思う。
forum.openmediavault.org

あとは、ディスクを一つ外してみてデグレードで動くかどうか?復旧ができるかどうか?テストしないと。

本稼働はプロキシー環境下に置かれるから、プロキシー設定のメモ。
lambdalisue.hatenablog.com
OMVのWebUIのインターフェースにプロキシ設定をしただけでは不十分なので /etc/profile.d/proxy.sh にきちんと環境変数を入れておく。
APT用にも/etc/apt/apt.conf.d/02proxy に入れておく。

VyOSで安物ルータを置き換える

vyos.io
Debianベースのルータ用ディストリビューションiptablesとかの設定をするよりかなり簡単。あとはUPnPが動けばなあ。(追記2023.5.7 セキュリティホールなので動かんでいいです)
自分でいろいろ設定して試行錯誤しなければならないけど、ファームの更新が期待できない安物ルータより良いかなと思う。
Ver.1.1.8はKernelがかなり古いのでVer.1.2RCがおすすめ。ブログからイメージがダウンロードできます。
blog.vyos.net
Ver.1.2RC用設定メモ。フレッツ光系の設定です。ファイヤーウォールは最低限度なのでこれから調べないと。

configure

で設定モードに入る。

commit

変更した設定を適用。

save

設定を保存。

exit

設定モード終了。

load /opt/vyatta/etc/config.boot.default

で設定をデフォルトに戻す。

設定するパソコンにはeth0、eth1、eth2があって、eth0は無視して、eth1をインターネットにeth2をLANに接続する予定。
デフォルトのID、パスワードはvyos、vyos
ログインしてから

set system time-zone Asia/Tokyo

タイムゾーン設定。

set service ssh port 22
set interfaces ethernet eth1 description INTERNET
set interfaces ethernet eth2 description LAN
set interfaces ethernet eth2 address 192.168.13.99/24

sshを有効にしてeth1とeth2に説明を付ける。eth2のアドレスを割り当てる。アドレス末尾が99なのは1は古いルータで稼働中だったから。

set service dhcp-server shared-network-name LAN authoritative
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 default-router 192.168.13.99
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 dns-server 192.168.13.99
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 domain-name local
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 lease 86400
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 range 0 start 192.168.13.100
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 range 0 stop 192.168.13.199

eth2でDHCPサーバーを動かす。

set service dns forwarding listen-address 192.168.13.99
set service dns forwarding name-server x.x.x.x
set service dns forwarding name-server x.x.x.x

ついでにDNSのフォーワーディングの設定もする。プロバイダから指定されているDNSを入れる。

commit
save

コミット、セーブ。
LAN側に何か端末を接続してIP割り当ててもらってsshでログイン。

set system login user vyos authentication plaintext-password xxxxxxxxxxxxxxxxxxxx

とりあえずデフォルトはまずいのでパスワード変更。

set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 static-mapping static-mapping-01 ip-address 192.168.13.2
set service dhcp-server shared-network-name LAN subnet 192.168.13.0/24 static-mapping static-mapping-01 mac-address 12:34:56:78:9A:BC

LAN内のSoftetherVPNサーバーのためのIP固定設定。

set interfaces ethernet eth1 pppoe 0
set interfaces ethernet eth1 pppoe 0 user-id abc@hoge.net
set interfaces ethernet eth1 pppoe 0 password xxxxxxxx
set interfaces ethernet eth1 pppoe 0 name-server auto
set interfaces ethernet eth1 pppoe 0 defaultroute auto
set interfaces ethernet eth1 pppoe 0 mtu 1454

PPPoEの設定。プロバイダから指定されている物を設定。MTUは1454。
www.infraexpert.com

set policy route PPPOE rule 100 destination address 0.0.0.0/0
set policy route PPPOE rule 100 protocol tcp
set policy route PPPOE rule 100 set tcp-mss 1414
set policy route PPPOE rule 100 tcp flags SYN
set interfaces ethernet eth1 pppoe 0 policy route PPPOE
set interfaces ethernet eth2 policy route PPPOE

tcp-mssの設定。これをやっておかないといけないらしい。
VyOS と PPPoE と MSS clamp の設定と - ..たれろぐ..

commit
save

古いルータからONUを外して接続し直してリブートしないとPPPoEの認証を通りませんでした。

設定モードから抜けて

show interfaces
show interfaces pppoe

インターフェースとPPPoEの接続確認。
PPPoEで接続後、

set nat source rule 100 outbound-interface pppoe0
set nat source rule 100 source address 192.168.13.0/24
set nat source rule 100 translation address masquerade

接続できていればpppoe0に対してSNATの設定ができるようになる。これでLANから通信できる。

set nat destination rule 10 inbound-interface pppoe0
set nat destination rule 10 destination port 500,4500
set nat destination rule 10 protocol udp
set nat destination rule 10 translation address 192.168.13.2

LAN内のSoftetherVPNサーバーのためのDNAT設定。

set firewall name LOCAL default-action drop
set firewall name LOCAL rule 10 action accept
set firewall name LOCAL rule 10 state established enable
set firewall name LOCAL rule 10 state related enable
set interfaces ethernet eth1 pppoe 0 firewall local name LOCAL

ルータに対してeth1から接続できないように。ESTABLISHEDとRELATEDは通過。

set firewall name INTERNET_LAN default-action drop
set firewall name INTERNET_LAN rule 10 action accept
set firewall name INTERNET_LAN rule 10 state established enable
set firewall name INTERNET_LAN rule 10 state related enable
set firewall name INTERNET_LAN rule 20 action accept
set firewall name INTERNET_LAN rule 20 protocol udp
set firewall name INTERNET_LAN rule 20 destination address 192.168.13.2
set firewall name INTERNET_LAN rule 20 destination port 500,4500
set interfaces ethernet eth1 pppoe 0 firewall in name INTERNET_LAN

インターネットからLANに対してeth1から接続できないように。ESTABLISHEDとRELATEDは通過。LAN内のSoftetherVPNサーバーのためにUDPの500、4500は通す。

(2018.11.27 追記)

set firewall name LAN_INTERNET default-action accept
set firewall name LAN_INTERNET rule 1 action reject
set firewall name LAN_INTERNET rule 1 destination address 10.0.0.0/8
set firewall name LAN_INTERNET rule 2 action reject
set firewall name LAN_INTERNET rule 2 destination address 172.16.0.0/12
set firewall name LAN_INTERNET rule 3 action reject
set firewall name LAN_INTERNET rule 3 destination address 192.168.0.0/16
set interfaces ethernet eth1 pppoe 0 firewall out name LAN_INTERNET

デフォルトだとプライベートアドレスが漏れるらしいので。何かWindows共有がおかしいと思ったら。

USB3.0接続でハードディスクの大量増設

Debianベースのopenmediavaultで、USB3.0接続の外付けハードディスクを40台認識して動いたので記念にメモ書き。
前まではASMedia ASM1142が載ったUSB3.1増設ボードにPlugableの4ポートハブを繋いで、ハードディスクを10台入れられるUSB接続ケースの「裸族のスカイタワー 10Bay IS」を4台接続していたが、この構成だと35台が安定して動く限界だった。
それ以上認識させようとすると他のディスクが見えなくなったりしていた。ログを見るとendpointがほにゃららというエラーが。
今回ASMedia ASM2142が載ったUSB3.1増設ボードを買って入れ替えてみたら同じ構成で40台無事に認識。
LinuxUSB3.0機器を大量に認識させるのは難しそうなので助かりました。

関連
zakinco.hatenablog.com

(追記 2019.1.17)
「lsusb -t」で接続速度を見たら10台*3はxhciの5000M(USB3.0の速度)で接続されているけど、残り10台はxhciだけど480M(USB2.0の速度)で接続されていた。エンドポイントが足りなくなったら自動的にUSB2.0に落とす機能が付いているのかも。速度が出ないので別の方法を考えないと。
(追記 2019.1.24)
backportsでkernel 4.19になったけど4.18と挙動が少し変わったかも。ハードディスクケースが調子悪くなって4台とも電源を入れなおして再起動したらすべてUSB3.0の速度で接続された。

HDAT2のバージョンアップ

前に作ったHDAT2専用ノートパソコンは今でも問題なく動いています。
zakinco.hatenablog.com

ただ、新しいバージョンの6.x系をUSB起動で動かそうとすると起動途中で止まるので、6.xはUSB起動で使えないのだと思っていたのですが、1分放置するとUSB起動でも動きました。何かのタイムアウトを待ってるのかな?

手順メモ。
RufusFreeDOS起動のUSBメモリを作って、
rufus.ie
HDAT2のHDAT2.EXE programの HDAT2_64.EXE をダウンロードしてきてUSBにコピー。
hdat2.com
BIOSUSBメモリから起動するように設定して起動すればOK。HDAT2_64.EXE を実行するだけ。簡単です。
Detect bad sectorsやPowerful testはお世話になってます。

起動しなくなったWindows10の復旧メモ

電源入れても「スタートアップ修復」が無限ループする状態。
なのでブート構成データストア(BCDストア)が壊れていると予想。
ここを参考に修復。
UEFI/GPTインストールしたWindowsの「ブート領域」の復旧方法 - ぼくんちのTV 別館
「bootrec /rebuildbcd」で「Windows のインストールとして認識された合計数: 0」に該当。
BCDを直したら今度は起動しようとしてブルースクリーン(ブートの重要なファイルが壊れています)になる状態になった。
f:id:zakinco:20181003143356j:plain
諦める寸前だったが、ここを参考に問題の個所(Wdfilter.sys)をregeditで削除。
boukenki.info
無事に起動するようになった。regeditで「ハイブを読み込む」なんて使ったことなかったけど起動するようになって良かった。
これでダメだったら再インストールの予定でした。
Wdfilter.sysがきちんと戻っているかは確認しなかったので、後で何か不具合出るかもなあ。

YaCyをWindowsにインストールしてみる

オープンソースの分散型検索エンジンなので面白そう。
https://yacy.net/

まずはOpenJDK。RedHatにID登録してからダウンロード。msiパッケージが楽です。
Red Hat Developer | Red Hat OpenJDK Overview
インストールしたらPathが通ってることを確認しておく。

最新版のコンパイルのためにApache Antを入れる。
こちら( http://note.onichannn.net/archives/3243 )を参考に最新の1.10.5をダウンロードして展開してパスを通す。ANT_HOMEとPathが入ってることを確認する。

YaCy本体はgithubからダウンロード。
github.com
使いたい場所に展開してAntでコンパイル
https://wiki.yacy.net/index.php/En:Update
なんかワーニング大量に出るけど動きました。
どうもFessがうまく動かなかったんでYaCyを使ってみます。

(追記 2020.1.20)
DATAフォルダに様々なデータが保存されているので、バージョンアップの時は古いフォルダから新しいフォルダにコピーしてやれば引き継げるようです。