飞塔防火墙和paloalto防火墙构建ipsec

总部一台飞塔防火墙FG60F 版本v7.2.6 build1575 (Feature)
分支一台paloalto防火墙版本8.0.7
构建站点到站点IPSECVPN,目的是总部的网段192.168.4.0/23和分支192.168.56.0/24可以互通

在这里插入图片描述
一、配置fortigate防火墙
1.防火墙配置上网功能
1.1配置fortigate的wan1接口IP为100.100.100.2/24
VLAN交换internal,IP地址为192.168.156.99/24。开启DHCP分配IP地址范围为192.168.156.110-192.168.156.210

在这里插入图片描述
1.2配置访问互联网的缺省路由
在这里插入图片描述
1.3配置访问互联网的安全策略
在这里插入图片描述
2.配置与Paloalto防火墙的IPSECVPN
注意:和⼭⽯/Palo Alto防⽕墙对接IPSec推荐使⽤全0的感兴趣流,这些⼚商设备与FortiGate⼀致,创建IPSec时会创建虚拟的IPSec接⼝
通过路由对 VPN流量进⾏引流,将需要加密的数据送到IPSec接⼝(当然写细化的感兴趣流也是可以的)。

2.1 配置ipsec vpn第一阶段,指定对端公网IP 100.100.100.1,本端接口wan1
预共享密钥123456
ike加密aes256,认证sha512,dh组2
其它都保持默认。
在这里插入图片描述
2.2 配置ipsec vpn第二阶段
命名为to-paloalto
ipsec加密aes256, 认证sha512,dh组2
开启自动协商功能
其它保持默认
在这里插入图片描述
2.3 配置去往paloalto的静态路由
相关VPN的路由配置中“⿊洞路由的意义:
你可能会遇到以下的VPN业务问题:通过VPN的SIP电话,时不时中断,⽆法向服务器成功注册 ?
通过VPN的Radius认证⽆法经常会⽆法认证成功? 通过VPN的AP注册到总部时不时会中断?持续的PRGT监控ping总部的服务器,时不时会显示中断?
VPN有时候会因为各种原因重新连接,⽐如互联⽹不稳定,PPPOE重新连接更换公⽹IP地址等,VPN tunnel此时会出现短暂的DOWN,⽽去往对⽅的VPN业务⽹段的路由也会短暂消失,此时VPN的业务流量(SIP注册请求/Radius/Capwap/ICMP)会因为查询到了默认路由⽽⾛向了WAN(Internet),从⽽产⽣了错误的UDP-NAT-Seesion,此时即便VPN tunnel再次UP,VPN业务⽹段的路由再次恢复,SIP等VPN旧的业务流量依旧会⾛到错误的Session上去,从⽽引起该业务异常。

解决⽅法:
⽅法⼀:配置去往VPN业务⽹段的“⿊洞路由”,管理距离为254,VPN正常的情况下此⿊洞路由不⽣效,⽽当VPN中断的时候,⿊洞路由浮起来并
且⽣效,将VPN中断时候的VPN流量丢弃,避免将流量转发到互联⽹⽽产⽣错误的session。配置VPN的备份⿊洞路由的意义在此。

⽅法⼆:配置源接⼝:LAN,⽬的接⼝:WAN,源IP:本地内⽹⽹段,⽬的IP:对端内⽹⽹段,动作:丢包的策略。将此去往Internet的私⽹(⽆
⽤的)流量丢弃掉,避免FGT产⽣这种错误的session,从⽽避免了UDP业务时不时中断的问题。

⽅法三:在全局下开启“set snat-route-change enable”,⼀旦路由发⽣变化,将相关的会话flag置位为“Dirty”,清除路由缓存并重新查找⽬的IP的
下⼀跳地址,这样VPN隧道恢复的时候,流量也会相应的切换到VPN隧道⾥⾯来。

FortiGate # config system global
FortiGate (global) # set snat-route-change enable
FortiGate (global) # end
三种⽅式任意选择⼀种即可。推荐使⽤⿊洞路由⽅式。

2.3 配置ipsec的静态路由,去往对端192.168.4.0/23丢到ipsec隧道,注意网关IP不要写
在这里插入图片描述
2.4 配置去往paloalto和paloalto过来的私网流量放行
在这里插入图片描述
二、配置paloalto防火墙
1.防火墙配置上网功能
1.1 创建安全区域trust和untrust区域,将接口e1/7加入到trust,e1/8加入到untrust
在这里插入图片描述
1.2 接口e1/7设置为三层接口,ip地址为192.168.4.8/23,虚拟路由器为默认default
接口e1/8设置为三层接口,ip地址为100.100.100.1/24,虚拟路由器为默认default
在这里插入图片描述
1.3配置访问互联网的缺省路由
在这里插入图片描述
1.4配置上网的nat策略转换
策略命名为To-Internet
原始数据包,源区域为内部区域trust,目标区域为外部区域untrust
转换类型为动态IP和端口,原始数据包转换为出接口E1/8的接口IP
在这里插入图片描述
1.5设置上网的安全策略
安全策略命名为To-Internet,源区域为trust,源地址为any
目标区域为untrust,目标地址为any
操作是允许
在这里插入图片描述
1.6 上网的功能已经实现,提交下配置,否则配置不生效。点击右上角提交按钮,再点击提交,等待进度条100%提交成功,配置才会生效!
在这里插入图片描述
2.配置IPSECVPN
2.1 配置IKE加密,命名为ike-fortigate,dh组2,加密aes-256-cbd,sha512。与对端fortigate保持一致
在这里插入图片描述
2.2 配置IPSEC加密,命名为ipsec-fortigate,dh组2,加密aes-256-cbd,sha512。与对端fortigate保持一致
在这里插入图片描述

2.3 配置ike网关,命名为ike-gateway-fortigate,本端接口e1/8 ip 100.100.100.1/24,对端ip 100.100.100.2,预共享密钥123456,模式为主模式,调用ike加密
在这里插入图片描述
2.4 创建安全区域ipsec-fortigate和ipsec tunnel,将tunnel加入到此区域中
在这里插入图片描述
2.5 创建ipsec隧道,名称为ipsec-fortigate,调用隧道接口tunnel.1,调用ike网关和ipsec加密代理ID保持默认,默认为0.0.0.0/0→0.0.0.0/0
在这里插入图片描述
2.6 创建安全策略,因为创建的ipsec tunnle隧道是属于独立的安全区域ipsec-fortigate,所以创建的安全策略是不需要放到上网的Internet策略上方的,在NAT策略的地方也不需要写NO-NAT的。
如果你把ipsec tunnle隧道的安全策略放到untrust,nat策略就需要写no-nat,ipsec的安全策略需要放到上网策略的前面.
在这里插入图片描述
2.7 配置静态路由
在这里插入图片描述
配置完成后需要点击提交!
三、实验结果验证
1.查看fortigate IPSECVPN状态
3.1查看ipsec隧道
在这里插入图片描述
FortiGate-60F # diagnose vpn ike gateway list 查看ike gateway列表

vd: root/0
name: to-paloalto
version: 1 ike v1版本
interface: wan1 5
addr: 100.100.100.2:500 -> 100.100.100.1:500
本端ip 100.100.100.2端口500,对端100.100.100.1 端口500(500主模式,4500野蛮模式)
tun_id: 100.100.100.1/::100.100.100.1
remote_location: 0.0.0.0
network-id: 0
created: 235644s ago
peer-id: 100.100.100.1
peer-id-auth: no
IKE SA: created 1/72 established 1/72 time 10/302/21090 ms
IPsec SA: created 1/158 established 1/73 time 0/289/21100 ms

id/spi: 82 3de2eb9f740d0ae2/a7ecf5d49d1818d9
direction: initiator
status: established 1321-1321s ago = 10ms
proposal: aes256-sha512
key: e8fef0a564231fb7-59ee3ff939ca8dff-e40823db606db8a6-e4115813fb6f5050
lifetime/rekey: 3600/1978
DPD sent/recv: 000000a0/00000000
peer-id: 100.100.100.1

FortiGate-60F # diagnose vpn tunnel list 查看VPN tunnel列表
list all ipsec tunnel in vd 0

name=to-paloalto ver=1 serial=1 100.100.100.2:0->100.100.100.1:0 tun_id=100.100.100.1 tun_id6=::100.100.100.1 dst_mtu=1500 dpd-link=on weight=1
bound_if=5 lgwy=static/1 tun=intf mode=auto/1 encap=none/552 options[0228]=npu frag-rfc run_state=0 role=primary accept_traffic=1 overlay_id=0

proxyid_num=1 child_num=0 refcnt=4 ilast=195 olast=195 ad=/0
stat: rxp=11374 txp=8936 rxb=11167294 txb=2467613
dpd: mode=on-demand on=1 idle=20000ms retry=3 count=0 seqno=160
natt: mode=none draft=0 interval=0 remote_port=0
fec: egress=0 ingress=0
proxyid=to-paloalto proto=0 sa=1 ref=2 serial=4 auto-negotiate
src: 0:0.0.0.0-255.255.255.255:0 感兴趣流源地址0.0.0.0-255.255.255.255
dst: 0:0.0.0.0-255.255.255.255:0 感兴趣流目的地址0.0.0.0-255.255.255.255 飞塔和paloalto防火墙创建ipsec都会创建tunnel隧道所以感兴趣流可以全0,通过路由控制进入隧道的流量
SA: ref=6 options=18227 type=00 soft=0 mtu=1422 expire=2435/0B replaywin=2048
seqno=2a7 esn=0 replaywin_lastseq=0000022a qat=0 rekey=0 hash_search_len=1
life: type=01 bytes=0/0 timeout=3303/3600
dec: spi=0091512e esp=aes key=32 070213da0e36543cd2790e73520bc58feed765818aaab609643db2870beff794
ah=sha512 key=64 04a761c57fab72009cbc7e7061cf9c887f19e64ae0e443fd81ed2b527d4824ffe4d657c5f06d3c69a0d3c7da3baf957ee4e159481720ef5abef00e62b1ef63d9
enc: spi=d8cccbbb esp=aes key=32 e01e38a454946205190de3ae51357aab4e4d933cc9ad8a605918310b6eee4751
ah=sha512 key=64 32708bdb71a6abc79d6c5dbb03f28974776bc64ec3f4978ae9132dd66555730c681aa43bc00f7fc9c5b958354742a1d0505efe66ff07703d900f5e4bd1770ed7
dec:pkts/bytes=554/196788, enc:pkts/bytes=913/306344
npu_flag=03 npu_rgwy=100.100.100.1 npu_lgwy=100.100.100.2 npu_selid=3 dec_npuid=1 enc_npuid=1
run_tally=0

FortiGate-60F # get router info routing-table all 查看所有的路由表
Codes: K - kernel, C - connected, S - static, R - RIP, B - BGP
O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
V - BGP VPNv4
* - candidate default

Routing table for VRF=0
S* 0.0.0.0/0 [10/0] via 100.100.100.1, wan1, [1/0]
C 100.100.100.0/24 is directly connected, wan1
S 192.168.4.0/23 [10/0] via to-paloalto tunnel 100.100.100.1, [1/0] 去往隧道的路由
[10/0] is a summary, Null, [1/0] 去往黑洞的路由
C 192.168.156.0/24 is directly connected, internal

PC2 ping pc1 测试正常,同时进行嗅探抓包
在这里插入图片描述
FortiGate-60F # diagnose sniffer packet any ‘host 192.168.4.1 and 192.168.156.110 and icmp’ 4 0 l
interfaces=[any]
filters=[host 192.168.4.1 and 192.168.156.110 and icmp]

2024-07-15 12:42:55.666151 to-paloalto in 192.168.4.1 -> 192.168.156.110: icmp: echo request
2024-07-15 12:42:55.666195 internal out 192.168.4.1 -> 192.168.156.110: icmp: echo request
2024-07-15 12:42:55.667205 internal in 192.168.156.110 -> 192.168.4.1: icmp: echo reply
2024-07-15 12:42:55.667231 to-paloalto out 192.168.156.110 -> 192.168.4.1: icmp: echo reply
2024-07-15 12:42:56.684255 to-paloalto in 192.168.4.1 -> 192.168.156.110: icmp: echo request
2024-07-15 12:42:56.684301 internal out 192.168.4.1 -> 192.168.156.110: icmp: echo request
2024-07-15 12:42:56.685096 internal in 192.168.156.110 -> 192.168.4.1: icmp: echo reply
2024-07-15 12:42:56.685125 to-paloalto out 192.168.156.110 -> 192.168.4.1: icmp: echo reply

diagnose sniffer packet <interface_name> <‘filter’>
要是停止嗅探,按CTRL+C.

<interface_name>
要嗅探的接口的名称,例如port1 或internal。这也可以any 嗅探所有接口。

<‘filter’>
嗅探器读取的信息中要查找什么。none 表示不进行过滤,所有数据包都按其他参数所示显示。

过滤器必须位于单引号 (') 内。

详细程度为以下之一:
1-打印数据包的头部
2 - 打印数据包的 IP 头和数据
3-打印以太网数据包的头部和数据
4 - 打印带有接口名称的数据包头
5 - 打印带有接口名称的数据包的 IP 头和数据
6 - 打印以太网数据包的头部和数据(带接口名称)

嗅探器在停止前读取的数据包数量。如果您不在此处输入数字,嗅探器将一直运行,直到您使用 < CTRL+C> 将其停止。 时间戳格式。 a:绝对 UTC 时间,yyyy-mm-dd hh:mm:ss.ms l:绝对本地时间,yyyy-mm-dd hh:mm:ss.ms otherwise:相对于嗅探的开始,ss.ms

①diagnose sniffer packet any ‘host 192.168.4.1 and 192.168.156.110 and icmp’ 4 0 l
接口是any
过滤主机192.168.4.1和192.168.156.110和icmp协议
打印带有接口名称的数据包头
0是默认一直侦听,数量没有限制
l是本地的时间
②diagnose sniffer packet to-paloalto ‘host 192.168.4.1 and host 192.168.156.110 and (port 22 or port 23)’ 3 0 l
接口是any
过滤主机192.168.4.1和192.168.156.110和(端口22或者23)
打印以太网数据包的头部和数据
0是默认一直侦听,数量没有限制
l是本地的时间
在这里插入图片描述
2.查看paloalto IPSECVPN状态
在这里插入图片描述
PC1 ping pc2 测试正常
在这里插入图片描述
四、修改ipsec tunnel放到安全区域untrust
下面我们将ipsec tunnel放到安全区域untrust,实现两端总部的网段192.168.4.0/23和分支192.168.56.0/24可以互通

4.1 将ipsec tunnle.1安全区域修改为untrust
在这里插入图片描述
4.2 将lan去往fortigate目的区域修改为untrust,将fortigate到lan的源区域修改为untrust
在这里插入图片描述
4.3增加nat策略,trust到untrust的ipsec私网不做转换nonat,需要放到上网策略的前面
在这里插入图片描述
4.4 两边PC互ping测试
PC1 ping PC2
在这里插入图片描述
PC2 ping PC1
在这里插入图片描述
Paloalto ipsec 协商时,公网IP所在区域跟外部区域会协商,本端100.100.100.2,对端100.100.100.1,规则是默认的intrazone-default
同区域可以相互通信
在这里插入图片描述

  • 19
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒人人懒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值