====== 2024.02.21 WireguardクライアントをGatewayにする ======
{{drawio>50_dialy:2024:02:diagram1.png}}
| global network| X.X.X.X|
| Wireguard network| 10.10.10.0/24|
| local networdk|192.168.0.0/24|
この環境で、MobileのWireguardから、local WireguardをGatewayとして、local network(192.168.0.0/24)に接続したい場合
===== Cloud上のWireGuard01の設定 =====
こうする事で、192.168.0.0/24は、local Wireguardから出ていくことになります。
PostUpで、sysctl net.ipv4.ip_forward=1 と、iptablesを入れていく。
[Interface]
Address = 10.10.10.1/24
ListenPort = 51820
PrivateKey = XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=
PostUp = sysctl net.ipv4.ip_forward=1
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; iptables -t nat -D POSTROUTING -s 10.10.10.0/24 -j MASQUERADE
[Peer]
### Mobile
PublicKey = YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY=
PresharedKey = ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ=
AllowedIPs = 10.10.10.2/32
[Peer]
### local
PublicKey = AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
PresharedKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB=
AllowedIPs = 10.10.10.3/32,192.168.0.0/24
===== HomeのWireGuard02の設定 =====
[Interface]
# client01
PrivateKey = EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE= #~/client01/privkey の値
Address = 10.10.10.2/24 #client01のIP
DNS = 8.8.8.8, 8.8.4.4 #参照させたいDNS
MTU = 1353
PostUp = sysctl net.ipv4.ip_forward=1
[Peer]
# server
PublicKey = FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= #~/server/pubkey の値
PresharedKey = BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB= #~/client01/preshared の値
AllowedIPs = 10.10.10.0/24 #WireGuard経由で接続したいIPアドレスを指定
Endpoint = X.X.X.X:51820 #WireGuardサーバーのグローバルIPアドレス:ポート番号を指定
PersistentKeepAlive = 30
==== Nat設定ufw ====
※こちらは、もし[[#Cloud上のWireGuard01の設定]] でNAT設定を入れずに、NAT設定をufwで行う場合の設定方法です。
[[https://dokuwiki.fl8.jp/01_linux/30_ubuntu/08_ubuntu_nat]]
# FORWARD
*filter
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i wg0 -s 10.10.10.0/24 -j ACCEPT
COMMIT
# NAT
*nat
-F
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# ufw reload
Firewall reloaded
===== Mobile Wiregaurdの設定 =====
Mobile側も192.168.0.0/24はWireguard経由にしておく。
[Interface]
PrivateKey = CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC=
Address = 10.10.10.2/24
DNS = 8.8.8.8, 8.8.4.4
[Peer]
PublicKey = DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD=
PresharedKey = ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ=
AllowedIPs = 10.10.10.0/24, 192.168.0.0/24
Endpoint = X.X.X.X:51820
===== WireGuard02がWindowsの場合 =====
WireGuardじゃない方のネットワークを共有しておく
{{:50_dialy:2024:02:pasted:20240513-122427.png}}
{{:50_dialy:2024:02:pasted:20240513-122432.png}}
{{tag>日記 Wireguard network VPN}}