Blog.name = " 名前はまだない "

ITだったりそれ以外だったり

今更RTX1100購入した話

ことのきっかけ

今まではESXiを使用した仮想マシンでサーバー構築がメインの仕事でしたが、 社内のネットワークにも触れる機会が増えてきました。
今までもマイクラやその他の通信を通すためのポートフォワーディング設定をするために au光のあの白いホームゲートウェイをいじりはしてましたが、
業務用のちゃんとしたルーターを触ったことはなかったため、 2021年にして2005年発売のRTX1100をヤフオクで買いました。

550円+送料630円で合計1130円。お安い

購入したRTX1200

f:id:manace:20211120121255j:plain
デスクトップPCの上に鎮座するRTX1100

(上に乗っかってるのはハードオフで発掘したものの使う当てがないFA-101です)
現在の最新機種RTX1220は金属筐体でL2スイッチポートも全部で8ポートありますが、 このRTX1100は全ポート裏側、LAN1のL2スイッチも4ポート、コンソールの規格もRC232の時代を感じる仕様です。

早速ホームゲートウェイをこのRTX1100と入れ替えて...としたいところなのですが

という問題があるため、渋々二重ルーター状態で設定の確認用として活躍してもらってます。

運用

二重ルーター状態にして、上位のホームゲートウェイと、RTX1100でそれぞれルーティングの設定を行い、 RTX1200では一応LAN1〜3にそれぞれIPの設定とLAN1にはDHCPの設定を行っています。 我が家にちょうどNICを2つ待つラズパイ4Bがあるため、色々テストを行うには困りません。

メインじゃないぶん気軽に弄ることができるのは良いものの、 せめてギガビットに対応したRTX1200にしておけばメインにもできたのかなと今更ながらに思っています。
ですがRTX1200も現実のスループットは意外と遅いらしいので 次買うときはNECのUnivergeシリーズを買ってみたいです。(どうやらNECはあのCiscoと似たコマンド体系らしい)

コンソールケーブルがなくて困った話

このような機器を設定するときはコンソールケーブルをつないで設定を行うのが定石ですが、 生憎にも私はコンソールケーブルを持っていません。 しかもRTX1100は工場出荷時にIPv4の初期設定がされていません。(RTX1200以降は192.168.100.0/24とDHCPがLAN1に設定されています。)

調べるとIPv6は設定されている模様、しかも匿名アドレスを使用しない時代のものなので MACアドレスから計算が可能な代物のようです。

以下のようなサイトでぱぱっと計算してもらいましょう。 私は別なブログで紹介されてた手順に従って手計算しました。

pg.kdtk.net

あとは telnet [求めたアドレス] で接続するだけでルーターに入れます。

結局現在は未だにコンソールケーブルは購入せず、全部SSHtelnetで設定しています。

Docker-composeでGitLabをぱぱっと構築する

唐突ですが身の回りでこんなファイルがありませんか?

hogehoge_20211009.txt
hogehoge_20211009_old.txt
hogehoge_20211012.txt
hogehoge_20211012(佐藤確認済).txt

現代ではドキュメントのバージョン管理が必須の時代になりました。 それでも往々にして上記のようなクソ管理が横行しています。 これを駆逐するためにバージョン管理ツールを使用するわけですが、 WordやExcelで作られた非プレーンテキストな文章を無理やりGitで管理しようと思うと GitHubのようにWebからぽいっと更新できたほうが便利です。
(むしろ上のような管理をする人はこれぐらい手軽じゃないとやってくれません)

セキュリティ上、クラウドサービスにデータを置きたくないという場合もあると思います。 そこで自身でホスティングできるGitHubクローンのGitLabを Docker-composeを使ってお手軽スピード構築していきます。 *1


準備

今回はLinux (Ubuntu)で環境構築を前提に進めていきます。 GitLabは結構リソースを喰うのである程度のスペックのマシンを用意してください。 起動時点で消費RAMは4GBを超えます。

Docker, Docker-composeの導入

これらの導入は公式を参照してください。

docs.docker.com docs.docker.com

docker-compose.yml の作成

参考: https://gitlab.com/gitlab-org/omnibus-gitlab/raw/master/docker/docker-compose.yml

GitLabが公開してるファイルを少しいじります。 適当な場所に以下の内容でdocker-compose.ymlを作成します。

gitlab:
  image: 'gitlab/gitlab-ee:latest'
  restart: always
  hostname: 'gitlab.example.com'
  environment:
    GITLAB_OMNIBUS_CONFIG: |
      external_url 'http://192.168.xxx.zzz:8085'
      nginx['listen_port'] = 80
  ports:
    - '8080:80'
    - '2222:22'
  volumes:
    - GITLAB_config:/etc/gitlab
    - GITLAB_logs:/var/log/gitlab
    - GITLAB_data:/var/opt/gitlab

IPアドレスやポートフォワードの設定は各自自由に設定してください。 ボリュームに関しては次で紹介します。

ここではGITLAB_OMNIBUS_CONFIG: に nginx[listen] = 80 を追加しています。 これがないとブラウザからアクセスできません。

データの永続化を行う

バージョンアップなどでコンテナの再生成が必要になった際、リポジトリデータを消すわけには行かないので データの永続化を行います。

永続化には大まかに

  • ボリュームを作成するボリュームマウント
  • ホストのディレクトリを直接バインドするバインドマウント

がありますが、今回はできる限りホスト側での管理をなくしたいので ボリュームマウントを使用します。

先程docker-compose.ymlで指定したボリューム3つ (今回は GITLAB_config, GITLAB_logs, GITLAB_data)を作成します。

$ docker volume create GITLAB_config
GITLAB_config
$ docker volume create GITLAB_logs
GITLAB_logs
$ docker volume create GITLAB_data
GITLAB_data

実行

コンテナの生成、起動

起動は docker-compose up するだけです。(バックグラウンドオプション -d はお好みで)

manace@ubuntu-srv:~$ docker-compose up -d
gitlab_gitlab_1 ... DONE

初回はGitLabコンテナ(1GB超え)のダウンロードがはいるのでいっそう時間がかかります。

冒頭で紹介した通りGitLabは結構重いWebアプリケーションです。 コンテナのup直後に docker ps でSTATUSを見ると
Up 5 minutes (health: starting) となってまだ起動中であることがわかります。

第4世代i3程度の性能だと途中で STATUSがunhealthyとなるぐらいには重いです。 healthyになるまで待ちましょう。

GitLabの設定

rootパスワードの設定

早速docker-compose.ymlで設定したアドレス http://192.168.xxx.zzz:8080 にアクセスすると

f:id:manace:20211118153949p:plain

本来は初回アクセス時にrootパスワードの設定画面が出るようですが、私の環境下では出ませんでした。
ネット上ではrailsのコンソールから強制的にDBに登録されたパスワードを変更するという手法が紹介されていますが /etc/gitlab/initial_root_password にrootの初期パスワードが記載されていることが判明したので、 コンテナに入りパスワードを確認します。 *2

manace@ubuntu-srv:~$ docker exec -it gitlab_gitlab_1 bash
root@gitlab:/etc/gitlab#
root@gitlab:/# cd /etc/gitlab/
root@gitlab:/etc/gitlab# ls
gitlab-secrets.json  initial_root_password  ssh_host_ecdsa_key.pub  ssh_host_ed25519_key.pub  ssh_host_rsa_key.pub
gitlab.rb            ssh_host_ecdsa_key     ssh_host_ed25519_key    ssh_host_rsa_key          trusted-certs
root@gitlab:/etc/gitlab#
root@gitlab:/etc/gitlab# cat initial_root_password
# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: onh3cCPyUZBt+1yb2aY7og6TUqpQYKJ2fLJQ5zjbE18=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.
root@gitlab:/etc/gitlab# exit

ここでは Password: onh3cCPyUZBt+1yb2aY7og6TUqpQYKJ2fLJQ5zjbE18= がパスワード部分です。 こちらを入力すると

f:id:manace:20211118152536p:plain

無事GitLabが使用できるようになりました!

あとは設定からrootパスワードを変更してお好みに設定してください。
いちおうGitLabは日本語を選べますが翻訳率は40%弱程度なので、 日本語欲しさにGitBucketではなくGitLabを選んだ方はご注意を。

*1:個人用、検証目的レベルでの構築ですので、本格的に運用する場合は 公式のリファレンスを読んでしっかりチューニングしてください。

*2:docker-compose.ymlで先に設定する方法もあります

Google Nest miniでスマートスピーカー入門

YouTube Premiumの特典?

音楽ストリーミングサービスとしてYouTube premium(Google play musicがメイン)を契約していますが、12月18日頃にこんなメールが送られてきました。 f:id:manace:20191223222938p:plain

突然過ぎて、スパムメールかと思いましたが、ドメインもしっかりGoogleのものであることを確認して目を通すと、なんとYouTube Premium会員に無料でGoogle Nest Mini(Google Home Miniの第二世代)をプレゼントしているとのこと。

というわけで、

f:id:manace:20191223224437j:plain
外箱
当日中に申し込んで本日届いたので、人生初のスマートスピーカーがどのようなものだったかを書いていきたいと思います。


開封〜セットアップ

f:id:manace:20191223225701j:plain
色はブルー(Sky)をチョイス。ちょっと淡めでいい感じ

箱を開けると早速Google Nest Miniがお目見え。 ちなみにサイズ等は以下の通り

サイズ
直径: 98 mm 高さ: 42 mm 電源ケーブル: 1.5 m

重量
バイス: 181 g

初めは想像より一回りほど大きく感じたが、すぐに慣れた。 マクドナルドのハンバーガー程度かな?

セットアップはスマホからGoogle Homeをインストールして行わなければならない。
Google Nest Miniを電源に接続し、あとはアプリの指示に従うだけ。
一つ気になったとこは、アプリでのセットアップ中、一つ前の設定に戻ることができないということだ。
よくわからずにタップすると自動的に次の項目に移ってしまうため、後で設定するのが煩わしいという人は予めよく説明を読んでからセットアップを行おう。

初めてのスマートスピーカー

セットアップを終え、いざ使おうとしても、今までMacのSiri、スマホOk, Google(あとWindowsのCortana)共にあまり使ってこなかったため、とりあえず音楽を再生させる。

私「Ok, Google. 静かなジャズを再生して。」
Nest 「大人向け、静かなジャズですね。Play Musicから再生します。」
*流れるジャズの音

音量調節も、次の曲にスキップも音声だけで操作できる。

あ、こりゃあいいや

音楽好きの自分にとってはなかなかに使えるものでした。
他にも、明日の天気や、各国の首相など、Siriに質問してたことは一通り教えてもらえることも確認。
初めてスマートスピーカーを使ってみましたが、声一つで音楽を家に流せると考えると、なかなかに便利なものです。

便利だけど...

少なくとも、音楽を流す機能は適当な音楽を流して起きたいときに便利ですね。
ただ、スマートスピーカー最大の特徴であるCMでやっているような照明のON,OFFなどの連携は、対応したスマート家電がないとできないため、
現状、音楽を頻繁に流そうとしない人と、スマホで調べるのすら面倒くさがりの人以外にはあまり向かないかもしれない。


とりあえず、しばらく使ってみようと思います。

今更ながらブログを始めてみた

はじめまして

年号も令和になり、元年もあと2ヶ月半で終わろうとしている今日このごろですが、今更ながらブログを始めてみた。 ユーザーIDは manace だが、最後の2文字は読まずにマナと読む(ってことにしている)

実はブログ自体は初めてではなく、4年ほど前にみんな大好き(だった)Yahoo! Blogでブログを書いてた時期はあったけど、3年ほど続いてあまり書かなくなってしまい、放置していた。(所謂黒歴史とか言う奴に近い)
ただ、文章を書くということを続けたいなとは思っていたので そしてこの度のヤフブロのサービス終了を気に負の遺産を闇に葬って心機一転はてなブログにやってきた次第でございます。

このブログのこれから

もともと、自身の知識のアウトプットのためというのが一番の理由です。 出身が情報系ということもあり、自身の備忘録、(できれば)開発日誌、発信出来るようになることが目標です。

今の所(2019/10/22)の予定では

  • 増税前に購入したMacBookPro 13" 2019 のレビュー
  • Kickstarterでプレッジした企画の商品レビュー(2つ)

を予定しています。

多分誰も見ないと思うので、のんびりと更新していこうと思います。 それではまた会う日まで。