2024年07月11日 13時16分34秒
投稿者 みどり
自前VPN鯖といえば、OpenVPNが有名ですが
俺的には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でも接続できるようになります、素晴らしいね
記事を書くのもめんどいのでこのへんで中断
この記事を読んでわからないことがあっても知りません、自分で調べろ