====== 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}}