【隧道篇 / SSL】(7.4) ❀ 01. 只允许国内IP通过SSL VPN访问内网 ❀ FortiGate 防火墙

2024-01-19 15:52

本文主要是介绍【隧道篇 / SSL】(7.4) ❀ 01. 只允许国内IP通过SSL VPN访问内网 ❀ FortiGate 防火墙,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  【简介】SSL VPN可以让公司员工远程访问公司内网的服务器,发现有些国外IP也在尝试登录SSL VPN,领导要求,只允许国内IP可以登录SSL VPN,如何解决这个问题?


 SSL VPN配置条件

  要想成功的配置SSL VPN,首先需要有一条可以远程访问的宽带,然后是验证用的用户名和密码,以及需要访问的IP网段。

  ① 不管是ADSL宽带还是固定IP宽带,都需要有一个公网IP地址。并且该公网IP地址要能远程访问。测试是否通远程访问的方法很简单,就是在管理访问启用PING。

  ② 然后在外网PING该公网IP地址,如果能PING通,说明可以远程访问。有些拨号宽带得到的是100.64开头的IP地址,这些地址无法在公网上PING通,也就无法远程。

  ③ 如果是ADSL拨号宽带,且获得的公网IP可以远程,那么可以选择菜单【网络】-【DNS】,创建FortiGuard DDNS, 如果是固定IP,就不需要这个步骤。

  ④ FortiGuard DDNS允许设置一个固定的域名,将接口IP和域名绑定。只要访问域名,就会解析成绑定的IP地址。我们知道ADSL拨号宽带获得的公网IP会经常改变,每次公网IP改变后,FortiGuard会将最新的IP和域名重新绑定,这样只要对域名进行访问,即使公网IP改变也没有影响。

  ⑤ 登录SSL VPN时需要进行身份验证,建立用户组,可以将多个用户加入用户组中,对用户组进行权限分配。如果权限不同,也可以创建多个用户组。

  ⑥ 创建用户,用户可以是本地用户也可以是远程用户,将新建的用户加入用户组。

  ⑦ 将需要远程访问的IP网段创建地址对象。

  ⑧ 如果SSL VPN要访问的IP网段比较多,也可以创建地址组,将多个要访问的IP网段加入地址组。到目前为止,所有的准备工作就都完成了。

  SSL VPN门户

  当所有配置条件都OK后,就可以配置SSL VPN门户了。

  ① 选择菜单【VPN】-【SSL-VPN门户】,full-access包含隧道和Web两种模式,tunnel-access只包含隧道模式,由于Web模式不是很安全,推荐使用隧道模式。选择【tunnel-access】,点击【编辑】。

  ② 由于只允许访问内网的服务器,隧道分割选择【基于策略目标启用】,也就是说在防火墙策略的目标地址中,需要填写具体要访问的IP地址。隧道分离地址选择前面创建的地址组,也就是说,只允许地址组的这些IP通过SSL VPN隧道。源IP地址为默认的地址对象,内容是SSL VPN拨号后自动生成的IP的地址。地址对象内容可以修改。

  ③ 还用一种情况,就是SSL VPN拨号后,客户端所有流量都走SSL VPN隧道,包括上网流量。这样可以通过防火墙走防火墙上的宽带上网。这种情况门户里的隧道分割选择【禁用】,这也是默认选项。

  SSL VPN设置

  SSL VPN门户配置好后,就可以进行下一步了。

  ① 选择菜单【VPN】-【SSL-VPN设置】,选择宽带接口,可以同时选择多个宽带接口,分别通过多个宽带接口拨入。默认监听端口是443,会和防火墙的默认https端口冲突,建议修改,常见的有8443、10443。服务器证书选择默认内置证书。记住一定要选择,不然连接会报错。

  ② 限制访问选择【特定主机有限访问】,主机选择基于IP地理位置数据库的地理地址对象CHINA,关于地理地址对象参考其它文章。只样只有国内IP网段才可以拨入。如果要走SSL VPN隧道上网,而上网DNS与本地上网DNS不同,就需要配置DNS服务器。

  ③ 在认证/门户映射,将用新创建的用户组SSL_VPN_Users和修改的门户tunnel-access进行映射。其它用户组也和tunnel-access映射。这样设置就完成了

  SSL VPN访问策略

  SSL VPN门户和设置完成后,就可以配置访问策略了。

  ① 创建新的策略,SSL VPN配置完成后,在接口里会多出一个SSL-VPN tunnel interface (ssl.root) 虚拟接口。可以在策略的流入接口和流出接口引用。从SSL-VPN隧道进来的流量,需要访问防火墙时,必须同时经过自动生成的IP地址和用户验证。目标地址选择允许访问的内网服务器地址组,限制访问范围。

  ② 如果SSL VPN门户里隧道分割选择了【禁用】,那么客户端所有流量都会进入SSL VPN隧道,在客户端创建SSL VPN隧道访问宽带的策略,那么客户端就可以通过防火墙上的宽带上网了。

  FortiClient客户端

  SSL VPN在防火墙上的所有配置都完成了。下一步需要在客户端安装及配置FortiClient。

  ① 可以在 https://www.fortinet.com/support/product-downloads#vpn 网址下载FortiClient VPN客户端。 由于服务器在国外,下载速度会比较慢。

  ② 也可以在 https://support.fortinet.com 网站中下载,前提是需要有注册帐号,并注册了防火墙设备,且设备在服务期内。

  ③ FortiClient支持多种平台,也有多个版本,其中FortiClientVPN仅支持SSL VPN和IPsec VPN功能,如果我们只用于SSL VPN拨号,可以选择这个版本。x64表示支持64位的操作系统。

  ④ 这里以Mac平台为例,下载并安装启动FortiClient VPN,首页显示欢迎信息,钩选【我承认这个自由软件不附带任何产品支持。对于使用此免费软件时遇到的任何问题,我不会联系Fortinet技术支持。】,点击【我接受】。

  ⑤ 点击【配置VPN】。

  ⑥ 输入自定义的连接名,远程网关填写FortiGuard DDNS里配置的域名,如果是固定IP,直接填写IP地址。由于端口已经从443改为10443,这里钩选择【自定义端口】,将443改为10443,点击【保存】。注意这里一定要钩选【自定义端口】,不然直接改端口号是无效的。

  ⑦ 输入前面创建的用户和密码,点击【连接】。

  ⑧ 显示无效服务器证书提示,这里忽略,点击【Continue】。

  ⑨ 显示连接成功介面,这里客户端FortiClient获得的IP地址是由防火墙上的SSLVPN_TUNNEL_ADDR1地址对象分配的。

  ⑩ 因为防火墙上创建了SSL VPN虚拟接口访问Internal接口的策略,这里可以从客户端的电脑Ping通防火墙的Internal接口,也就能远程访问内网下的服务器了。

  ⑪ 如果客户端的外网IP不匹配地理地址对象CHINA,也就是非国内IP,那么同样的配置发起连接后,显示报错提示,无法连接成功。


这篇关于【隧道篇 / SSL】(7.4) ❀ 01. 只允许国内IP通过SSL VPN访问内网 ❀ FortiGate 防火墙的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/622913

相关文章

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

查询SQL Server数据库服务器IP地址的多种有效方法

《查询SQLServer数据库服务器IP地址的多种有效方法》作为数据库管理员或开发人员,了解如何查询SQLServer数据库服务器的IP地址是一项重要技能,本文将介绍几种简单而有效的方法,帮助你轻松... 目录使用T-SQL查询方法1:使用系统函数方法2:使用系统视图使用SQL Server Configu

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

Ollama整合open-webui的步骤及访问

《Ollama整合open-webui的步骤及访问》:本文主要介绍如何通过源码方式安装OpenWebUI,并详细说明了安装步骤、环境要求以及第一次使用时的账号注册和模型选择过程,需要的朋友可以参考... 目录安装环境要求步骤访问选择PjrIUE模型开始对话总结 安装官方安装地址:https://docs.

python实现简易SSL的项目实践

《python实现简易SSL的项目实践》本文主要介绍了python实现简易SSL的项目实践,包括CA.py、server.py和client.py三个模块,文中通过示例代码介绍的非常详细,对大家的学习... 目录运行环境运行前准备程序实现与流程说明运行截图代码CA.pyclient.pyserver.py参

使用Java实现获取客户端IP地址

《使用Java实现获取客户端IP地址》这篇文章主要为大家详细介绍了如何使用Java实现获取客户端IP地址,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 首先是获取 IP,直接上代码import org.springframework.web.context.request.Requ

C++实现获取本机MAC地址与IP地址

《C++实现获取本机MAC地址与IP地址》这篇文章主要为大家详细介绍了C++实现获取本机MAC地址与IP地址的两种方式,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 实际工作中,项目上常常需要获取本机的IP地址和MAC地址,在此使用两种方案获取1.MFC中获取IP和MAC地址获取

C/C++通过IP获取局域网网卡MAC地址

《C/C++通过IP获取局域网网卡MAC地址》这篇文章主要为大家详细介绍了C++如何通过Win32API函数SendARP从IP地址获取局域网内网卡的MAC地址,感兴趣的小伙伴可以跟随小编一起学习一下... C/C++通过IP获取局域网网卡MAC地址通过win32 SendARP获取MAC地址代码#i

解读静态资源访问static-locations和static-path-pattern

《解读静态资源访问static-locations和static-path-pattern》本文主要介绍了SpringBoot中静态资源的配置和访问方式,包括静态资源的默认前缀、默认地址、目录结构、访... 目录静态资源访问static-locations和static-path-pattern静态资源配置