はじめに
Openvpnが便利過ぎて使い続けていたが、マルチプロセスに対応していないのがどうしてもボトルネックになりがちだった。
wireguardも興味があったが
- DHCPない
- routeをpushできない
- ブリッジできない
- TCP対応してない
- ログが少ない
などから敬遠していた。
VyOSのバージョン1.3から正式(?)に使えるようになったため、試しに使ってみたら驚くほど簡単で高速で、目からウロコでした。
作り方
今回はサーバ側の設定を行う。
VyOS1.3を適当に準備します。1.2以上のstableバージョンは有償なので、下記URLからrolling releaseをダウンロードしても使えます。
https://downloads.vyos.io/?dir=rolling/current/amd64
※amd64しかないですね。。。ラズパイは無理なんかな。。。
さて、vyosにログインしたら基本設定(IP,route,nameserver)を済ませます。
-
キーペアを作成します。
run generate wireguard default-keypair
```
-
サーバのIPとネットワークを設定します。
set interfaces wireguard wg01 address '10.0.0.1/24'
```
-
待ち受けポートを設定します。※UDPです
set interfaces wireguard wg01 port '12345'
```
-
対向のクライアントに許可するIPを設定します。※対向クライアントを
client001
としています。
set interfaces wireguard wg01 peer client001 allowed-ips '10.0.0.2/32'
```
-
keepaliveを設定します。※15秒
set interfaces wireguard wg01 peer client001 persistent-keepalive 15
```
-
クライアントのパブリックキーを設定します。※クライアントのキーは未作成なので、適当にいれておきます。後で正確なものを入れます。
set interfaces wireguard wg01 peer client001 pubkey 'nT21OiS/yuqkrnPBSjjNKpXORwuVz9XnaBOWmyRVOl4='
```
-
適用します。
commit
```
-
保存しておきます。
save
```
いったんサーバ側の設定は完了です。クライアント側の設定は別途投稿します。