我有两台服务器A
和B
。A
带有设备ens3
和地址的服务器10.1.0.171
以及B
带有设备ens3
和地址的服务器10.1.0.253
。
我想要在服务器A
和服务器B
网络上设置10.2.0.0/24
虚拟机实例,并且我想要从服务器上的虚拟机访问A
服务器上的虚拟机B
。
A
我尝试在服务器和服务器B
桥上创建br0
;添加接口ens3
,br0
并建立 gretap 隧道。但我不明白如何将 gretap 隧道连接到本地网络10.2.0.0/24
。
我该如何实现它?
谢谢。
答案1
我的建议是将 10.2.0.0/24 网络分成两个不同的网络 10.2.0.0/25 和 10.2.0.128/25,每个服务器一个内部网络,然后使用 IP 封装在 IP 中在这两个网络之间路由数据包。
您可以在以下位置找到有关如何执行此操作的详细信息https://www.tldp.org/HOWTO/Adv-Routing-HOWTO/lartc.tunnel.ip-ip.html。
答案2
我的建议是将 10.2.0.0/24 网络分成 2 个不同的网络 10.2.0.0/25 和 10.2.0.128/25,第一个网络位于服务器 A 内部,第二个网络位于服务器 B 内部。
然后,您可以添加从服务器 A 到服务器 B 网络的路由:
ip route add 10.2.0.128/25 via 10.1.0.253
从服务器 B 到服务器 A 的网络:
ip route add 10.2.0.0/25 via 10.1.0.171
当然,你还必须启用IP数据包转发:
sysctl net.ipv4.conf.all.forwarding=1
请注意,我假设服务器位于同一网络上。如果它们之间有路由器,则需要在服务器之间设置某种隧道,例如 IP in IP 或 GRE,并通过隧道进行路由。