ユーザ用ツール

サイト用ツール


mae3xx_ope:use_wireguard_vpn:start

差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
mae3xx_ope:use_wireguard_vpn:start [2019/05/30 15:08]
admin [複数拠点を収容する]
mae3xx_ope:use_wireguard_vpn:start [2019/11/29 15:32] (現在)
admin
ライン 1: ライン 1:
 ====== WireGuard VPN の利用 ====== ====== WireGuard VPN の利用 ======
  
-[[https://​www.wireguard.com/​|{{:​mae3xx_ope:​use_wireguard_vpn:​wireguard_logo.png|WireGuard - extremely simple yet fast and modern VPN}}]]+[[https://​www.wireguard.com/​|{{:​mae3xx_ope:​use_wireguard_vpn:​wireguard_logo.png?800|WireGuard - extremely simple yet fast and modern VPN}}]]
  
 v4.1.0 および v2.9.4rc7 から、[[https://​www.wireguard.com/​|WireGuard]] VPN を追加しました。\\ v4.1.0 および v2.9.4rc7 から、[[https://​www.wireguard.com/​|WireGuard]] VPN を追加しました。\\
ライン 17: ライン 17:
  
 また、他の VPN (IPSec, OpenVPN 等) と比較して**設定が非常に簡単**なので、設定で悩まされることなく VPN 環境を構築可能です。 また、他の VPN (IPSec, OpenVPN 等) と比較して**設定が非常に簡単**なので、設定で悩まされることなく VPN 環境を構築可能です。
 +
 +※ v4.4.0β12 から、[[.wireguard_webui:​start]]((現状 1ピアのみ、クライアント側としての利用を想定))を用意しました。
  
 \\ \\
ライン 48: ライン 50:
  
 <​code>​ <​code>​
 +root@server:/​etc/​wireguard#​ umask 077
 root@server:/​etc/​wireguard#​ wg genkey | tee privatekey | wg pubkey > publickey root@server:/​etc/​wireguard#​ wg genkey | tee privatekey | wg pubkey > publickey
 root@server:/​etc/​wireguard#​ ls -l root@server:/​etc/​wireguard#​ ls -l
ライン 239: ライン 242:
 \\ \\
  
-===== FAQ =====+===== TIPS =====
  
 ==== MA-E3xx で PPP 経由で自動接続させる ==== ==== MA-E3xx で PPP 経由で自動接続させる ====
 +
 +=== v4.x 系(Ubuntu 18.04LTS) の場合 ===
 +
 +systemd の service (wg-quick@.service) を有効化することで対応可能です。
 +
 +<​code>​
 +root@plum:​~#​ systemctl enable wg-quick@wg0
 +Created symlink /​etc/​systemd/​system/​multi-user.target.wants/​wg-quick@wg0.service → /​lib/​systemd/​system/​wg-quick@.service.
 +root@plum:​~# ​
 +</​code>​
 +
 +\\
 +
 +=== v2.x 系(Ubuntu 14.04LTS) の場合 ===
  
 /​etc/​ppp/​ip-up.d/​ に wg-quick を呼び出すスクリプトを作成しておくことで、PPP 接続と同時に WireGuard 接続することができます。 /​etc/​ppp/​ip-up.d/​ に wg-quick を呼び出すスクリプトを作成しておくことで、PPP 接続と同時に WireGuard 接続することができます。
ライン 284: ライン 301:
 AllowedIPs = 10.100.0.12/​32 AllowedIPs = 10.100.0.12/​32
 </​file>​ </​file>​
 +
 +\\
 +
 +==== 拠点間接続をする ====
 +
 +"​Peer"​ の "​AllowedIPs"​ にネットワークをカンマ区切りで設定することで可能となります。
 +
 +== 172.16.0.0/​16 へのルーティングを有効化する場合 ==
 +
 +<file config /​etc/​wireguard/​wg0.conf>​
 +[Interface]
 +PrivateKey = eJIfe+fVRyhAHf1IKN0IyKLTauAgpwo0LbqqgFXP/​0Y=
 +Address = 10.100.0.1
 +ListenPort = 51820
 +
 +[Peer]
 +PublicKey = LU9wj74KIc5ND+F76Amw9GyrLrwgLmBT9JOxTEaPqAY=
 +AllowedIPs = 10.100.0.10/​32,​ 172.16.0.0/​16
 +</​file>​
 +
 +\\
 +
 +==== LAN 内の機器に WireGuard 経由でアクセスしたい ====
 +
 +LAN 内の機器にリモートからアクセスしたいけど、LAN 内の機器のルーティング変更はさせてもらえない、とか \\
 +ルーティングを変更するのは面倒くさい、、、とか、ありますね。
 +
 +{{:​mae3xx_ope:​use_wireguard_vpn:​wireguard_03.png?​1000|}}
 +
 +\\
 +
 +MA-E3xx 側の WireGuard 設定ファイルに、PostUp/​PreDown で WireGuard のアドレスをソースとしたパケットに対する MASQUERADE ルールを追加するだけで可能です。
 +
 +<file config /​etc/​wireguard/​wg0.conf>​
 +[Interface]
 +PrivateKey = kEZJD3XwR4C93FQV4k3kxKXZN4lb3BteQ8QmidevC08=
 +Address = 10.100.0.10
 +PostUp = iptables -t nat -A POSTROUTING -s 10.100.0.0/​24 -j MASQUERADE
 +PreDown = iptables -t nat -D POSTROUTING -s 10.100.0.0/​24 -j MASQUERADE
 +
 +[Peer]
 +PublicKey = 27XZDfokt17uJZ+pvGXIRqLk2RMiPk55d12rzdDzAVY=
 +EndPoint = www.example.jp:​51820
 +AllowedIPs = 10.100.0.0/​24
 +PersistentKeepAlive = 30
 +</​file>​
 +
 +\\
 +
 +サーバー側には LAN 内のアドレスへのルーティングを追加しておきます。
 +
 +<file config /​etc/​wireguard/​wg0.conf>​
 +[Interface]
 +PrivateKey = CGqjI+42V0TFA699Rf5SRd/​+HWmUnwFudhh+vjToGWw=
 +ListenPort = 51820
 +Address = 10.100.0.1
 +
 +[Peer]
 +# MA-E3xx
 +PublicKey = PgXan/​MXjXWQkwesEqkVUN1ggg6XyB8f86yr96ZiDio=
 +AllowedIPs = 10.100.0.10/​32,​ 192.168.253.0/​24
 +</​file>​
 +
 +※ MA-E3xx の LAN、192.168.253.0/​24 へのルーティングを追加しています。
 +
 +=== テスト ===
 +
 +Internet 上のサーバー側から LAN 内の機器にアクセス可能か試してみます。
 +
 +<​code>​
 +root@server:​~#​ traceroute 192.168.253.2
 +traceroute to 192.168.253.2 (192.168.253.2),​ 30 hops max, 60 byte packets
 + ​1 ​ 10.100.0.10 (10.100.0.10) ​ 1117.021 ms  1116.872 ms  1116.762 ms
 + ​2 ​ 192.168.253.2 (192.168.253.2) ​ 1116.687 ms *  1116.487 ms
 +</​code>​
 +
 +<​code>​
 +root@server:​~#​ ping -c 5 192.168.253.2
 +PING 192.168.253.2 (192.168.253.2) 56(84) bytes of data.
 +64 bytes from 192.168.253.2:​ icmp_seq=1 ttl=63 time=610 ms
 +64 bytes from 192.168.253.2:​ icmp_seq=2 ttl=63 time=47.5 ms
 +64 bytes from 192.168.253.2:​ icmp_seq=3 ttl=63 time=45.4 ms
 +64 bytes from 192.168.253.2:​ icmp_seq=4 ttl=63 time=43.7 ms
 +64 bytes from 192.168.253.2:​ icmp_seq=5 ttl=63 time=70.6 ms
 +
 +--- 192.168.253.2 ping statistics ---
 +5 packets transmitted,​ 5 received, 0% packet loss, time 4006ms
 +rtt min/​avg/​max/​mdev = 43.751/​163.511/​610.198/​223.556 ms
 +</​code>​
 +
 +問題なくアクセスできることが確認できました。
 +
 +\\
 +
 +==== 今回作成したサーバーにスマートフォンでアクセスする ====
 +
 +クライアント用の設定を作成し、iPhone,​ Android アプリ用に設定を QR コードで出力することができます。
 +
 +[参考] [[https://​wiki.debian.org/​Wireguard#​A3._Import_by_reading_a_QR_code_.28most_secure_method.29|Mobile clients Configuration - Debian Wiki]]
 +
 +{{:​mae3xx_ope:​use_wireguard_vpn:​wireguard_02.png?​400|これはダミー設定なので実際に使用することはできません。}}
  
 \\ \\
  
mae3xx_ope/use_wireguard_vpn/start.1559196516.txt.gz · 最終更新: 2019/05/30 15:08 by admin