Wireguardインストールログ

目的

  • 家のオンプレサーバーをインターネットに公開したいが、DS-Liteしている為公開できない
  • VPNを使う事で、Oracle Cloud上のサーバーを経由してオンプレ鯖のサービスを公開する。

URL

ホスト

  • クラウド Ubuntu 18.04LTS

  • ローカル Debian 10 Ubuntu 18.04LTS

  • 執筆時点 2020/04/14 では Debian 10でwireguardをセットアップした際に ip link add dev wg0 type wireguardUnknown type となってしまった為Ubuntuに変更

セットアップ手順

クラウド側(サーバー側)

  • sudo add-apt-repository ppa:wireguard/wireguard

  • sudo apt-get update

  • sudo apt-get install wireguard

  • ip link add dev wg0 type wireguard

  • ip address add dev wg0 10.240.0.1/24

  • sudo su -

  • cd /etc/wireguard

  • wg genkey > private
    Warning: writing to world accessible file.
    Consider setting the umask to 077 and trying again.

  • chmod 077 private

  • wg pubkey < private
    CzAAAAAAAAAAAAAAAAAAAAAAAuVg=

  • configを作成 (/etc/wireguard/wg0.conf)

[Interface]
PrivateKey = サーバー側秘密鍵 (private) の中身をコピペ
# Address = 10.240.0.1 参考にしたサイトではこれが記述されていたが、エラーとなるのでコメント化
ListenPort = 51820 

[Peer]
PublicKey = クライアント側公開鍵(後で生成する)
AllowedIPs = 10.240.0.0/24

ローカル側(クライアント側)

  • sudo add-apt-repository ppa:wireguard/wireguard

  • sudo apt-get update

  • sudo apt-get install wireguard

  • ip link add dev wg0 type wireguard

  • ip address add dev wg0 10.240.0.20/24

  • sudo su -

  • cd /etc/wireguard

  • wg genkey > private
    Warning: writing to world accessible file.
    Consider setting the umask to 077 and trying again.

  • chmod 077 private

  • wg pubkey < private
    CzBBBBBBBBBBBBBBBBBBBBBBuVg=

  • クライアント側 configを作成 (/etc/wireguard/wg0.conf)

[Interface]
# クライアント側秘密鍵
PrivateKey = このホストのprivate の中身 

[Peer]
PublicKey = # サーバー側公開鍵 
EndPoint = サーバー側公開IPアドレス:port
AllowedIPs = 10.240.0.0/24
PersistentKeepAlive = 30
  • ここでサーバー側configファイルのクライアント側publickey が生成されるのでconfigを直す。

接続開始

  • サーバー側、クライアント側 両方で wg setconf wg0 /etc/wireguard/wg0.conf

備考

  • サーバー側はポート開放が必要。
  • wg pubkey < private は、privateの中身が同一であれば、何度やっても同じ結果が出る。
comments powered by Disqus