ひさしぶりに

文章を書くことをずっとしていなかったような気がする
いや、実際は書いてたんだけど、書き散らしていただけというか
あと公開向けに書いてみようと思ったけど
なんだかんで愚痴っぽくなってしまって
わざわざ公開するもんでもねぇな、的な気持ちになったりもした

昔はブログをすごい更新していて、その時は
愚痴だろうが身内ネタだろうがなんかそんなの関係なしに
公開していたりしたもんだけど
その勢いは若さゆえというかなんというか……
今見返すと赤面ものだったりするよね……

ただ、やはりこうやって文章を書くことで
なんとなく頭の中を整理することで洗い流されるものがある感じ
文章を書くことは風呂に入るようなものだな、って思った

あと、疲れてしまってただただTLを覗くだけの機械と化してしまう
ってのもよくないよなぁ、って思ったり

  1. 疲れてなにもできない
  2. かといって寝ることもできないからTLを覗く
  3. 気がつくと時間が経つし目も疲れる
  4. 心身ともに疲弊して何もできない(2に戻る

みたいな悪循環もあるなーって
まぁ、そういう時もあってもいいっちゃいいんだけど、それが
普通になってはいかんよなぁ、って思ったりした
ので、つぶやくのではなく代わりに記事更新ってことでどうか一つ

これだけだとただの駄文というかネットのゴミになってしまうので
ついついいっつも調べてしまう内容を自分のためのメモとして
書いておこう。

最近、っても使い始めたのは3年ぐらい前だけど、
VPNツールとしてWireGuard1をよく使う。めっちゃ便利。
他にも色々あって、そちらはそちらで調べて触っていきたいのだけど
ついつい忙しかったり余裕がなかったりで
馴染みがあるやつを選定しちゃうよね

新しいのを使うのも好きだけど、なんやかんでで
ありものでなんとかする、っていうのが
俺の性分にあっているのかもしれない。

# ubuntuでのインストール
sudo apt install wireguard

# 鍵の作成
# rootユーザでやると楽だけどお好みで
cd /etc/wireguard
wg genkey | tee server.key
cat server.key | wg pubkey | tee server.pub
chmod 600 server.*

# ここまでがサーバの鍵
# 以下がクライアント側の鍵。場所は任意。
# クライアント側でやるのがよいっぽい

wg genkey | tee client.key
cat client.key | wg pubkey | tee client.pub
chmod 600 client.*

# できた鍵は控えておく
# といいけど結局いつも都度catで見たりする
# configファイルの作成
# サーバ側のコンフィグと、クライアント側のコンフィグが必要
# サーバ側
sudoedit /etc/wireguard/wg0.conf
# wg0である必要は多分ないんだけど、慣習的にこうしている
# 公式でもwg0で、wg0以外みたことない
# wg1, wg2とかってやると増やせるのか?
# インターフェースよりはPeerを増やす方がいいと思うがどんなんだろ?
# ちょっと落ち着いたら公式ドキュメントを読み込もう。2
# wg0.confの中身
[Interface]
# サーバの秘密鍵
PrivateKey = 上記でのserver.keyの内容
# サーバVPNインターフェースに割り当てるIPアドレス
Address = x.x.x.1(重複しないかつ末尾.1なアドレス)
# VPNのリッスンポート
ListenPort = リッスンするポート番号(公式では51820が使われている)

# Peer(クライアント)設定
# クライアントが増えればこの項目を下に追記する
[Peer]
# クライアントの公開鍵
PublicKey = 上記でのclient.pubの内容
# クライアントに割り当てるIPアドレス
AllowedIPs = x.x.x.2(サーバ側のIPとセグメントが同一なやつ)
# client側のconfの中身
# 例えばclient.confなど。名前は任意
# Wireguardクライアント側でのトンネル名となる
# サーバと彼我が逆転するのでInterfaceがクライアント側、
# Peerがサーバ側、となる
[Interface]
#クライアントの秘密鍵
PrivateKey = 上記でのclient.keyの内容
# クライアントに割り当たったIPアドレス
Address = x.x.x.2(サーバ側のPeerのAllowedIpsの設定と同一)

[Peer]
# サーバの公開鍵
PublicKey = 上記でのserver.pubの内容
# サーバのアクセス情報
# サーバのVPNインターフェースに割り与えられている
# IPアドレスでないことに注意
# 例:y.y.y.y:51820 or hogehoge.fugafuga:51820 など
EndPoint = サーバへのアクセスするドメインまたはIPアドレス:リッスンポート
# 通信が許可されるIPのリスト
# というか通信にVPNを使うアドレス範囲、の方が正確か?
# ここを0.0.0.0/0とかにすると全てのIPv4がVPNサーバを経由する?3
AllowedIPs = x.x.x.1/32, z.z.1.0/24(一例)

クラウドサービスとか固定IPサービスとか使ってたらそのアドレスでやればいいと思う。
あと、家だとHGWでポートフォワードとかの設定を忘れずに。
MyDNSとかでドメイン取って、その上でHGWの設定すると捗る。

こんな感じかなぁ。とりあえず毎回毎回見ながら作業しているから
次からはこれ見ればいいかなって思う
これ見ればいいかなっていうか一回書いたから忘れなさそうだけど。

  1. https://www.wireguard.com/ ↩︎
  2. https://github.com/pirate/wireguard-docs?tab=readme-ov-file#How-WireGuard-Works ↩︎
  3. らしいのだが、そのままだとDNSサーバもVPN経由となって名前解決できなくなる。Interface側にDNS設定をするといいらしいのだが、現時点でうまく行ってない。もっとドキュメント読まないと……。 ↩︎