「パソコンのこと」カテゴリーアーカイブ

ブログというものを書き始めて14年目に入ったみたい

ども。こんばんは。

ということで、2005年1月から書き始めて気づけば丸13年、今年から14年目に入ったようです。

むしろ最近になってからのほうが更新頻度が高い気がしますね。

古い記事については、ちょっとやんちゃなことが書いてあったりするのでほぼほぼ非公開ですが・・・。

そんな感じで14年目もマイペースに書いていければいいなと思います。

ではでは。またの機会に。

久々にNASファームウェア更新とか

ども。こんばんは。

久々にVMも止めてファームウェア更新しました。

esxiって6.5以上の無償版って無いのかな?VMwareのサイト久々に覗いたけどなかったっぽいなー。

で、無事更新終わって、

ReadyNASは6.9.1
QNAPは4.2.6(biold 20171208)

になりました。

その他Windows Updateとかyumのアップデートとかも諸々実施。

QNAPもそろそろリプレースを真面目に考えないとなあ。

ではでは。またの機会に。

SSHで「no matching key exchange method found. Their offer: diffie-hellman-group1-sha1」と言われたら

ども。こんばんは。

最近ウチのCatalyst 3750にSSHできなくなってしまいました。

bash-3.2$ ssh hoge@hogehoge

Unable to negotiate with 192.168.x.x port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1

これ、macOS Sierra以降で起きるみたい、というかRaspbianでも起きるのでもう最近のSSHの仕様として弱い暗号アルゴリズムはサポートしないという感じですね。

一応、ホストごとに弱いCipherもサポートできるようにできるみたいです。
以下のconfigを編集します。

$ vi ~/.ssh/config

私は↑のファイルはなかったので新規作成しました。こんな感じです。

Host hogehoge←ホスト名
KexAlgorithms +diffie-hellman-group1-sha1

Host 192.168.x.x←IPアドレスで繋ぐこともあるかも?なのでIPアドレスも書く
KexAlgorithms +diffie-hellman-group1-sha1

実はこれだけはダメでした。この状態で繋ぐと

bash-3.2$ ssh hoge@hogehoge

Unable to negotiate with 192.168.x.x port 22: no matching cipher found. Their offer: aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

なので、最終的にこんな感じに。

Host hogehoge←ホスト名
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

Host 192.168.x.x←IPアドレスで繋ぐこともあるかも?なのでIPアドレスも書く
KexAlgorithms +diffie-hellman-group1-sha1
Ciphers +aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc

解決はしましたけど、これ、そもそもIOSが古いですね。もう駄目かなー。

そんなうちのIOSはこんなやつです。

Switch   Ports  Model              SW Version              SW Image            
——   —–  —–              ———-              ———-          
*    1   24     WS-C3750G-24T      12.2(37)SE1             C3750-ADVIPSERVICESK

ではでは。またの機会に。

Google AIY Voice Kitで自作スマートスピーカー – 2 – GCPへの登録とサンプル実行

ども。こんばんは。

続いては、GCP周りです。

これもガイドには載っていますが、ガイドの画面キャプチャがちっちゃいのでこちらでも紹介したいと思います。

今回はGoogle Assitant APIを使うためにGoogle Cloud Platformにサインアップして、新しいプロジェクトの作成やAPIキーを取得します。
取得したAPIキーをAIY Voice Kitにコピーしてサンプルを動作するところまでをやります。

まずはGCPのコンソール(https://console.cloud.google.com/)にアクセスします。

私は初利用だったので、規約の同意とかが出てきました。
※Googleのアカウントはすでに持っていたモノを使っています。

新しいプロジェクトを作成します。

任意ですが「AIY Voice Kit」とかにしてみました。

できました。

作成されたプロジェクトが選ばれていることを確認して「API & Services」のダッシュボードに移動します。

Google Assistant APIを検索します。

APIを有効します。

有効化できたらこんな感じになります。
※「認証情報の作成」っていうボタンを押したくなるのですが一旦我慢します。

こんな感じで、左側の「認証情報」を選択して「OAuth同意画面」を設定します。
ユーザに表示するサービ名は最後に出てきます。
※それ以外はメールアドレスのみ入力しましたが多分大丈夫。。

で、次左のタブに移動してOAuthのクライアントIDとクライアントシークレットを作成します。

クライアントの種別とかを設定します。
今回はその他にして手打ちで入力しました。

作成を押した後ポップアップでIDとシークレットが表示されますが後でダウンロードできます。

出来上がったものをダウンロード(JSON形式)します。

ここまででGCP上での操作は一旦終了!

次にGoogle Assistant関連のアクティビティの設定をします。
これ結構重要みたいです。

実際にAssistantを使いたいGoogleアカウントでアクティビティの管理(https://myaccount.google.com/activitycontrols)にアクセスします。

以下のアクティビティを有効にします。(私は全部有効になっていました。)

  • ウェブとアプリのアクティビティ
    • Chrome の閲覧履歴と Google サービスを使用するウェブサイトやアプリでのアクティビティを含める
      ※↑これにチェック入ってないと一辺倒な応答しか返さない?らしい。
  • 端末情報
  • 音声アクティビティ
  • イメージはこんなかんじ。

では、いよいよAIY Voice Kitを使います!

ダウンロードしてたJSONファイルを転送します。

 

ダウンロードしたJSONファイルをAIY Voice Kitにアップロードします。
※ダウンロードした状態だと「client_secret_****」という名前のはず。

アップロード後以下のファイル名にリネームします。

/home/pi/assistant.json

ここまでで準備完了。

いよいよサンプルプログラムを実行するのですが、私はSSH環境でやっています。

HDMIでディスプレイに繋いでいれば、AIY用のターミナルがあるようですが、SSH経由だと環境変数などを一旦読み込む必要があります。

こんな感じ。(piユーザでログイン後に実行)

pi@hoge~ $ cd AIY-voice-kit-python/
pi@hoge:~/AIY-voice-kit-python $ source env/bin/activate
(env) pi@hoge:~/AIY-voice-kit-python $

じゃぁOK Googleなやつ言ってみますか!

(env) pi@hoge:~/AIY-voice-kit-python $ src/assistant_library_demo.py

※初回は以下のようにアカウントの同意?を求めるURLが出る模様です。ディスプレイとか繋いでるとブラウザが立ち上がってたのかも?

とりあえず普通にURLをコピーして(別の端末でもいいので)アクセスします。

アカウントの選択が出てきます。

アクセスを許可します。

コードが出てくるのでこれをSSHに戻って貼り付けます。

これで喋るはずです。

OK google!

(ボタンが光ります!おおお!)

今日の天気は♪

You are welcome!

・・・You are welcome?

 

!?

・・・あれ?

あ、こいつ英語しかしゃべれないんだった・・・

ということでこうなりました。
※こっ恥ずかしいので、私の声はカット済み。ハウアーユーとネイティブジャパニーズで喋りかけました。

 

あと、音でかい・・・。

音量(ボリューム)の調節はこちらが参考になりました。

Voice Kitで自作GoogleHomeを作る際に付け足したこと

$ sudo amixer -M #←ミキサーの名前を確認

$ sudo amixer set Master 70% #←音をちっちゃく。
Simple mixer control ‘Master’,0
  Capabilities: volume
  Playback channels: Front Left – Front Right
  Capture channels: Front Left – Front Right
  Limits: 0 – 255
  Front Left: 179 [70%]
  Front Right: 179 [70%]

起動時に小さくする用にしたほうがいいですね。

日本語の件は、一応つい最近Assistant SDKが多言語対応したみたい?ですね。

Google、「Google Assistant SDK」を日本語対応などの新機能でアップデート

あと、先駆者の方がいらっしゃいましたが、いわゆるGoogle Homeのようにはなかなかいかない模様ですね。。。

AIYスピーカーを、ほぼ日本語版Google Homeに【Google Assistant SDアップデート】

と、とりあえず動いた!!!

次回は・・・。。。うーん。どうしましょ。日本語対応ですかね。。。

あと、Cloud Speech(音声の認識してくれるサービス)は有料?らしいですが、日本語もちゃんと聞き取れる見たいでです。

また、登録していませんが、2017年12月30時点では、

料金はざっくりまとめると、月間60分までは無料。(15秒単位。一秒しか喋らなくても15秒分としてカウントされる)
それ以上(61~100 万分)は、$0.006 / 15 秒*らしいです。

えと、単純計算で

60分/15秒=240回

240回/31日=7.741…

一日7回までは無料で使える感じですかね。単純計算ですが。

で、まぁ追加になっても15秒1円もかからない($0.006=0.67643743 円 2017/12/30時点)し、いいかなぁ。
これも無料トライアルに含まれるんかな?(←まだトライアル登録してないけど。)

バックナンバー

ではでは。またの機会に・

Google AIY Voice Kitで自作スマートスピーカー – 1 – 組み立て〜初期設定編

ども。こんばんは。

先日キットは先行販売分が届いていましたが、
今日新しいRaspberry Pi 3 Model Bも届きました!

年末年始遊ぶよ!

ちなみに私は12連休の人です(^q^)

まずは組み立てて普通にラズパイとして使える状態にするところまでをやります。

先に書きますと、途中で両面テープが必要!!です。なかったのでちょっと困りました。

いろいろやり始める前にOSのイメージを準備しておきます。

専用にカスタマイズされたOS(Raspbianベース)が公開されていました。

https://aiyprojects.withgoogle.com/

あと、イメージの書き込みツールとしてEtcherというのが推奨されていましたのでこれもインストールしました。
これ結構良さそう!

ダウンロードしたイメージを選んで焼きます。

シンプルで使いやすいぞ。

SD焼いてる間に開梱。

今回追加で購入したRaspberry PI一式。全部KSYさんで購入しました。¥6,453なり。
SDはAmazonでも良かったのですが、ラズパイ本体(黒電源セット)が¥4,995とギリギリ送料がかかってしまう値付け笑だったので、KSYさんで購入しました。Sandiskの16GBで¥1,458なり。以前購入したもののほうが値段は安くスピードは出そうです。

改めてAIY Voice Kitとご対面。

開封の儀〜。写真付きのマニュアルがあります(英語)。十分読めます。

内容物はこんな感じ。意外とスピーカーがちゃんとしてる!ボタンは緑でした。色って選べたのかな?

では組み立てます。基本ガイド通りです。
まずはスペーサーみたいなやつをラズパイに挿してHATをかぶせます。
※このスペーサー(スタンドオフ?)は、真上から押してもなかなか入りませんでした。前後にグリグリやると入りました。。

スピーカーをつなぎます。
このケーブル、両方赤っぽいですが、奥側は反面が黒に塗られてます。。。
+/-はHAT上にも印字があるので、黒いケーブルを-側に。

差し込んだらドライバーで締めます。

次にマイク用とボタン用のケーブルをHATに接続します。
4ピンと5ピンなので迷わないはず。

マイク側も繋ぎます。
これ!後で両面で貼らないと駄目です。
一応トゲトゲ?がついててダンボールにブスっと刺さりますが、ガイドには両面で貼ってって書いてますね。

次は箱を組み立てます。まずは底から。

もう一つある箱も指示通り折り曲げていきます。

ラズパイとスピーカーを収めます。

外箱にいれます。写真撮り忘れましたが、マイクボードもつけます。(両面で)

いれ終わったところ。HDMIと電源もちゃんと横から抜き差しできます。

なんか斜めってるけどUSBとLAN

だいぶ斜めってるけど、SDカード・・。

ボダンを取り付けます。

ボタンのケーブルを刺します。
なんか「宝」って書いてる・・・。向きに注意してケーブルはガイド通り。色で判別でいます。

白 黒
△宝△
青 赤

です。

でけた!

SDも焼きががりました。

ここから、私は以下2つの操作をしました

・/boot/直下に空っぽのsshファイルを作成。(SSHを有効にするため)

あとWiFiの設定もしました。/boot/直下にいつもの「wpa_supplicant.conf」を書いておけば読み込んでくれる見たいです。

じゃぁSDカードを挿入して起動します!

おおおお。専用の壁紙だー。

ダイアログが出ているのはSSHが有効になっているってのとパスワードがデフォルトだってことが書いています。
※デフォルトID/パスワードはRaspbianと同じでpi/raspberryです。

デスクトップにある「Check audio」を実行します。

おおー。音出た!あと、自分の声を録音して再生してくれます。

意外と音でかい笑あと思ったより音がいい。

できました。

後は、piユーザのパスワード変えたり、Wifiのリージョンを変えたり、タイムゾーンを変えたり、apt-get update、apt-get dist upgradeとかrpi-updateとか。
※この辺を参照。NTPは入ってたな。最初から。

間違いないくpiユーザ消さないほうがいいですね。今回は。

次回はGCPとかを設定してGoogle Assistant APIを設定します。

ではでは。またの機会に。

 

 

FortiOS 5.6のNGFWとDNSフィルタの使えなさがやばい

はい。やばいです。

先日も書きましたが、下手にアプリケーションでポリシーを書くとえらい目にあります。

このvideoとaudioのポリシー、SMTPまで引っ掛けてました。。。。

あと、DNSフィルタですが、これも酷い。。。

なんかmoneyforwardにつながらないと思ってたら、FortiGateのせいだった。。。

なんかね、名前解決できるはずなのに、エラーと判断した上にRedirectしやがった。(デフォルトではFortiNetのDNSにリダイレクトされる。)

なので、もう一旦無効にしましたよ。

以前のようにポリシーのプロファイルとしてURLフィルタが当てられないので、地味に困る。

結局またall->all->allで、URLカテゴリ指定したポリシー作ってもいろんなものが吸い寄せられるんだろうなあ。

うーん。これはNFGW機能OFFにして旧来通りのポリシーベースにしようかなぁ。。

ではでは。またの機会に。

FortiOS 5.6.3でAVが効かなかった件解決?

ども。こんばんは。

先日の記事でアンチウイルス(AV)とDNSフィルタが何故か動作しないということを書きました。

FortiGate 90Dへのリプレース完了

で、これ結論から言うと動作しました。

今回我が家では・・・こんな感じで、一部のクライアントをvdom1からvdom2にカキーンと曲げています。

クライアント ー ーーーーvdom1 ーー Interlink
(一部クライアント)       \ ← PolicyRoute+AV/DNSフィルタ
クライアント ーーーーーvdom2 ーーー OCN

とどのつまり、vdom1からvdom2へのvdom linkに抜けるタイミングのポリシーでアンチウイルスとDNSフィルタを有効にしていました。

これだと動かない模様ですorz

なんでvdom1でやりたいかというと、プロファイルの管理がし易いかなとかそんな理由です。。。

うーん、これ前からそうだっけかな。

まぁとりあえず動いたかな。

でもDNSフィルタが聞かないぞ・・・ちゃんとDNSサーバから外にでるポリシーに当ててるつもりなんだけどなー。

あ・・・・DNS通信、video/audioに持って行かれてた模様・・・orz

※このポリシーの下にDNSとかHTTPとかのポリシーがある。

DNSだけポリシー上に書くかな〜。

ではでは。またの機会に。

 

くどいほどにMSSとかMTUの話

またまたままたMTUとかMSSの話。

もう何回目よって感じですが、前回間違ってました!

今更またMTUとかMSSの話

これ、ICMPとかのヘッダ分考慮漏れです。なので、普通にMTU 1454で、MSS 1414で良かったんですよね。

外からチェックしてくれるサイトありました。

http://www.letmecheck.it/mtu-test.php

で、FortiGateでは、もうこれ変えなくていいんじゃないか。と。。。

と言うか、こんなことしたらむしろPPPoE繋がらなくなりました。。。

dgw-ng (interface) # edit wan1
dgw-ng (wan1) # set tcp-mss 1414
dgw-ng (wan1) # set mtu-override enable
dgw-ng (wan1) # set mtu 1454

ログ見てると、PPPoE Status Reportとか言うのでMTU勝手に拾ってきてますね。

なので、もう悩みません。。。

ではでは。またの機会に。

 

FortiCloudのActivationできなかった件解決

ども。こんばんは。

リプレース中からうまくいってませんでした。

invalid user name or password

とか言われてログインできない=Activationできない。

原因は「日本の」FortiCloudに勝手に繋いでしまうから・・・。
気づくのにだいぶかかった。。。これやめて。。。

日本にはアカウント持ってないんだもの。
ちなみにグローバル?のFortiCloudには2014年の5月頃に登録していました。

さんざん探し回ったけど日本以外のサーバに変更する方法が見つからず。

結局JPのFortiCloudにアカウントを作って解決しました。

これイマイチだなぁ。
世界中にFortiGate撒くような案件だとどうなるんだろ。有償版は違うのかな?一応マルチテナントっぽいライセンスもあるっぽいし。

お、AVのオプションにもFortiSandbox出てきたな。

おまけ。FortiCloud関係のデバッグ

 

dgw-ng (global) # diagnose test application forticldd

1. dump fds setting

2. dump log controller status

3. dump log server status

4. dump msg controller status

5. dump msg server status

7. dump FDS default update server status

8. dump FDNI status

9. dump Contract Controller status

10. dump Configuration Manager status

11. dump FortiClient status

12. dump FortiManager status

13. dump image/cfg/script schedule

14. dump image list

15. dump fap version list

16. dump fsw version list

17. dump connection info

20. toggle debug of FortiGuard log

こんな感じ。

dgw-ng (global) # diagnose test application forticldd 3

Debug zone info:

    Domain:

    Home log server: 208.91.113.221:514

    Alt log server: 208.91.113.144:514

    Active Server IP:      208.91.113.221

    Active Server status:  unknown

    Log quota:      102400MB

    Log used:       0MB

    Daily volume:   20480MB

    FDS arch pause: 0

    fams archive pause: 0

    APTContract : 0

    APT server: 208.91.113.221:514

    APT Altserver: 208.91.113.144:514

    Active APTServer IP:      208.91.113.221

    Active APTServer status:  up

 

ではでは。またの機会に。

 

FortiGate 90Dへのリプレース完了

ども。こんばんは。

リプレース終わりました。

FortiOS 5.6.3も出てましたのでそれにしました。

NGFW機能は正直まだ改善の余地がたくさんありますね。

こんな感じの使い方ができるはずですが、実際には関係ない(はず)の通信がバカバカ引っかかります。。。
※意図としてはまんまです。

これPaloAltoならそれなりに意図通りに動くんだよなー。

うーん・・・。
いっときFortiGateは劣化NetScreenっていうイメージだったのが最近すごい盛り返した感があったけど、なんか今度は劣化PaloAltoって気がしてきた・・。でも安価に色々できるのはやっぱりFortiGateだよなー。

で、今回はSRX(Virtual Router 2つ)とFortiGate 40Cを束ねてVDOM 3つの運用になっています。

以下メモ。

・VDOM間のOSPFにはVDOMリンクにIPアドレスが必要。
・CatalystとのOSPFがうまくいかない。Catalyst側から広告されたルーティングが反映されない。逆はOKっぽい。
・Root VDOMからの別のVDOM経由でアップデートする設定にしている。デフォルトゲートウェイをVDOMリンクに向けている。VDOMリンクにIPアドレスが必要。
・IPSecが調子悪い。。。Phase2でセレクタを0.0.0.0/0なトンネルを2本作っているがどっちか片方しかActiveにならない・・・。
・Virtual IPでNATしているホストはCentral SNATよりもちゃんと送信元NATが優先される
・5.6から1つのインターフェースでマルチPPPoEができるが、Global VDOMではPPPoEインターフェースが作成でいない。結局あんまり意味がない。。。
→今VDOMに割り当てた物理インターフェースでアドレッシングをPPPoEにし、さらにそのインタフェースに紐付くPPPoEインターフェースを作っている。
イメージとしてはWAN1の下に複数PPPoEインターフェースを作って、それぞれをVDOMに当てたいが、それが出いない・・・。

・無償のFortiToken Mbileのライセンスをroot VDOMから別のVDOMに移動する方法

How to move the free FortiToken mobile licenses to a new VDOM or firewall

これ40Cのやつも移せるのかな・・・?

・なぜかAVが動作しない!!!!!
・DNSフィルタも!!

→解決しました。(2017/12/25追記)

 

あと、何故かFortiCloudに接続できない。。。ID/PW合ってるのに間違ってるって言われちゃう・・・。

まぁこっからポリシーの漏れとかいっぱいあるんだろうけど、とりあえず完了ということで。

まだZabbixとかSyslogの設定とか運用周りが追いついてませんが・・・・。

Juniper SRX 220-PoEとFortiGate 40C本当にお疲れ様でした!
※SRXは365日以上のUpTimeになっていました。

ではでは。またの機会に。