一、网络拓扑

routeip

二、拓扑分析

2.1、理论分析

PS:通过左侧的防火墙和右侧的软路由ROS建立GRE-over-IPSecVPN隧道,在防火墙内写明细路由器把公网PC来访问180.102.129.22的流量通过VPN隧道的tun1虚拟接口丢给家里的ROS的tun1虚拟接口,再由ROS将流量从eth1口丢给家庭路由器的G0/3口实现路由真IP给家里的路由器使用。

2.2、前提条件

2.2.1、左侧防火墙具有公网IP

PS:这一点基本都符合,在中国大陆的公司一般在跟运营商申请带有固定IP地址的互联网线路时,公司都会申请掩码为29位带6个IP的,除去网关占用一个,总共我们有五个可用的公网IP,这种线路比ADSL或者30位的公网都要贵很多,但是往往公司实际的业务又根本用不完这么多公网IP的,说实话如果加上反向代理一个公网IP都足够多了,更何况一个公网IP上还有65535个端口可以使用,根本用不完了,所以既然公司用不了,放哪里又会造成资源浪费,这个对于我们网络管理员来说是万万不能的,所以我将公司用不完的公网IP路又到我家里,给我家里的路由器搞一个公网IP用用,岂不美哉。😃

2.2.2、防火墙支持以下一种功能

PS:IPSecVPN;OpenVPN;Wireguard;L2TP;PPTP;SD-WAN;GER

IPSecVPN:IPSec(Internet Protocol Security)VPN 是一种网络协议,用于通过加密和身份验证确保数据传输的安全性。它通过在通信双方之间建立虚拟专用网络来创建安全的连接。

OpenVPN:OpenVPN 是一种开源的 VPN(Virtual Private Network)协议,它使用自定义的安全套接字层(SSL/TLS)协议来实现安全的远程访问和通信。它具有广泛的跨平台支持,并被认为是一种安全可靠的 VPN 解决方案。

WireGuard:WireGuard 是一种快速、简单和现代化的 VPN 协议。它被设计为更加高效且易于配置的替代品,相较于传统的 VPN 协议,如 IPSec 和 OpenVPN,它具有较低的延迟和较小的代码量,但仍能提供强大的安全性。

L2TP:L2TP(Layer 2 Tunneling Protocol)是一种基于点对点协议的 VPN 协议。它通常与 IPsec 结合使用,以提供数据的加密和身份验证。L2TP 可以通过公共网络或互联网隧道传输数据,用于远程访问和私密通信。

PPTP:PPTP(Point-to-Point Tunneling Protocol)是一种早期的 VPN 协议,用于建立安全的远程连接。它较简单,易于配置和使用,但安全性方面相对较弱,因此在较高要求的环境下使用较少。

SD-WAN:SD-WAN(Software-Defined Wide Area Network)是一种软件定义的广域网技术,用于管理和优化分布式网络的连接。它通过集中控制和动态路由来提供更好的带宽利用率、可靠性和安全性。虽然 SD-WAN 不是传统的 VPN 技术,但它可以用于组织内部或跨地域间建立私密的虚拟网络连接。

2.2.3、家里有两台路由器

PS:首先家里必须有一台支持多WAN口的路由器,比如图中右侧连ISP的,就是我家里的路由器支持多WAN口,其次是第二台路由器必须支持以上VPN中的一种可以和防火墙建立VPN隧道,不然无法实现,比如我家里的是一台软路由ROS,我家里我放了一台N5105工控机作为我自己的服务器,N5105本身我装的是ESXi虚拟机系统(网卡不直通!),然后在ESXi里面装一台软路由ROS,然后给这台ROS分俩个N5105上的网口,一个网口作为WAN口上网(WAN口可以和你的ESXi口复用,即在同一个vSwitch内就是)和左侧防火墙建立VPN隧道,另外一个网口连一根线到家里的出口路由器(就是图中ESXi里面ROS的ETH1口连到路由器的G0/3口)

三、方案说明

PS:建议使用我这种VPN模式(GRE-over-IPSec)这样数据传输比较安全,具体实现步骤这里不展示,图中IP也是我脱敏的,没有真实业务IP,这篇文章只是教大家怎么路由真IP使用的原理和方案,如果你配置遇到问题,可以留言或者邮箱私信我,可以帮你排查故障。