【简介】由于服务器的IP是内网地址,所以无法从公网直接访问服务器。要想远程访问服务器,最简单的办法就是将服务器映射到公网IP,然后通过公网IP加端口号的方式进行访问。
实验要求与环境
%20OldMei集团深圳总部部署了一台服务器,用来对所有内网的设备进行管理。为了方便管理员在任何位置都能访问,启用了远程桌面功能。上班时间,管理员在公司内网可以通过远程桌面登录服务器。下班时间,管理员也希望能在家中电脑远程登录公司的服务器,进行应急管理。
%20根据前面三篇文章的介绍,我们已经在桌面上创建了模拟远程访问平台。这里不再叙述。我们直接操作。
管理员在家里将笔记本电脑配置为家中宽带上网。
通过公网IP,远程登录深圳总部防火墙。
映射前的准备工作
%20大多数人一上来就开始进行映射操作,一旦不通就慌了手脚,不知道如何处理。其实,在映射之前,应该先确认防火墙到服务器之间,是否连通正常。
%20选择菜单【网络】-【接口】,确认一下连接服务器的防火墙接口IP,这里是10.10.10.1,等一下要以这个IP为源,去Ping服务器的IP。
点击右上角的【>_】命令标,进入命令输入窗口。
通常我们会用Ping命令测试设备之间的物理连接。Ping命令在防火墙上也可以执行。执行Ping命令之前,需要定义源IP。
输入命令execute ping-options source 10.10.10.1,表示从DMZ接口起Ping,【注意】定义的源IP地址,必须是防火墙的接口IP,不能其它IP。
输入命令execute ping 10.10.10.254,从防火墙的DMZ口Ping服务器的IP,前面环境设置中,我们已经开放了服务器的Ping,这里显示Ping通信息,表示防火墙到服务器之间是物理连通的。
虽然我们知道服务器没有关机,也没有断线,可以连通,但是,不能保证我们要访问的远程桌面是不是OK的,这里需要再确认一下,输入命令execute telnet 10.10.10.254 3389,显示Connected to 10.10.10.254, 表示端口连接成功。
看到了成功的案例,我们再看看失败的案例,这里我们定义了一个想象的源IP,即使接下来的Ping命令没有错,服务器也工作正常,仍然会报Ping不通。所以,切记,要定义防火墙接口上存上的IP。
那有人要抬杠了,那我定义内网或无线接口,而不是DMZ接口,会不会通的呢?这就要看是不是有访问策略允许了,前面我们建立了无线访问DMZ的策略,而没有建立内网接口访问DMZ的策略,所以定义无线接口IP可以Ping通,定义内网接口IP就不会Ping通。明白了吧。
再看Telnet测试,如果服务器不在线,远程桌面功能关闭了,或者端口输入错误,都不会出现Connected提示。
映射服务器到公网IP
%20当我们确认防火墙到服务器之间的连接都是正常之后,就可以配置防火墙,将服务器的内网IP,映射到公网IP上了。
%20首先我们需要创建公网IP和内网IP一一对应的虚拟IP。选择菜单【策略&对象】-【虚拟IP】,点击【新建】。
为了让大家知道什么是对的,什么是错的,我们先建立一个标准配置,后期我们再来改成经常会弄错的配置。
虚拟IP的名称其实很重要,很多人就随手一敲,等过后就经常想不起来到底是映射那哪个IP哪个端口。这里建议虚拟IP名称加入服务器IP和端口号。
接口选项很多人会填成内网接口,连接服务器的接口。这里应该填的是宽带接口,特别是有多条宽带的时候,千万不能选择错误。
端口转发很重要,为了安全起见,只有指定的端口可以映射到公网上。
如果需要映射多台服务器,或者一台服务器的多个端口,就需要象这样建立多个虚拟IP。为了管理方便,可以创建虚拟IP组,按服务器分类。
创建虚拟IP后,下一个操作就是创建允许访问的策略。选择菜单【策略&对象】-【防火墙策略】,点击【新建】。
注意这个流入接口和流出接口,很多人会搞错。因为是允许从公网访问防火墙内部的服务器,所以流入接口应该是宽带接口。如果有多条宽带,接口要和虚拟IP里设定的公网IP对应上。
如果对远程访问地址有要求,也可以加上,例如,只允许管理员从家里的宽带远程访问公司防火墙。这里我们不做限制,源地址选择all。
目标地址,也是80%的人会选择错误,直接选择服务器的IP地址了。这里要选择的是我们刚刚建立的虚拟IP地址。
通常服务选项都是选择all,但是为了缩小被攻击的空间,我们还是建议在服务选项里选择指定的服号,即端口号。防火墙内部有创建常用的服务。
最后这个NAT选项,在大多数情况一下是不用启用的。只有在某些特殊情况下需要启用。例如,DMZ口是10.10.10.1,下面连接一台三层交换机,三层交换机划了多个VLAN,其中服务器IP网段,和DMZ口不是一个网段。这种情况下,就需要启用NAT了。点击【确认】,策略创建完成,下一步,就是看看是否能远程登录服务器的桌面了。
刚才的防火墙配置,都是管理员在家里,通过远程访问公司防火墙操作的。现在再打开远程桌面连接,输入公司防火墙公网IP。点击【连接】。
当出现输入凭据的时候,就可以判断前面所做的映射是成功的。输入服务器的帐号和密码,点击【确定】。
出现证书提示,选择【不再询问我是否连接到此计算机】,点击【是】。
恭喜你,你已经从家里或互联网的任何地方,登录OldMei深圳总部防火墙后面的AD服务器了。
问题答疑
%20即然是实验,我们不能只看到标准答案,也要看看其它的答案。下面来看看有哪些常见的问题会提出来。
%20【我的服务器要映射的端口太多,甚至我都不知道存在哪些端口,这个要怎么办?】
%20这种情况只能是一个公网IP映射一个内网IP,所有的端口都映射。但是这种情况下,你需要有多个公网IP才行,如果只有一个公网接口IP,就会把远程防火墙要用到的端口都覆盖了。这样就无法再远程登录防火墙。
通常固定IP宽带,运营商都会给你多个公网IP,而防火墙的Wan接口上只配置了一个,那其它几个就可以用来映射服务器了。选择菜单【网络】-【接口】,选择wan1口,点击【编辑】。
默认附加IP地址是禁用的,这里启用它,弹出窗口点击【新建】。
输入这么宽带可用的其它IP地址,注册子网掩码不要输错。启用【PING】,点击【确认】。
这样,在一个接口上,就有两个IP了,接口IP用来上网及远程登录防火墙,附加IP用于映射服务器。可以加入多个可用公网IP。
编辑虚拟IP,外部IP修改成为wan1接口的附加IP地址。关闭【端口转发】,这样,10.10.10.254的所有端口,都映射成218.253.83.147了。
从家里分别Ping总部防火墙的Wan1接口IP和附加IP,都可以Ping通。
用telnet测试修改后的映射端口。
可以telnet成功,也就是说,即使关闭了【端口转发】,10.10.10.254的3389的端口,仍然是映射到了218.253.83.147上。其实不光是3389,所有的端口都映射了。
再用远程桌面连接,输入的是附加IP地址。
一样的可以远程桌面登录。
在很多大型IDC会有这种情况,一个公网IP映射一台服务。这样虽然方便,但在公网上开通这么多端口,很容易被黑客找到漏洞而发起攻击。需要做好服务器的安全工作。
【我不想让我真实服务器端口暴露在公网,这个要怎么办?】
直接将服务器映射到公网上,很容易受到针对性的攻击,特别是常用的端口,为了隐藏服务器的真实端口,通常我们可以在虚拟IP设置外部服务器端口时,设置过其它端口,端口号只要不冲突就行。
象这样有一真一假两个端口的情况,在策略里是要放行哪个呢?策略里放行的是服务器的真实端口。
再次用远程桌面连接,这次要将公网地址加上端口号,可以正常连接。
除了我们演示的3389端口,象80、443等端口,宽带运营商是封闭的,同样需要用其它端口代替,才能远程访问。注意:防火墙本身也会用到80、443端口。
【我的宽带是ADSL拨号宽带,得到的IP可以远程访问,但是IP经常会变,可以映射服务器吗?】
如果宽带是ADSL,动态获取公网IP,虚拟IP的外问IP地址可以为0.0.0.0。非ADSL则必须指定公网IP。
通过FortiGate防火墙DDNS功能,可以将域名捆绑接口IP,即使IP变更,用域名仍然可以解析出当前公网IP,这样就可以用域名进行远程访问了。