natの設定確認のための簡易webサーバーです。
pingだけではtcpがちゃんと疎通できるのか頼りないので、これをラズパイにインストールして検証したいVLANのアクセスポートに接続して使用してました。
単純にwebサーバーから見たリモートクライアントのipアドレスを返すだけです。
https://httpbin.org/ipみたいなサービスがイントラ内に必要だったので実装しました。
make
は僕のラズパイmodel2向けのバイナリを生成します。
こちらを参考に必要に応じてMakefile
を修正して、go build
のオプションを修正してください。
- GO1.14
- 直接実行する
go run cmd/main.go
- 動作確認
$ curl 0.0.0.0
127.0.0.1
ビルドしたバイナリとunitファイルをラズパイへ配置します。
deployのスクリプトでremote_user
とremote_host
を参照します。
direnvなどを利用して環境変数で指定してください。
-
例
- remote_user
- sshユーザー名
- remote_host
- ラズパイのホスト名 avahiなどで設定している名前
- remote_user
-
ビルドしてラズパイへ転送
make
make deploy
- ラズパイにログインしてバイナリを
/usr/local/bin/
へ移動します。
ssh alarm@pi.local
mv echo /usr/local/bin/echo
-
systemdの登録(初回のみ)
- unit ファイルをsystemディレクトリに移動して、
systemctl enable
してstart
してください。
- unit ファイルをsystemディレクトリに移動して、
mv http-echo.service /etc/systemd/system/http-echo.service
systemctl enable http-echo
systemctl start http-echo
echoの実装はこちらを参考にさせていただきました。