Wireguard 到命名空间内的端点

Wireguard 到命名空间内的端点

我有三个虚拟机。 VM-A、VM-B 和 VM-X。我有一个应用程序在后端服务器 VM-X 上运行。 VM-A 是主前端服务器,具有高容量。 VM-B只是一个低容量的备用服务器。我的申请每天只需要 14 小时。当我使用 AWS 时,我的计划是关闭 VM-A(下班后)并在其他时间将 VM-B 保留为前端,以便某些用户可以使用应用程序。在 VM-A 上,我有一个自定义 XDP 工具,它通过 IPIP 隧道连接到 VM-B。在 VM-X 上,我正在为 IPIP 隧道运行以下命令

ip tunnel add ipip0 mode ipip remote **VM-A-PublicIP** local **VM-X-Private-IP**
ifconfig ipip0 mtu 1480 up
ip netns add proxy
ip link set ipip0 netns proxy
ip netns exec proxy ip link set dev ipip0 up
ip netns exec proxy ip link set dev ipip0 promisc on
ip netns exec proxy ip addr add **VM-A-PrivateIP/32** dev ipip0
ip netns exec proxy ip route add default dev ipip0

我的 VM-X 上的应用程序使用以下命令在此命名空间中运行ip netns exec proxy service myapp start

我想用wireguard 连接VM-B 和VM-X。My wireguard conf file on VM-B is as below

[Interface]
Address = 192.168.90.1/24
SaveConfig = false
ListenPort = 51890
PrivateKey = ICDVm5kbkuO8kuD256ZQKg2IkxQL3h7sLkIw6YpGF2E=
PostUp = iptables -t nat -I PREROUTING -i enp0s3 -p udp --dport 1234 -j DNAT --to 192.168.90.2
PreDown = iptables -t nat -D PREROUTING -i enp0s3 -p udp --dport 1234 -j DNAT --to 192.168.90.2

[Peer]
PublicKey = ZvJyJRy7nD8si6VRH10s9JN3PeMRaz6OYj5F0SHTImY=
AllowedIPs = 192.168.90.0/24
Endpoint = **VM-X-PublicIP**:51890

--- 我的wireguard配置已打开虚拟机-X如下。

[Interface]
Table = off
Address = 192.168.90.2/24
SaveConfig = false
ListenPort = 51890
PrivateKey = kBnr5zNvVX1uSiKUSkqJRQ+6LV/vsqF3D3r3q/PUlHo=
PostUp = /etc/wireguard/wg_gs90routing.sh
PreDown = /etc/wireguard/wg_gs90unrouting.sh

[Peer]
PublicKey = 3MqWlddTdYSZ8uXP2RP8c8ufgP9cLFi14aUBbwg3unI=
AllowedIPs = 0.0.0.0/0
Endpoint = **VM-B-PublicIP**:51890

wg_gs90routing.sh 文件

ip route add 192.168.90.0/24 dev wg-gs1 scope link table wg-gs1
ip route add 0.0.0.0/0 dev wg-gs1 via 192.168.90.2 table wg-gs1
ip rule add from all fwmark 0x1001 lookup wg-gs1
iptables -t mangle -A PREROUTING -i wg-gs1 -j MARK --set-mark 0x1001
iptables -t mangle -A PREROUTING -i wg-gs1 -j CONNMARK --save-mark
iptables -t mangle -A OUTPUT -j CONNMARK --restore-mark
iptables -t nat -A PREROUTING -i wg-gs1 -m addrtype --dst-type LOCAL --limit-iface-in -p udp -j DNAT --to 192.168.128.192:1234
conntrack -F

有人可以帮助我在 VM-B 和 VM-X 中进行哪些更改和哪些更改才能使wireguard 隧道运行,而不对 VM-A 和 VM-X 的 IPIP 隧道进行任何更改。我对此非常陌生,我的朋友在这一切之后查找不可用,因此我必须自己设置它。请有人帮助我。我用谷歌搜索但找不到任何相关内容

相关内容