我正在尝试通过 WireGuard VPS 设置访问我的 LAN 设备。我有 2 个 WireGuard 对等设备连接到运行 Ubuntu 的 AWS EC2 上具有公共 IP 的 WireGuard 服务器。我是 WireGuard 的新手,也是网络新手,但这是我目前所做的工作。
这是我正在使用的设置: 网络设置
ping 10.66.66.1 works from A
ping 10.66.66.2 works from A
ping 10.66.66.1 works from B
ping 10.66.66.3 works from B
当我尝试从 A ping R3 后面的 LAN 时出现了问题。
ping 192.168.102.10 results in timed out.
tracert 192.168.102.10 shows the first hop to 10.66.66.1.
All subsequent hops are * * * and trace never completes.
当我尝试从 B ping 192.168.103.10 时,也会出现类似的问题。这边唯一的区别是,我在 R3 上配置了一条静态路由,目的地 192.168.103.0/24 是通过 10.66.66.2。
此外,我们必须假设我无法以任何方式访问 R1 和 R2 的配置。此设置旨在便于携带,并且只要 A 和 R3 可以访问互联网,就可以在 R3 上进行最低配置。
到目前为止,我尝试过:
- 在 /etc/sysctl/conf 中启用服务器上的 IP 转发。
net.ipv4.ip_forward=1
- 根据以下要求在服务器 wg0.conf 上添加 PostUp 和 PreDown 路由这个帖子
PostUp = ip route add 192.168.102.0/24 via 10.66.66.2 dev wg0
PreDown = ip route del 192.168.102.0/24 via 10.66.66.2 dev wg0
我迷茫了,不知道如何解决这个问题。任何帮助都非常感谢,谢谢!!
配置:
// /etc/wireguard/params
SERVER_PUB_IP=<PUBLIC_IP_S>
SERVER_PUB_NIC=ens5
SERVER_WG_NIC=wg0
SERVER_WG_IPV4=10.66.66.1
SERVER_WG_IPV6=fd42:42:42::1
SERVER_PORT=53958
SERVER_PRIV_KEY=<PRIVATE_KEY>
SERVER_PUB_KEY=<PUBLIC_KEY>
CLIENT_DNS_1=1.1.1.1
CLIENT_DNS_2=1.0.0.1
ALLOWED_IPS=0.0.0.0/0,::/0
// /etc/wireguard/wg0.conf
[Interface] Address = 10.66.66.1/24,fd42:42:42::1/64
ListenPort = 53958
PrivateKey = <PRIVATE_KEY>
PostUp = iptables -I INPUT -p udp --dport 53958 -j ACCEPT
PostUp = iptables -I FORWARD -i ens5 -o wg0 -j ACCEPT
PostUp = iptables -I FORWARD -i wg0 -j ACCEPT
PostUp = iptables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
PostUp = ip6tables -I FORWARD -i wg0 -j ACCEPT
PostUp = ip6tables -t nat -A POSTROUTING -o ens5 -j MASQUERADE
PostDown = iptables -D INPUT -p udp --dport 53958 -j ACCEPT
PostDown = iptables -D FORWARD -i ens5 -o wg0 -j ACCEPT
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT
PostDown = iptables -t nat -D POSTROUTING -o ens5 -j MASQUERADE
PostDown = ip6tables -D FORWARD -i wg0 -j ACCEPT
PostDown = ip6tables -t nat -D POSTROUTING -o ens5 -j MASQUERADE
### Client R3
[Peer]
PublicKey = <CLIENT_PUB_KEY>
PresharedKey = <CLIENT_PSK>
AllowedIPs = 192.168.103.0/24,fd42:42:42::2/128
### Client A
[Peer]
PublicKey = <CLIENT_PUB_KEY>
PresharedKey = <CLIENT_PSK>
AllowedIPs = 192.168.102.0/24,fd42:42:42::3/128
// A.conf
[Interface]
PrivateKey = <PRIVATE_KEY>
Address = 10.66.66.3/32,fd42:42:42::3/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = <PUBLIC_KEY>
PresharedKey = <PRE_SHARED_KEY>
Endpoint = <PUBLIC_IP>:53958
AllowedIPs = 0.0.0.0/0,::/0
// R3.conf
[Interface]
PrivateKey = <PRIVATE_KEY>
Address = 10.66.66.2/32,fd42:42:42::2/128
DNS = 1.1.1.1,1.0.0.1
[Peer]
PublicKey = <PUBLIC_KEY>
PresharedKey = <PRE_SHARED_KEY>
Endpoint = <PUBLIC_IP>:53958
AllowedIPs = 0.0.0.0/0,::/0