一、网络拓扑

route-ip

二、拓扑介绍

左侧:总部分析

左侧Internet是公司出口,运营商提供一个光转电设备,俗称光猫,通常是光猫的内网8接用户的出口路由器或者防火墙,比如这里就是下联深信服防火墙,一般情况运营商会给我们6个公网IP,运营商会把第一个29位的IP地址设置在光猫的内网8上,比如图中的1.1.1.1/29,然后我们防火墙可以配置5个IP,从1.1.1.2到1.1.1.6,比如现在的深信服防火墙WAN口eth1上配置了1.1.1.2/29;然后深信服防火墙LAN口eth2配置一个跟华为核心交换机互联的IP:172.20.1.2/24;华为核心交换机配置俩个VLAN,写俩个vlanif接口或者起俩个三层口,vlanif1=172.20.1.1/24配置在G0/0/1上和深信服防火墙的LAN口互联,vlanif2=172.20.2.1/24配置在接口G0/0/2上,下联VMware ESXi服务器eth0口;VMware ESXi服务器内安装一台Vyos虚拟软路由,Vyos上网口沿用VMware ESXi的eth0口,配置IP:172.20.2.2/24,让Vyos通过eth0口的IP上网,和分支的Vyos建立openvpn隧道。

右侧:分支分析

右侧Internet是分支出口,通常分支的宽带都是运营商的光猫自己拨号,然后给我们路由器DHCP一个私网IP作为WAN地址,图中是让运营商把光猫改成桥接模式,爱快路由器拨号,然后爱快路由器配置一个LAN口10.20.2.1/24连VMware ESXi服务器,在VMware ESXi服务器内安装一台Vyos虚拟软路由,给Vyos分配一个虚拟接口沿用VMware ESXi的eth0口,配置IP:10.20.2.2/24,在分配一个VMware ESXi宿主机物理设备上的一个接口作为eth1口接爱快路由器的WAN2口,配置IP:1.1.1.7/24,把公司的公网IP:1.1.1.6配置到爱快路由器的WAN2口上,让Vyos通过eth0口的IP上网,和总部的Vyos建立openvpn隧道。

三、配置展示

3.1、深信服防火墙

3.1.1、arp代理

如果给分支的爱快路由器路由1.1.1.6这个真IP,那么深信服防火墙的eth1口上就不能配置这个IP,需要在深信服防火墙上开启eth1口的ARP代理功能,在光猫发送arp信息给深信服防火墙eth1口寻找1.1.1.6这个IP地址对应的MAC地址时,深信服防火墙可以用eth1口的MAC地址回应光猫,我这里有1.1.1.6这个IP,你可以找我学习1.1.1.6的arp表,以达到欺骗光猫,让他误以为1.1.1.6这个IP就是配置在深信服防火墙eth1口上的。

Snipaste_2023-09-12_19-00-04

3.1.2、策略路由

如果深信服防火墙上有多WAN口,则需要配置策略路由让1.1.1.6固定走eth1口出去,如下:

Snipaste_2023-09-12_19-18-22

3.1.3、静态路由

因为我们把1.1.1.6配置到了分支的爱快路由器上,分支和总部是通过Vyos打通的,所以我们需要在总部的深信服防火墙上写静态路由,去1.1.1.6/32下一跳丢给华为核心交换机G0/0/1口,如下:

Snipaste_2023-09-12_19-29-50

3.2、华为核心交换机

如果华为核心交换机的默认路由不是直接丢深信服防火墙的LAN口172.20.1.2,则需要配置策略路由,将匹配源地址是1.1.1.6/32,下一跳直接给深信服防火墙的LAN口IP,如下:

3.2.1、策略路由

acl number 3000
 rule 100 permit ip source 1.1.1.6 0
#
traffic classifier c0 operator or
 if-match acl 3000
#
traffic behavior b0
 redirect ip-nexthop 172.20.1.2
#
traffic policy p0
 classifier c0 behavior b0
#
interface GigabitEthernet0/0/2
 traffic-policy p0 inbound

3.2.2、静态路由

同理3.1.3步骤,所以我们需要把去1.1.1.6/32的流量丢给总部的Vyos地址172.20.2.2,如下:

ip route-static 1.1.1.6 255.255.255.255 172.20.2.2

3.3、总部Vyos配置

3.3.1、配置接口

set interfaces ethernet eth0 address '172.20.2.2/24'

3.3.2、配置默认路由

set protocols static route 0.0.0.0/0 next-hop 172.20.2.1

3.3.3、配置静态路由

同理3.1.3步骤,所以我们需要把去1.1.1.6/32的流量丢给分支Vyos的vtun1地址:192.168.100.2,如下:

set protocols static route 1.1.1.6/32 next-hop 192.168.100.2

3.3.4、配置OpenVPN

说明:因为总部的Vyos没有公网IP,所以总部需要做端口映射把IP:1.1.1.2的UDP:1194映射给总部Vyos的172.20.2.2的UDP:1194端口

set firewall options interface vtun1 adjust-mss '1300'
set interfaces openvpn vtun1 description 'FenZhi-OpenVPN'
set interfaces openvpn vtun1 local-address 192.168.100.1/30 subnet-mask '255.255.255.252'
set interfaces openvpn vtun1 local-host '172.20.2.2'
set interfaces openvpn vtun1 local-port '1194'
set interfaces openvpn vtun1 mode 'site-to-site'
set interfaces openvpn vtun1 openvpn-option '--nobind'
set interfaces openvpn vtun1 openvpn-option '--ping 10'
set interfaces openvpn vtun1 openvpn-option '--ping-restart 60'
set interfaces openvpn vtun1 openvpn-option '--persist-tun'
set interfaces openvpn vtun1 protocol 'udp'
set interfaces openvpn vtun1 remote-address '192.168.100.2'
set interfaces openvpn vtun1 shared-secret-key-file '/config/auth/openvpn.secret'

3.4、分支Vyos配置

3.4.1、接口配置

set interfaces ethernet eth0 address '10.20.2.2/24'
set interfaces ethernet eth1 address '1.1.1.7/24'

3.4.2、配置默认路由

set protocols static route 0.0.0.0/0 next-hop 10.20.2.1

3.3.3、配置静态路由

因为我们1.1.1.6和我分支的Vyos的eth1口1.1.1.7是同网段,所以不需要写跟3.1.3一样的路由,我们这里需要写去总部1.1.1.1/32和1.1.1.2/32的路由下一跳给eth0的网关,不然会导致openvpn建不起来如下:

set protocols static route 1.1.1.0/24 next-hop 10.20.2.1
set protocols static route 1.1.1.1/32 next-hop 10.20.2.1
set protocols static route 1.1.1.2/32 next-hop 10.20.2.1

3.3.4、配置策略路由

需要把eth1口上来的流量全部丢给总部Vyos的vtun1,这样才能保证路由来回路径一致

set policy route to-ct rule 10 set table '100'
set policy route to-ct rule 10 source address '1.1.1.6'
set protocols static table 100 route 0.0.0.0/0 next-hop 192.168.100.1
set interfaces ethernet eth1 policy route 'to-ct'

3.4.4、配置OpenVPN

set firewall options interface vtun1 adjust-mss '1300'
set interfaces openvpn vtun1 description 'ZongBu-OpenVPN'
set interfaces openvpn vtun1 local-address 192.168.100.2 subnet-mask '255.255.255.252'
set interfaces openvpn vtun1 mode 'site-to-site'
set interfaces openvpn vtun1 openvpn-option '--nobind'
set interfaces openvpn vtun1 openvpn-option '--ping 10'
set interfaces openvpn vtun1 openvpn-option '--ping-restart 60'
set interfaces openvpn vtun1 openvpn-option '--persist-tun'
set interfaces openvpn vtun1 protocol 'udp'
set interfaces openvpn vtun1 remote-address '192.168.100.1'
set interfaces openvpn vtun1 remote-host '1.1.1.2'
set interfaces openvpn vtun1 remote-port '1194'
set interfaces openvpn vtun1 shared-secret-key-file '/config/auth/openvpn.secret'

3.5、爱快路由器配置

只要在WAN2口上配置IP为:1.1.1.6/24,网关是1.1.1.7即可。