commit(auto)
This commit is contained in:
parent
aee6bd876c
commit
4a270f9c75
32 changed files with 543 additions and 24 deletions
|
@ -1,6 +1,8 @@
|
|||
# 201812091402 slimeを動かしているとddskkの変換がうまくいかない
|
||||
|
||||
#slime #emacs #lisp
|
||||
|
||||
|
||||
slimeの設定はこんな風にした。
|
||||
|
||||
```lisp
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# 201901010002 ボリュームの金属部分をGNDにつなぐ
|
||||
#hard #potentiometer #electronics #noise
|
||||
|
||||
|
||||
<http://www.maroon.dti.ne.jp/jyaku9/koneta/koneta3/koneta3-10.html>
|
||||
|
||||
> ボリュームのつまみの金属部分を「必ず GND へ接続してください!」。 つまみを触るとノイズがでたりしますし、ノイズの原因となります。(入力部分は敏感なのです!)
|
|
@ -1,6 +1,6 @@
|
|||
# 201907231138 定番の電子部品
|
||||
|
||||
#hard #parts
|
||||
#hard #parts #electronics
|
||||
|
||||
## オペアンプ
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# 202108161203 juce made with juce消すには
|
||||
#juce #programming
|
||||
|
||||
- jucerでログインして
|
||||
- JUCE_DISPLAY_SPLASH_SCREEN=0
|
||||
|
||||
|
|
9
content/202109100000 pacmanでpgp ERRORとなる時.md
Executable file
9
content/202109100000 pacmanでpgp ERRORとなる時.md
Executable file
|
@ -0,0 +1,9 @@
|
|||
# 202109100000 pacman/yaourt/yayでpgp ERRORになるとき
|
||||
#archlinux
|
||||
|
||||
```
|
||||
$ gpg --recv-keys <KeyID>
|
||||
```
|
||||
|
||||
cf. https://qiita.com/hassiyu/items/041dfec87d87f0c914db
|
||||
|
|
@ -2,5 +2,6 @@
|
|||
|
||||
#tech #hard #word #electronics
|
||||
|
||||
|
||||
- オットー・シュミットさん 1913 - 1998 が発明した。
|
||||
- 詳しくは <https://en.wikipedia.org/wiki/Otto_Schmitt>
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
#zettelkasten
|
||||
|
||||
|
||||
[[20240122231403 Fleeting Notes|Fleeting Notes]]
|
||||
|
||||
[[20240122223312 Reference Notes|Reference Notes]]
|
||||
|
|
112
content/202308182205 ESP32 Selection Guide.md
Executable file
112
content/202308182205 ESP32 Selection Guide.md
Executable file
|
@ -0,0 +1,112 @@
|
|||
# 202308182205 ESP32 Selection Guide
|
||||
|
||||
|
||||
#ESP32 #electronics #電子工作
|
||||
|
||||
[[202309031354 ESP32]]
|
||||
## 202309115時点での結論
|
||||
|
||||
- WROOM, WROVERとも、末尾のアルファベットが後半の方が、リビジョンが上。チップバグなど修正されているので、そちらを採用。
|
||||
- 基本的には、 WROOM32Eを使う。
|
||||
- PSRAMが必要なら、 WROVERを使う。
|
||||
- RISC-V気になるが、Xtensa Coreを選ぶのが良さそう。
|
||||
|
||||
cf.
|
||||
<https://lang-ship.com/blog/work/esp32-series/>
|
||||
|
||||
|
||||
## WROOM-32 WROOM-32D WROOM-32E
|
||||
|
||||
<https://tech.144lab.com/entry/esp32-wroom32-nrnd>
|
||||
32, 32Dは NRND Not Recommended for New Designs
|
||||
32Eを使おう
|
||||
|
||||
32、32Dとの違い
|
||||
<https://tech.144lab.com/entry/esp32-wroom32-nrnd>
|
||||
> 未接続になったピンはSDカードがつながる6つのピンで、すでに内部でSPI Flashがつながっているため、32の時から外部で何かに使うのが非推奨になっていました。
|
||||
|
||||
## WROOMとWROVERは何が違う?
|
||||
|
||||
WROVERには[[20230915 PSRAM]](疑似SRAM)というものが乗っている。
|
||||
|
||||
## WROOVER-B WROOVER-E
|
||||
|
||||
<https://esp32.com/viewtopic.php?t=15904>
|
||||
E are newer with rev 3 chips
|
||||
|
||||
## その他気になること
|
||||
|
||||
USB-Serialのオプション
|
||||
|
||||
- CH340C
|
||||
- CP2102
|
||||
|
||||
## 秋月で買えそうなやつ
|
||||
|
||||
### ESP32-DevKitC-32E ESP32-WROOM-32E開発ボード 4MB
|
||||
|
||||
推奨。 32Eだし。
|
||||
いわゆるESP32、4MB Dual
|
||||
![](2023-08-18-22-17-38.png)
|
||||
<https://akizukidenshi.com/catalog/g/gM-15673/>
|
||||
|
||||
MCU
|
||||
• ESP32-D0WD-V3 embedded, Xtensa® dual-core 32-bit LX6 microprocessor, up to 240 MHz
|
||||
• 448 KB ROM for booting and core functions
|
||||
• 520 KB SRAM for data and instructions
|
||||
• 16 KB SRAM in RT
|
||||
|
||||
## ESP32-DevKitC-VE ESP32-WROVER-E開発ボード 8MB
|
||||
|
||||
![](2023-08-18-22-16-31.png)
|
||||
<https://akizukidenshi.com/catalog/g/gM-15674/>
|
||||
|
||||
## ESP-WROOM-32D開発ボード
|
||||
|
||||
![](2023-08-18-22-15-52.png)
|
||||
<https://akizukidenshi.com/catalog/g/gM-13628/>
|
||||
テクノよしださんはこれを使っているとのこと。
|
||||
|
||||
ESP32-WROOM-32とESP32-WROOM-32Dの違いを教えてください。
|
||||
<https://akizukidenshi.com/catalog/faq/goodsfaq.aspx?goods=M-13628>
|
||||
|
||||
> ESP32-WROOM-32[M-11647]とESP32-WROOM-32D[M-13318]では、 電気的、ソフトウェア的、ファームウェア的、無線プロファイル的な技術仕様に変更はありません。 変更点は、下記4点です。
|
||||
>
|
||||
> ① SoC(ESP32チップ)のパッケージサイズが変更になりました。
|
||||
> ESP32-WROOM-32: QFN 6x6
|
||||
> ESP32-WROOM-32D: QFN 5x5
|
||||
> ② 面実装部品(抵抗とコンデンサ)のパッケージサイズが変更になりました。
|
||||
> ESP32-WROOM-32Dでは、小型サイズの部品が使用されています。
|
||||
> ③ アンテナパターンが変更されました。
|
||||
> ESP32-WROOM-32Dでは、パターンが太くなっています。
|
||||
> ④ 工事設計認証(技適)番号が変更になりました。
|
||||
> ESP32-WROOM-32: 211-161007
|
||||
> ESP32-WROOM-32D: 211-171102
|
||||
|
||||
ESP32-S3-DevKitC-1
|
||||
![](2023-08-18-22-15-01.png)
|
||||
<https://akizukidenshi.com/catalog/g/gM-17073/>
|
||||
|
||||
ESP32-C6-DevKitC-1。
|
||||
![](2023-08-18-22-14-24.png)![](2023-08-18-22-14-27.png)
|
||||
<https://akizukidenshi.com/catalog/g/gM-17846/>
|
||||
入手性はあまりよくなさそう。
|
||||
<https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html>
|
||||
|
||||
## Ali
|
||||
|
||||
### 1個38ピンタイプ-cesp32 ESP-WROOM-32 cp2102開発ボード2.4ghzデュアルコア
|
||||
|
||||
NRND(Not Recommended for New Designs)
|
||||
<https://ja.aliexpress.com/item/1005005455717981.html?spm=a2g0o.order_list.order_list_main.11.21ef585agpnRvr&gatewayAdapt=glo2jpn>
|
||||
|
||||
## Platform IO
|
||||
|
||||
wroom32の各リビジョン、wroover、どれでも下記でいけるのではないか?(要検証)
|
||||
|
||||
```.ini
|
||||
[env:esp32dev]
|
||||
platform = espressif32
|
||||
board = esp32dev
|
||||
framework = arduino
|
||||
```
|
12
content/202309031354 ESP32.md
Executable file
12
content/202309031354 ESP32.md
Executable file
|
@ -0,0 +1,12 @@
|
|||
# 202309031354 ESP32
|
||||
|
||||
#ESP32
|
||||
|
||||
|
||||
[[202308182205 ESP32 Selection Guide |202308182205 ESP32 Selection Guide]]
|
||||
|
||||
ssciのtracが役に立つ。どのピンがどのように使えるかなど
|
||||
<https://trac.switch-science.com/wiki/esp32_tips>
|
||||
|
||||
ADCについての説明
|
||||
<https://trac.switch-science.com/wiki/esp32_tips#ADC%E3%82%A2%E3%83%8A%E3%83%AD%E3%82%B0%E5%85%A5%E5%8A%9B>
|
|
@ -8,6 +8,7 @@
|
|||
### フォルダ構成
|
||||
|
||||
完全フラット。階層は作らない。どのようにフォルダで分類しても完全では無いし、フォルダ内のアイテムを移動した場合、画像などのリソースが見つからなくなってしまうことなどがある。という苦労を20年くらいして、もう無理ということになった。私にはフラットにする以上に、スケールできる上、ロバストなものは作れなかった。
|
||||
cf. [[000000000010 フォルダとその使い方]]
|
||||
|
||||
### ファイル形式
|
||||
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
# 20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section (Operational Transconductance Amps)
|
||||
#electronics #OTA #op_amp #analog #filter #read_later
|
||||
# 20240204180223 Carver Mead's OTA-C Lowpass Filter The Second-Order Section
|
||||
#electronics #OTA #op_amp #analog #filter #read_later #youtube
|
||||
|
||||
[Carver Mead's OTA-C Lowpass Filter: The "Second-Order Section" (Operational Transconductance Amps) - YouTube](https://www.youtube.com/watch?v=AVFN6qCKiyg)
|
|
@ -7,17 +7,15 @@
|
|||
- Smraza Raspberry Pi 4 USB-C (Type C)電源、5V 3A ラズベリーACアダプター RPi 4b Model B 1GB / 2GB / 4GB/ 8GB適用 https://amazon.co.jp/dp/B07DN5V3VN
|
||||
- Flirc ラズベリーパイ4ケース シルバー https://amazon.co.jp/dp/B07WG4DW52
|
||||
|
||||
- ~~動作せず変更予定 CFD SSD M.2 NVMe RGAX シリーズ 3D NAND TLC採用 SSD PCIe Gen3×4 (読み取り最大3100MB/S) M.2-2280 NVMe 内蔵SSD1TB CSSD-M2L1TRGAXN 国内メーカー https://amazon.co.jp/dp/B0C4NQWQ4K~~
|
||||
- Ediloca EN760 SSD ヒートシンク付き 1TB PCIe Gen4x4 NVMe M.2 2280 PS5動作確認済み 最大読込: 5000MB/s 最大書き:4500MB/s 3D NAND TLC 内蔵SSD ダイナミック SLC キャッシュ メーカー5年保証 https://amazon.co.jp/dp/B0C9TD1FM4
|
||||
- ORICO M.2 SSDケース USB-C to NVMe M-Key / B&M Key(Nvmeのみ)に対応 USB 3.1 Gen2 10Gbps 外付けケース ABS+アルミ材質 UASPサポート2230/2242/2260/2280 SSD対応 M.2 SSD 変換アダプタ エンクロージャ ケース 黑 M2PV-BK https://amazon.co.jp/dp/B08GC326LL
|
||||
|
||||
## セットアップ色々
|
||||
|
||||
|
||||
## 20240204 最初のセットアップ
|
||||
|
||||
[[20240204221756 raspberry Pi Imagerを使ってSDカードを作成]]
|
||||
- [[20240204221756 raspberry Pi Imagerを使ってSDカードを作成|raspberry Pi Imagerを使ってSDカードを作成]]
|
||||
|
||||
### ルーターの設定
|
||||
- DHCPスタティックIP設定 を追加
|
||||
- DHCPスタティックIP設定 を追加。ポートフォワーディングで必要かなと思ったけど、cloudflareだと必要ないかも。sshは何も設定せずに使用できた。
|
||||
|
||||
### 起動
|
||||
microSDに必要なデータを書きこんだら、Raspi 4に挿して、LANケーブルなど繋いで起動。
|
||||
|
@ -25,10 +23,9 @@ wsl2上のubuntuから、sshで接続確認。(名前とパスワード。後で
|
|||
|
||||
ここまでできたら、SSD bootの設定をする。
|
||||
|
||||
[[20240204221948 raspberry piをSSD bootに設定]]
|
||||
|
||||
[[20240204222141 sshを公開鍵認証にする]]
|
||||
|
||||
- [[20240204221948 raspberry piをSSD bootに設定|raspberry piをSSD bootに設定]]
|
||||
- [[20240204222141 sshを公開鍵認証にする|sshを公開鍵認証にする]]
|
||||
- [[20240211171220 sshのポートを変更する|sshのポートを変更する]]
|
||||
|
||||
|
||||
### OSを最新に
|
||||
|
@ -40,7 +37,12 @@ $ sudo apt full-upgrade
|
|||
...
|
||||
$ sudo reboot (最新にしたので再起動)
|
||||
```
|
||||
`
|
||||
### WEBサーバーを入れる
|
||||
### WEBサーバー
|
||||
- [[20240205150537 Caddyをraspi4にインストール|Caddyをraspi4にインストール]]
|
||||
- [[20240205164639 Caddyの設定|Caddyの設定]]
|
||||
### Raspi4 Cloudflareでトンネルを作る
|
||||
- [[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]]
|
||||
- [[20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする|Raspi4 Cloudflareでsshアクセスできるようにする]]
|
||||
- [[20240211202623 Raspi4 Cloudflareでhttpsサーバーを公開する|Raspi4 Cloudflareでhttpsサーバーを公開する]]
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -67,6 +67,21 @@ capabilities 0x0000007f
|
|||
|
||||
ここまでできたら、USBブートにする。最初の手順で作ったSSDをraspi4に接続。microSDは外して起動。
|
||||
|
||||
どのくらい速度違うか、簡単に調べてみた。
|
||||
```
|
||||
$ sudo hdparm -tT /dev/mmcblk0 # マイクロSD
|
||||
|
||||
/dev/mmcblk0:
|
||||
Timing cached reads: 2048 MB in 2.00 seconds = 1024.23 MB/sec
|
||||
Timing buffered disk reads: 132 MB in 3.02 seconds = 43.70 MB/sec
|
||||
|
||||
$ sudo hdparm -tT /dev/sda # SSD
|
||||
/dev/sda:
|
||||
Timing cached reads: 2034 MB in 2.00 seconds = 1017.23 MB/sec
|
||||
Timing buffered disk reads: 1020 MB in 3.06 seconds = 333.44 MB/sec
|
||||
```
|
||||
約 7.6倍くらい高速になっている。素晴しい
|
||||
|
||||
cf.
|
||||
- [ラズパイ4をUSB接続のSSDから起動する方法(USBブート) | ラズパイダ](https://raspida.com/rpi4-ssd-usb-boot)
|
||||
- [Raspberry PiのバックアップをCLIから作成する | Vogelbarsch](https://vogelbarsch.com/2020-08-27-140104/)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# 20240204222141 sshを公開鍵認証にする
|
||||
#raspberrypi #ssh
|
||||
#raspberrypi #raspi #ssh #server
|
||||
|
||||
以下はwsl2のubuntuでやる。
|
||||
|
||||
```
|
||||
|
|
126
content/20240205150537 Caddyをraspi4にインストール.md
Executable file
126
content/20240205150537 Caddyをraspi4にインストール.md
Executable file
|
@ -0,0 +1,126 @@
|
|||
# 20240205150537 Caddyをraspi4にインストール
|
||||
#raspi #caddy #web_server
|
||||
|
||||
### インストール
|
||||
|
||||
[How to Setup a Raspberry Pi Caddy Web Server - Pi My Life Up](https://pimylifeup.com/raspberry-pi-caddy-web-server/) の方法が現在 20240205 は利用できない。
|
||||
```
|
||||
Err:4 https://dl.cloudsmith.io/public/caddy/stable/deb/debian any-version InRelease
|
||||
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY ABA1F9B8875A6661
|
||||
```
|
||||
このgpgエラーは、鍵が公開されていないのか、解決不能。
|
||||
|
||||
仕方ないのでソースからビルド。
|
||||
|
||||
まずgoが必要。
|
||||
[[20240205152229 raspi4にgoをインストールする|raspi4にgoをインストールする]]
|
||||
|
||||
caddyをビルド。
|
||||
```sh
|
||||
$ sudo apt install git (インストールしてなければ)
|
||||
$ git clone --depth=1 https://github.com/caddyserver/caddy.git
|
||||
$ cd caddy/cmd/caddy/
|
||||
$ go build
|
||||
$ cd ../../..
|
||||
$ sudo mv caddy /usr/local
|
||||
```
|
||||
`/usr/local/caddy/cmd/caddy`
|
||||
にパスを通す。 /etc/profileに追加。
|
||||
|
||||
```
|
||||
$ sudo setcap cap_net_bind_service=+ep /usr/local/caddy/cmd/caddy/caddy
|
||||
$ sudo visudo
|
||||
```
|
||||
|
||||
`username ALL=(ALL:ALL) NOPASSWD: /usr/sbin/setcap` を追加。
|
||||
|
||||
WEBサーバーのルートを作る
|
||||
```
|
||||
$ sudo mkdir /var/www
|
||||
$ sudo chmod a+rw /var/www
|
||||
```
|
||||
|
||||
Caddyfileを /etc 以下に作成
|
||||
```
|
||||
$ sudo mkdir /etc/caddy/
|
||||
$ sudo touch /etc/caddy/Caddyfile
|
||||
$ sudo chmod a+rw /etc/caddy/Caddyfile
|
||||
```
|
||||
|
||||
Caddyfileを編集
|
||||
```
|
||||
localhost, 127.0.0.1 192.168.1.100(自分で決めたIPアドレス), saipi4.local(自分で決めたhostname), notes.kinoshita-lab.org(cludflareで設定したhostname) {
|
||||
root * /var/www
|
||||
file_server
|
||||
}
|
||||
|
||||
```
|
||||
/var/wwwにindex.htmlを作成
|
||||
|
||||
```
|
||||
<!doctype html>
|
||||
<html>
|
||||
<head>
|
||||
<title>AYBABTU</title>
|
||||
</head>
|
||||
<body>
|
||||
<p>All your base are belong to us.</p>
|
||||
</body>
|
||||
</html>
|
||||
```
|
||||
|
||||
caddyを起動
|
||||
```
|
||||
caddy run --config /etc/caddy/Caddyfile
|
||||
```
|
||||
証明書が無いなど、色々怒られるかもだけど、とりあえずネットワーク内から接続できる。 saipi4は私のraspi4のhostname。
|
||||
|
||||
![[Pasted image 20240205205804.png]]
|
||||
|
||||
### サービス化
|
||||
[Keep Caddy Running — Caddy Documentation](https://caddyserver.com/docs/running#linux-service)
|
||||
|
||||
上記を参考にしつつ、パスなどを自分の環境にあわせる。
|
||||
|
||||
```
|
||||
$ sudo groupadd --system caddy
|
||||
```
|
||||
|
||||
caddy.serviceはこちらを使用
|
||||
[dist/init/caddy.service at master · caddyserver/dist · GitHub](https://github.com/caddyserver/dist/blob/master/init/caddy.service)
|
||||
|
||||
変更点は下記2カ所
|
||||
```
|
||||
ExecStart=/usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile
|
||||
ExecReload=/usr/local/caddy/cmd/caddy/caddy reload --config /etc/caddy/Caddyfile --force
|
||||
```
|
||||
|
||||
あとは書いてある通りに実行
|
||||
```
|
||||
$ sudo systemctl daemon-reload
|
||||
$ sudo systemctl enable --now caddy
|
||||
```
|
||||
|
||||
```
|
||||
$ systemctl status caddy
|
||||
systemctl status caddy
|
||||
● caddy.service - Caddy
|
||||
Loaded: loaded (/etc/systemd/system/caddy.service; enabled; preset: enabled)
|
||||
Active: active (running) since Sun 2024-02-11 18:09:01 JST; 14s ago
|
||||
Docs: https://caddyserver.com/docs/
|
||||
Main PID: 3203 (caddy)
|
||||
Tasks: 11 (limit: 3918)
|
||||
CPU: 249ms
|
||||
CGroup: /system.slice/caddy.service
|
||||
└─3203 /usr/local/caddy/cmd/caddy/caddy run --environ --config /etc/caddy/Caddyfile
|
||||
...
|
||||
```
|
||||
動いてる。
|
||||
|
||||
|
||||
|
||||
## cf.
|
||||
- [GitHub - caddyserver/caddy: Fast and extensible multi-platform HTTP/1-2-3 web server with automatic HTTPS](https://github.com/caddyserver/caddy?tab=readme-ov-file#build-from-source)
|
||||
- [caddyで簡単にhttpsサイト #http2 - Qiita](https://qiita.com/mmotoi/items/1af28e2e62a4e344eb6c)
|
||||
|
||||
- [Caddy:Caddyfileに\`localhost\`を指定すると、https://127.0.0.1/ ではアクセスできない](https://zenn.dev/yuji38kwmt/articles/5d3e729dc9a5c1)
|
|
@ -15,7 +15,7 @@ sudo nano /etc/profile
|
|||
`PATH="${PATH}:/usr/local/go/bin"`
|
||||
を追加。`export PATH`の前
|
||||
![[Pasted image 20240205153644.png]]
|
||||
syncして再起動。
|
||||
再起動。
|
||||
|
||||
```
|
||||
$ go version
|
||||
|
@ -23,6 +23,6 @@ go version go1.21.6 linux/arm64
|
|||
```
|
||||
などと表示されればOK。
|
||||
|
||||
cf.
|
||||
## cf.
|
||||
[【備忘録】RaspberryPiにGoをインストールする #Go - Qiita](https://qiita.com/Noctiluca/items/eb8a6b879b988e5f3ed1)
|
||||
|
||||
|
|
|
@ -1,5 +0,0 @@
|
|||
# 20240205164639 Caddyの設定
|
||||
#caddy #web_server
|
||||
[[20240205150537 Caddyをraspi4にインストール]] や、普通のPCその他にCaddyの環境がインストールされていることが前提。
|
||||
|
||||
とりあえず [Getting Started](https://caddyserver.com/docs/getting-started) を最後までやって、動いていることを確認。
|
13
content/20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround.md
Executable file
13
content/20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround.md
Executable file
|
@ -0,0 +1,13 @@
|
|||
# 20240206132752 IAR Embedded workbench の画面がめちゃくちゃになったときのworkaround
|
||||
#IAR #eww #workaround
|
||||
|
||||
いったん終了し、以下フォルダを削除して再起動する。ウィンドウの表示、配置の設定などはすべてデフォルトに戻る。
|
||||
```
|
||||
- 出力フォルダ
|
||||
`プロジェクトオプション > 一般オプション > 出力 > 出力ディレクトリ`
|
||||
で指定されるフォルダ。デフォルトの場合Debugフォルダ。
|
||||
|
||||
- .dep / .ewtファイル(存在する場合)
|
||||
|
||||
- settings フォルダ
|
||||
```
|
69
content/20240211141946 Raspi4 Cloudflareでトンネルを作る.md
Executable file
69
content/20240211141946 Raspi4 Cloudflareでトンネルを作る.md
Executable file
|
@ -0,0 +1,69 @@
|
|||
# 20240211141946 Raspi4 Cloudflareでトンネルを作る
|
||||
#raspi #cloudflare
|
||||
|
||||
## 注意
|
||||
色々なサイトを参考にしたけど、変化が激しいので100%参考になることは無かった。おそらくこのメモもすぐに陳腐化すると思う。私はこの分野の専門ではないので、全然わからないで適当にやっている。
|
||||
|
||||
## トンネルとは
|
||||
[トンネリングとは?| ネットワークにおけるトンネリング | Cloudflare](https://www.cloudflare.com/ja-jp/learning/network-layer/what-is-tunneling/)
|
||||
|
||||
## 前提
|
||||
- ドメインを持っている
|
||||
- ネームサーバーをcloudflareに移管できる
|
||||
- 操作はcloudflareの画面上で実行。 raspi上でコマンドラインでやる方法もあるっぽいが、試してない
|
||||
cf. [Create a locally-managed tunnel (CLI) · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-local-tunnel/)
|
||||
|
||||
|
||||
## cloudflareでアカウントを作る
|
||||
|
||||
[Cloudflare | Web Performance & Security](https://dash.cloudflare.com/sign-up)
|
||||
ここからサインアップしてアカウントを作る。
|
||||
|
||||
|
||||
## サイトを追加する
|
||||
ログインしてダッシュボードが表示されたら、 "+サイトを追加する"ボタンを押す。
|
||||
ドメイン名を入力して"続行"ボタンを押す。
|
||||
料金プランはFreeでOK
|
||||
|
||||
ネームサーバーの変更をすることで、そのドメインはcloudflare管理にすることができる。
|
||||
変更(これはドメインを取得したサイト側で行う)後、"続行" ボタンを押す。
|
||||
|
||||
クイック スタート ガイド 画面は(私はよくわからないので)全部デフォルトのまま保存して完了させる。
|
||||
|
||||
保留中はこの先の操作ができるのか不明。保留が解除されたら次へ進む。
|
||||
20240211 時点では5分程度だった。
|
||||
|
||||
|
||||
## トンネルを作る
|
||||
|
||||
### Overviewの設定
|
||||
|
||||
Cloudflareダッシュボードから、Zero Trust を選択。新規タブが表示される。
|
||||
Networks -> Tunnels をクリック、 表示された画面で "+ Create a tunnel"をクリック。
|
||||
|
||||
Select your connector: Cloudflared -> next
|
||||
Name your tunnel 適当に名前をつける。例: pi4 -> Save tunnel
|
||||
Configure 画面に遷移するので、自分の環境用のものを選ぶ。
|
||||
Raspi4でraspbianを使っているなら、 Debian, arm64-bit
|
||||
|
||||
この画面に書いてあるコマンドを順次実行して、インストール。 `sudo cloudflared service install `以降の文字列はアクセストークンなので、どこかにメモッておいた方がいいかもしれない。
|
||||
|
||||
[[20240211165804 cloudflareのaccess token|cloudflareのaccess token(private)]]
|
||||
|
||||
無事にインストールできたら、サービスが動いてるかを確認
|
||||
```
|
||||
$ sudo systemctl status cloudflared
|
||||
● cloudflared.service - cloudflared
|
||||
Loaded: loaded (/etc/systemd/system/cloudflared.service; enabled; preset: enabled)
|
||||
Active: active (running) since Mon 2024-02-05 21:19:34 JST; 11s ago
|
||||
Main PID: 2181 (cloudflared)
|
||||
Tasks: 10 (limit: 3918)
|
||||
CPU: 207ms
|
||||
CGroup: /system.slice/cloudflared.service
|
||||
└─2181 /usr/bin/cloudflared --no-autoupdate tunnel run --token ...
|
||||
```
|
||||
|
||||
### Public Hostnameの設定
|
||||
[[20240211193602 Cloudflare Public Hostnameの設定|Cloudflare Public Hostnameの設定]]
|
||||
|
||||
|
46
content/20240211171220 sshのポートを変更する.md
Executable file
46
content/20240211171220 sshのポートを変更する.md
Executable file
|
@ -0,0 +1,46 @@
|
|||
# 20240211171220 sshのポートを変更する
|
||||
#ssh #server
|
||||
## 変更する理由
|
||||
[[20240211171652 なぜsshをポート22で実行してはいけないのか|なぜsshを22で実行してはいけないのか]]
|
||||
|
||||
## 変更の方法
|
||||
### サーバー側
|
||||
`/etc/ssh/sshd_config` を編集すればよい。
|
||||
`# Port 22` とコメントアウトされている所があるので、 \#を削除。
|
||||
22を別のポートに設定する。
|
||||
|
||||
sshdを再起動
|
||||
```
|
||||
$ sudo service ssh restart
|
||||
$ service ssh status
|
||||
● ssh.service - OpenBSD Secure Shell server
|
||||
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; preset: enabled)
|
||||
Active: active (running) since Sun 2024-02-11 17:31:52 JST; 30s ago
|
||||
Docs: man:sshd(8)
|
||||
man:sshd_config(5)
|
||||
Process: 1448 ExecStartPre=/usr/sbin/sshd -t (code=exited, status=0/SUCCESS)
|
||||
Main PID: 1449 (sshd)
|
||||
Tasks: 1 (limit: 3918)
|
||||
CPU: 77ms
|
||||
CGroup: /system.slice/ssh.service
|
||||
└─1449 "sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups"
|
||||
|
||||
Feb 11 17:31:51 saipi4 systemd[1]: Starting ssh.service - OpenBSD Secure Shell server...
|
||||
Feb 11 17:31:52 saipi4 sshd[1449]: Server listening on 0.0.0.0 port *****. # (ここの数字が設定したポート番号になっているかを確認。22のままなら何かが変)
|
||||
Feb 11 17:31:52 saipi4 sshd[1449]: Server listening on :: port *****.
|
||||
Feb 11 17:31:52 saipi4 systemd[1]: Started ssh.service - OpenBSD Secure Shell server.
|
||||
```
|
||||
|
||||
### クライアント側
|
||||
ポートを指定してアクセスして、うまくいくか確認。
|
||||
```
|
||||
$ ssh <host> -p [上記の番号]
|
||||
```
|
||||
|
||||
うまくいったら、毎回ポートを指定するのが面倒なので、 `.ssh/config` に、こんな感じで書いておく。
|
||||
|
||||
```
|
||||
Host <host>
|
||||
Port *****
|
||||
(...その他)
|
||||
```
|
7
content/20240211171652 なぜsshをポート22で実行してはいけないのか.md
Executable file
7
content/20240211171652 なぜsshをポート22で実行してはいけないのか.md
Executable file
|
@ -0,0 +1,7 @@
|
|||
# 20240211171652 なぜsshをポート22で実行してはいけないのか
|
||||
#ssh #server #security
|
||||
|
||||
sshのデフォルトポートは22。攻撃しようとする場合、確実に狙われる。ポート番号をわからなくしておくことで、どのポートがsshか攻撃者に不明にすることができて、乗っ取りなどのリスクを下げられる。
|
||||
## cf.
|
||||
- [公開サーバでsshをポート22で空けておいては駄目、というのは常識なのでしょうか?もちろん公開鍵認証オンリーにしていますが。 - Quora](https://jp.quora.com/%E5%85%AC%E9%96%8B%E3%82%B5%E3%83%BC%E3%83%90%E3%81%A7ssh%E3%82%92%E3%83%9D%E3%83%BC%E3%83%8822%E3%81%A7%E7%A9%BA%E3%81%91%E3%81%A6%E3%81%8A%E3%81%84%E3%81%A6%E3%81%AF%E9%A7%84%E7%9B%AE-%E3%81%A8%E3%81%84%E3%81%86)
|
||||
- [SSHは22番ポートで通信しちゃダメ!ポート変更してVPSサーバーの安全を守ろう! | L'7 Records](https://www.braveryk7.com/change-22-port/)
|
43
content/20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする.md
Executable file
43
content/20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする.md
Executable file
|
@ -0,0 +1,43 @@
|
|||
|
||||
# 20240211185359 Raspi4 Cloudflareでsshアクセスできるようにする
|
||||
#raspi #cloudflare #ssh
|
||||
## 注意
|
||||
[[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る#注意]] と同じ。設定方法がどんどん変わる上、私はその専門ではない
|
||||
|
||||
## 前提
|
||||
[[20240211141946 Raspi4 Cloudflareでトンネルを作る|Raspi4 Cloudflareでトンネルを作る]] の作業が完了している
|
||||
|
||||
## 手順
|
||||
### サーバー側の設定
|
||||
- [[20240211195201 Cloudflare Access Groupsの作成|Cloudflare Access Groupsの作成]]
|
||||
- [[20240211195126 Cloudflare Applicationsの作成|Cloudflare Applicationsの作成]]
|
||||
|
||||
を終わらせる。他にやることはなかったと思う。
|
||||
|
||||
### クライアント側の設定
|
||||
直接sshではアクセスできず、 cloudflaredコマンドを使う。 以下はwsl2でubuntuを使っていた場合。
|
||||
|
||||
cloudflaredをインストールする。 d(daemon)としては使わないけど。
|
||||
[Downloads · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/) から、 amd64/x86-64 の .deb をダウンロード、
|
||||
```
|
||||
$ sudo dpkg -i coudflared-linux-amd64.deb
|
||||
```
|
||||
でインストール。
|
||||
|
||||
.ssh/config に、 cloudflaredを使う設定にしたssh設定を追記。
|
||||
|
||||
```
|
||||
Host pi4.kinoshita-lab.org (cloudflareで作ったsshのtunnel)
|
||||
Port xxxxx (自分が設定したポート番号)
|
||||
ProxyCommand cloudflared access ssh --hostname %h
|
||||
```
|
||||
|
||||
```
|
||||
$ ssh pi4.kinoshita-lab.org
|
||||
```
|
||||
|
||||
でログインできればOK。
|
||||
|
||||
## cf.
|
||||
- [SSH · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/use-cases/ssh/)
|
||||
- [Cloudflare Zero TrustでSSH接続](https://zenn.dev/jij_inc/articles/659fe35813b940)
|
26
content/20240211193602 Cloudflare Public Hostnameの設定.md
Executable file
26
content/20240211193602 Cloudflare Public Hostnameの設定.md
Executable file
|
@ -0,0 +1,26 @@
|
|||
# 20240211193602 Cloudflare Public Hostnameの設定
|
||||
#cloudflare #config #server #raspi
|
||||
|
||||
|
||||
Cloudflareの同じ画面で、"Public Hostname" をクリック。
|
||||
"+ Add a public hostname"
|
||||
をクリック。
|
||||
subdomain: sshでアクセスしたい場合のサブドメインを設定(optional)
|
||||
Domain: 使いたいドメイン ([[#サイトを追加する]] で追加したものしか選べない)を選ぶ
|
||||
|
||||
### SSHの追加
|
||||
Service
|
||||
Type: sshを選択
|
||||
URL: localhost:`[sshのポート]`
|
||||
Save hostname をクリック。
|
||||
|
||||
### HTTP/HTTPSの追加
|
||||
Service
|
||||
Type: https or httpを選ぶ
|
||||
URL: localhost
|
||||
Save hostname をクリック。
|
||||
|
||||
|
||||
自分の場合とりあえずこんな感じにしてある。
|
||||
![[Pasted image 20240211193442.png]]
|
||||
|
16
content/20240211195126 Cloudflare Applicationsの作成.md
Executable file
16
content/20240211195126 Cloudflare Applicationsの作成.md
Executable file
|
@ -0,0 +1,16 @@
|
|||
#### 20240211195126 Applicationsの作成
|
||||
※ これが何かよくわかっていない。
|
||||
todo: RTFM [Applications · Cloudflare Zero Trust docs](https://developers.cloudflare.com/cloudflare-one/applications/)
|
||||
|
||||
Zero Trustのダッシュボードで、 Access -> Applicationsを選択。 "+ Add an application"をクリック。
|
||||
次の画面では "Self Hosted"を選ぶ
|
||||
|
||||
Application name: default にした
|
||||
Application domain: subdomain: [[20240211193602 Cloudflare Public Hostnameの設定|Cloudflare Public Hostnameの設定]] で設定したサブドメインを追加。
|
||||
こんな感じ。pi4はsshアクセス、notesはhttps。
|
||||
|
||||
![[Pasted image 20240211195107.png]]
|
||||
|
||||
Policiesタブをクリックして、policyを作成する。
|
||||
default_policyというのを作り、 設定はデフォルトとした。
|
||||
Assing a group で、 [[20240211195201 Cloudflare Access Groupsの作成|Cloudflare Access Groupsの作成]] で作ったdefault_groupにチェック。 "Save policy"でPolicyを作成。
|
11
content/20240211195201 Cloudflare Access Groupsの作成.md
Executable file
11
content/20240211195201 Cloudflare Access Groupsの作成.md
Executable file
|
@ -0,0 +1,11 @@
|
|||
#### 20240211195201 Cloudflare Access Groupsの作成
|
||||
cloudflareにログイン、 Zero Trustをクリック。
|
||||
AccessからAccess Groupsを選択。 "+ Add a Group"をクリック。
|
||||
遷移した画面で、"Assign as default group" に チェック。 Include の所のSelectorは適切に設定する。
|
||||
Everyone/Everyone という設定も可能だが、セキュリティ上あまりよろしくない。
|
||||
ドメインでメールの設定をしている場合、それが使えるので、 Selectorに"Emails ending in" を選んで、Valueにメールアドレスのドメインを記入した。複数指定できる。
|
||||
こんなかんじ。
|
||||
Group nameは "default_group"に設定した。
|
||||
|
||||
![[Pasted image 20240211191414.png]]
|
||||
|
7
content/20240211202623 Raspi4 Cloudflareでhttpsサーバーを公開する.md
Executable file
7
content/20240211202623 Raspi4 Cloudflareでhttpsサーバーを公開する.md
Executable file
|
@ -0,0 +1,7 @@
|
|||
# 20240211202623 Raspi4 Cloudflareでhttpsサーバーを公開する
|
||||
#raspi #cloudflare #server
|
||||
|
||||
|
||||
## cf.
|
||||
[Cloudflare Tunnelで自宅サーバーを公開する(FreeプランOK)](https://zenn.dev/yakumo/articles/b1f0e1115cb5b6)
|
||||
.
|
BIN
content/assets/Pasted image 20240205205804.png
Executable file
BIN
content/assets/Pasted image 20240205205804.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 35 KiB |
BIN
content/assets/Pasted image 20240205211828.png
Executable file
BIN
content/assets/Pasted image 20240205211828.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 154 KiB |
BIN
content/assets/Pasted image 20240211191414.png
Executable file
BIN
content/assets/Pasted image 20240211191414.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 53 KiB |
BIN
content/assets/Pasted image 20240211193442.png
Executable file
BIN
content/assets/Pasted image 20240211193442.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 86 KiB |
BIN
content/assets/Pasted image 20240211195107.png
Executable file
BIN
content/assets/Pasted image 20240211195107.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 111 KiB |
BIN
content/assets/image20240208114549_0.png
Executable file
BIN
content/assets/image20240208114549_0.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 251 KiB |
Loading…
Reference in a new issue