猫川ブログ


Debian 12でWireGuard鯖を立てて、外から家のネットワークにアクセスしよう

2024年07月11日 13時16分34秒
投稿者 みどり

Debian 12でWireGuard鯖を立てて、外から家のネットワークにアクセスしよう

自前VPN鯖といえば、OpenVPNが有名ですが
俺的にはWireGuardを推したい。

WireGuardの利点


まずはWireguardのインストールから
sudo apt install wireguard -y
そしたらWireguard鯖の鍵を作る、私は鍵にわかなので意味分かってません
ここパクリサンプリングです
wg genkey | sudo tee /etc/wireguard/server.key
ここで出てきた鍵を予めメモしておく
sudo cat /etc/wireguard/server.key | wg pubkey | sudo tee /etc/wireguard/server.pub
sudo chmod 600 /etc/wireguard/server.{key,pub}

次に、カーネルの設定をいじります、俺もよく分かってないけど壊れはしないと思います
sudo micro /etc/sysctl.conf
net.ipv4.ip_forward=1を追記して保存
sudo sysctl -pで設定を適用して確認

次に、Wireguardの設定をします
sudo micro /etc/wireguard/wg0.conf

[Interface]
PrivateKey = 予めメモしておいた秘密鍵
Address = 10.0.0.1
ListenPort = 51000
PostUp = iptables -t nat -I POSTROUTING -o (インターネットにつながってるデバイス, eth0とかの方) -j MASQUERADE
PreDown = iptables -t nat -D POSTROUTING -o (インターネットにつながってるデバイス, eth0とかの方) -j MASQUERADE

[Peer]
PublicKey = Androidアプリとかで生成したクライアント側の公開鍵
AllowedIPs = 10.0.0.2/32

クライアント側の鍵の生成は書くのめんどいんでここでも見て自分で頑張ってください(笑)
そしたら、
sed -i '/^[[:blank:]]*sleep 1/d' /usr/bin/wg-quick # Revert adding the sleep, if already added.
sed -i '/^ListenPort[[:blank:]]/a\Table = off' /etc/wireguard/wg0.conf # Actively disable the routing table to force skipping "ip route add"
を実行、これをしないとなぜかエラーが出て鯖が起動できません
ここのサンプリングです

そしたらいよいよWireguard鯖を起動します、
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
これでエラーがなかったら正しく起動できてると思います
次はクライアント側の設定ファイルも作っときましょう
micro wg0.conf

[Interface]
PrivateKey = クライアント側の秘密鍵
Address = 10.0.0.2

[Peer]
PublicKey = サーバー側の公開鍵
AllowedIPs = 0.0.0.0/0
Endpoint = サーバーにアクセスするためのIP/ドメイン:51000

このファイルさえあればスマホでもChromiumでも接続できるようになります、素晴らしいね
記事を書くのもめんどいのでこのへんで中断
この記事を読んでわからないことがあっても知りません、自分で調べろ

戻る
Powered by ちょー簡単PHPブログ v0.7.6