はじめに
自宅でVPS+wireguardを使ってsymbolノードを構築する時に
詰まった話について記事にします。
この問題を解決するまでに多くの人に助けられました!
本当にありがとうございました!
環境
VPN
・WebARENA Indigo 1GBプラン
・Instance 2vCPU,2GB RAM, 40GB SSD, 100Mbps
・ubuntu 22.04 LTS
Client PC
・ubuntu 22.04 LTS
自宅LAN環境
・マンション内で無料でインターネットができる環境。
・個人ではなく、マンション全体でプロバイダと契約してる?
・グローバルIPはもらえない。
問題発生までの手順
下記のもなかさんの記事を参考に「接続」の章までやる。
そこまでやって特に問題がなければOKです!
しかし、私の場合は記事通りにやっても何故か上手くいきませんでした。。
どんな状態になったか
1. wireguardで接続をするとClient PCがインターネットに繋がらなくなる。
(繋がるけど極端に遅い)
2. wireguardで接続中でもvps-client間のpingは双方ともに通る。
3. wireguardを停止するとClient PCがインターネットに繋がるようになる。
この状態になってしまうとノードの立ち上げはできず、
また起動中のノードがあってもheightが上がらない状態になってしまいます。
(wireguardを停止すればどちらも問題なく動きます。)
解決のために行ったこと
ファイヤーウォールが原因だと思い、以下の対応を行いました。
1. WebARENA Indigoのダッシュボードからファイヤーウォールを解除。
2. VPSのファイヤーウォール停止
3. Client PCのファイヤーウォール停止
しかし、問題は解決しませんでした。
原因は何だったのか
Client PCの動的IPアドレスを割当していた(DHCP機能)ことが問題でした。
WireGuard は、ネットワーク層 (レイヤー 3) で動作します。そのため、DHCP を使用できず、静的 IP アドレスまたは IPv6 リンクローカルアドレスを、サーバーとクライアントの両方のトンネルデバイスに割り当てる必要があります。
よってClientPCには静的IPアドレスを割り振らないと駄目なことがわかりました!
なのでClient PCで固定IPの設定を行います。
※固定IPを付与する場合、wifiルーターのDHCPで端末に付与されるIPのレンジとClientPCに設定したIPのレンジがかぶらないように注意してください。
※使用しているルーターによって設定は異なりますのであくまで参考にしてください。
こちらの対応を行いますが、もう一つ問題が残りました。
httpには繋がるがhttpsには繋がらない
Client PCがインターネットに繋がったのでやったー!
と思っていたのも柄の間、相変わらずノードの立ち上げはできず、
立ち上がっていてもheightは上がらない状況に変化はありません。
この問題に関してはサーバー側のwireguardの設定ファイルに
以下の内容を追記してもらえればOKです。
/etc/wireguard/wg0.conf(サーバー側)
[Interface]
MTU = 1350
参考にしたリンク↓
https://bbs.archlinux.org/viewtopic.php?id=254896
解決
ここまでの作業を行うことで無事に自宅でも
symbolノードを公開することができました。
今後、自宅でノード構築に挑戦する方の参考になればと思って記事にしました。
皆も気楽に自宅でsymbolノード構築!!!
改めて、
今回の問題で助けて頂いた方々、
本当にありがとうございました!
余談
ここだけの話ですが、ノード構築を始めようとして完成するまで13日が経過してました…。
特に問題がなければ1日あれば十分構築可能な作業量ですので、
それ以上かかるようなら#symbolタグを付けて質問しましょう!