路由 Linux 流量

路由 Linux 流量

我目前正在 2 个站点设置环境。所有服务器都是基于 Linux 的。第一个站点是我的办公室,第二个站点是 AWS。

我在 AWS 中的 VPC 中有 2 台服务器,具有站点到站点 VPN:

  • Web01 - 172.31.24.106 和 Revproxy01 - 172.31.17.216

我办公室有 1 台服务器 (Raspberry PI) 和 1 个 IP 摄像头

  • Rasberry01 - 192.168.102.1 和相机 1 - 192.168.102.79。

Raspberry PI充当AP(使用hostapd和dnsmasq),相机通过wifi直接连接到PI(相机不连接到本地LAN,仅连接到自己LAN中的Raspberry PI)

VPN 位于 Raspberry1 (IPSec Strongswan) 上,并配置为连接到 AWS 端的 AWS 站点到站点 VPN。

经过大量的研究和时间,我已经把一切都准备好了并运行起来:

  • 172.31.24.106 和 172.31.17.216 可以 ping 通 192.168.102.1 和
  • 192.168.102.1 可以 ping 通 172.31.24.106 和 172.31.17.216。

路由是在 AWS 端设置的,因此发往 192.168.102.0/24 网络的流量将传递到 192.168.102.1

我的下一步是能够从 172.31.24.106 ping 192.168.102.79。我在 192.168.102.1 上执行了 TCPDump,当我从 172.31.24.106 ping 192.168.102.79 时,可以看到数据包到达@192.168.102.1。

我想我需要在 192.168.102.1 上路由流量,这样当 172.31.24.106 ping 192.168.102.79 时,它将从 eth0 (192.168.1.114) 转发到 wlan0 (192.168.102.1),然后转发到正确的目的地 192.168。 102.79

我最终想从 web01 和 Revproxy01 访问相机 http feed

网络图

+-------------+              +--------------+          +----------------------+
|Raspberry1   +--------------+              |          |                      |
|             |VPN to AWS    | Office Router+-------------+   +-------------+ |
|             +--------------+              |          |  |   |             | |
|             |192.168.1.114 |              |          |  +---+172.31.24.106| |
+-------------+              +--------------+          |  |   |             | |
 WLAN |192.168.102.1                                   |  |   +-------------+ |
      |192.168.102.79                                  |  |                   |
+-------------+                                        |  |                   |
|Camera01     |                                        |  |                   |
|             |                                        |  |   +-------------+ |
|             |                                        |  |   |             | |
|             |                                        |  +---+172.31.14.216| |
+-------------+                                        |      |             | |
                                                       |      +-------------+ |
                                                       |                      |
                                                       |                      |
                                                       |     AWS VPC          |
                                                       |                      |
                                                       +----------------------+

答案1

在我看来,整个 VPN 的内容与这个问题无关。最后这似乎是一个简单的路由问题。

为了让 Raspberry1(成功)转发流量,您需要:

  1. 在Raspberry1上启用路由功能(sysctl):

    net.ipv4.ip_forward = 1
    
  2. 允许在 Raspberry1 上的防火墙中转发(如果防火墙处于活动状态),如下所示:

    iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    iptables -A FORWARD -s 172.31.24.106 -d 192.168.102.79 -j ACCEPT
    
  3. 您需要将 192.168.102.1 配置为 Camera01 上的默认网关或 Raspberry1 上的 SNAT,以便 Camera01 的流量似乎来自 192.168.102.1

相关内容