NanoPi R2SでFreeBSDを動かす

やること Amazon買ったNanoPi R2Sで、FreeBSDを動かす。 FreeBSDはFreeBSD 13.0-RC5。 FreeBSDのダウンロード SDへの書き込みは時間がかかるので、先にやっておく。ROCK64用のイメージをダウンロードして、いつものように書き込み。 ROCK64なのは、CPUが同じ…

COVID-19のワクチンの接種を予約するアプリを作る

やること COVID-19のワクチンの接種を予約するアプリを作る 動機 アプリケーション開発の練習のため。 ワクチンの接種という身近な物をテーマにすることで仕組みを考えやすくする。 また、難易度的にちょうどいいと思った。 今週の成果 Githubにコミットして…

MAP-EでL2TP/IPSecが使えないからWireGuardでAWSを経由させる

やること 自宅はIPoEでMAP-Eな環境になっている。そのため、4500/udpとかESPは通過できない。 そのため、AWS(Lightsail)を構築させることで、制限のないグローバルIPアドレスを入手し、そこからIPSecを使用する。 その構築にあたり、FreeBSDでWireGuardなVPN…

k3s

Raspberry Piでkubernetesのクラスタを作っている人もいるくらいなので、そろそろkubernetesを初めてみようと思う。 まずは、簡単そうなk3sをやってみる。 準備 Ubuntu Server 18.04 LTSを普通にインストール。 k3sのインストール ドキュメントに書いてある…

Xubuntuをインストールした後にSSDを暗号化したくなった

やること Xubuntuをインストールして使っていたけど、後からディスク(SSD)全体を暗号化したくなったときにやること。 同じSSDを使って暗号化するため、一度データは全部消す。システムを動かしたまま暗号化はできない。 この手順は、実機でやる前にKVM上のXu…

Spring BootでJSR-352 Batch Applications for the Java Platform

やること Spring Batchのリファレンスに記載の方法で起動すると、@Serviceなどのコンポーネントを参照してくれない。 JobOperator jobOperator = BatchRuntime.getJobOperator(); long jobExecutionId = jobOperator.start("myJob", new Properties()); bat…

FreeBSDでRubyをビルドする

やること FreeBSDにRubyを自分でビルドしてインストールする。 Jail作成 インストール先のJailを作成する。 cd mkdir /var/jail/rubybuild bsdinstall jail /var/jail/rubybuild cat << 'EOF' > jail-rubybuild.conf rubybuild { path = "/var/jail/rubybuil…

ワイモバイルの低速が遅すぎ

ワイモバイルは通信料が一定量を越えると、低速になる。 低速は最大128kbpsって書いてあったから、使えないってことはないと思っていた。けど遅すぎ。 調べてみたら、実際は29kbpsでした。確かに低速。 昔のダイヤルアップ以下じゃん。

JJUG CCC 2019 Springの懇親会でもらったOracle Code Cardを使ってみる

JJUG CCC 2019 Springの懇親会でもらったOracle Code Cardを使ってみる。

ひかり電話のホームゲートウェイにFreeBSDなルーターを接続する

やること ひかり電話のホームゲートウェイにFreeBSDなルーターを接続して、 DHCPv6で/60のIPv6のprefixをHGWからもらう RAで/64のprefixを配布する 構成 +--------+ +---------+ +---------+ | HGW | | FreeBSD | | Xubuntu | | +--------+ +-------+ | +---…

NanoPi NEO2用のNanoBSDのSDイメージにmDNSResponderを入れる

やること NanoPi NEO2用のNanoBSDのSDイメージにmDNSResponderを入れる。 DHCPでIPアドレスを割り当てる環境下で、sshで接続するときにIPアドレスがわからなくなってnmapで探していたのを解消する。 pkgでmDNSResponderを入れる # SDをマウント。 mkdir /tmp…

pingでDUP!って出る件の続き

少しまえから気になっていた、pingでDUP!って出る件について。 rixwwd.hatenablog.jp 原因は、Aterm WG1200HSっぽい。 pingの元は、ブリッジモードで動作しているWS1200HSにWifiで接続している。 WS1200HSのWANポートにHUBを接続していて、そのHUBにpingの宛…

KVMのためのブリッジ作成

やること KVMで使うためのブリッジを作る。 KVMの仮想マシンからホストと同じネットワークにアクセスしたい。 コマンド nmcli c add type bridge ifname mybridge con-name mybridge autoconnect yes stp no multicast-snooping no nmcli c up mybridge nmcl…

ubldrの起動パーティションの切り替え

やること crochetでNanoBSDを作ると、/dev/mmcsd0s2aと/dev/mmcsd0s2bができる。 mmcsd0s2a: 今のバージョンのFreeBSD mmcsd0s2b: 未使用 なので、mmcsd0s2bに新しいバージョンのFreeBSDをインストールしてみたメモ。 OSの準備 crochetを使って準備する。 u-…

pingでDUP!って出る件

macからRaspberry PI(FreeBSD 12)にpingする。 $ ping -c4 192.168.1.9 PING 192.168.1.9 (192.168.1.9): 56 data bytes 64 bytes from 192.168.1.9: icmp_seq=0 ttl=64 time=7.090 ms 64 bytes from 192.168.1.9: icmp_seq=0 ttl=64 time=7.110 ms (DUP!) 6…

NanoPi NEO2でFreeBSDを動かすメモ(NEO2用のu-bootを使う)

これまでの経緯とか 以前はu-bootを同じCPU(Allwinner H5)のボードのものをつかっていた。 rixwwd.hatenablog.jp u-bootにはNanoPi NEO2用の設定があるため、今回はそれを使うようにした。 github.com まずはportsの準備 portsnap fetch portsnap extract Na…

Raspberry PiをRead onlyなSDカードで運用するためNanoBSDのめも

NanoBSDの仕組み /etc/disklessが存在すると、/etc/rc.initdisklessが動く。 /conf/base, /conf/defaultは設定ファイルのデフォルトを置いておく。 rc.initdisklessは、/conf/base, /conf/defaultの順で上書きしていく。 特殊なファイル md_size そのディレ…

Mattermostの統合機能、APIメモ

やったこと mattermostで何ができるのか調べてみた。 できること 内向きのウェブフック POSTすると指定したチャンネルに投稿できる。 外向きのウェブフック 特定の単語にマッチするときに、指定したURLにHTTP POSTする。 スラッシュコマンド スラッシュコマ…

JenkinsのビルドをDockerコンテナで実行する

やること Spring Bootで作ったアプリケーションのビルド&テストを、Jenkinsを使ってDockerコンテナ内で実行する。 方法 コンテナのイメージはopenjdk:8-jdk-alpineを使った。 Jenkinsfileの書き方は、agentにanyを指定するか、dockerを指定するかでコンテナ…

FreeBSDのRaspbery PI用イメージを1GBのSDカード用に変換する

やること FreeBSDのRaspbery PI用イメージを1GBのSDカード用に変換する。 配布されているイメージは1GBなのだが、手元にあったSDカードは953MBとちょっと足りない。 そのため、実際のSDカードのサイズに合わせる。 方法 SDカードと同じサイズのファイルを作…

NanoPi NEO2でFreeBSDを動かすメモ

やること NanoPi NEO2でFreeBSDを無理やり動かしてみた。 ソースのチェックアウト SubversionでFreeBSDのソースコードをチェックアウトする。 cd /usr svnlite co svn://svn.freebsd.org/base/head src NTPD用ユーザー作成 20180719にntpdは専用のユーザーで…

Rubyのハッシュ

昨日、json_schemerがうまく動かないと言っていたけれど、ハッシュのキーがシンボルだからだった。 {'a':1} => {:a=>1} {"a"=>1} => {"a"=>1} ":"の場合はキーがシンボル、"=>"の場合はキーが文字列。 json_schemerがシンボルのハッシュが使えないのが原因だ…

JSON Schemaを使ってみる

やること JSON Schemaで項目間のチェックをする。 例えば、field1が1の場合に、field2はAであることをチェックする。 JSON Schemaで表現すると以下のようになる。 { "type": "object", "properties": { "field1": { "type": "string" }, "field2": { "type…

Kubernetesをちょっとやってみる。

やること Kubernetesが気になったため、ちょっと動かしてみる。 minikubeを使うと1ノードのKubernetesが使えるらしい。 とりあえずコマンドはコピペ。 curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 &&…

Raspberry PIでJail+vnet

やること Raspberry Piで、Jailとnet(VIMAGE)を使ってみる。 カーネルのカーネルのビルドはこちら。 rixwwd.hatenablog.jp epairの作成 LANケーブル的な役割をするインターフェースを作成する。 ifconfig epair0 create ifconfig epair1 create ルーターとホ…

Raspberry PIでVIMAGE用カーネルのビルド

やること Raspberry PIにFreeBSDをインストールして、VIMAGEを使う。 VIMAGEを使うには、カーネルのビルドが必要。 カーネルのビルドをRaspberry PIで行うと遅いため、amd64な環境でクロスコンパイルする。 パッケージのインストール ccacheを使ってビルド時…

Mattermostのバージョンアップ

やること mattermostのバージョンアップ。 https://docs.mattermost.com/administration/upgrade.html バックアップ mattermostとデータベース(PostgreSQL)をバックアップする。 systemctl stop mattermost mv /opt/mattermost /opt/mattermost.old pg_dum…

mattermostで日本語検索

やること mattermostで日本語検索をできるようにする。 環境 CentOS 7.2 PostgreSQL 9.2 手順 基本的な手順はここにかいてある通り。 https://docs.mattermost.com/install/i18n.html#japanese この手順をコピペしてもパスがちょっと違ったりしてうまくでき…

iptablesの設定

VPN

やること strongSwanの設定をしただけでは、通信できない。 iptables を設定して、10.1.2.0/24をNATする設定と、IPSecでトンネルしたことでMTUが減るため、 TCPMSSの設定をする。 カーネルの設定 パケットを他のホストに転送するようにする。 $ echo 'net.ip…

strongSwanの設定

VPN

strongSwanのインストール 普通にaptなどでインストールする。 $ apt install strongswan 証明書の配置 作成しておいた証明書を配置する。 rixwwd.hatenablog.jp $ cd vpnca $ sudo cp ca.crt /etc/ipsec.d/cacerts $ sudo cp server.key /etc/ipsec.d/priva…