把内网服务发布到公网
以发布IIS服务为例。默认情况下,IIS服务是在TCP的80端口监听用户的访问,所以这个“80”就是IIS服务使用的端口。当然这个端口号也可以自定义,如修改为“8000”,只要不和别的服务使用的端口号冲突即可。
其次要正确理解IIS服务发布所使用的协议,它使用的是TCP协议。
提示:我们通常说的“HTTP”协议是指用户访问IIS网站所需要的协议,而IIS服务发布所使用的是TCP协议,它和“HTTP”协议是不同的。
另外,还要清楚地知道IIS服务的IP地址,以及它在Windows防火墙中所使用的映射端口,这个映射端口也可以是“80”,当然也可以自行修改,只要该映射端口没被别的服务占用即可。
实战
了解了服务发布所需要掌握的几个要素后,下面就开始“小试牛刀”。
1.Web服务发布
下面,笔者就通过Windows防火墙将内网中的IIS服务发布到互联网中。该IIS服务器位于内网,并且使用IP地址“192.168.1.5”,没发布之前只有同一局域网中的用户能访问它,互联网中的其他用户则无法访问。想让更多的用户访问到它,就必须将IIS服务发布到公网上才行。
在网关服务器的系统托盘中,右键点击连接公网的那块网卡的图标,在弹出的菜单中选择“更改Windows防火墙设置”,弹出“Windows防火墙”对话框,切换到“高级”标签页,然后在“网络连接设置”框中选中连接公网的那个连接选项后,点击“设置”按钮,弹出“高级设置”对话框(图1),切换到“服务”标签页,在这里就可以对IIS服务进行发布。
图1
在Windows防火墙中已经内置了常用的服务发布选项,如Web服务器、FTP服务器等,只是没被启用。如果IIS服务使用的端口和Windows防火墙的映射端口都是使用默认的“80”,直接启用内置的“Web服务器发布选项”即可完成IIS服务发布。在服务标签页中,勾选“Web服务器(HTTP)”选项后,双击该选项,在弹出的“服务设置”对话框中的“在您的网络上主持此服务的计算机的名称或IP地址”栏输入IIS服务的IP地址,如“192.168.1.5”,然后点击“确定”按钮,最后在服务标签页中点击“确定”完成IIS服务的发布。
补充:如果IIS服务使用的端口和Windows防火墙的映射端口不全是默认的“80”,那么我们就要新建服务发布选项,完成IIS服务的发布。如IIS服务使用的是“8000”端口,Windows防火墙的映射端口使用“80”。在服务标签页中点击“添加”按钮,弹出“服务设置”对话框(图2),在“服务描述”栏中为该服务发布选项设置一个名称,如“我的Web服务器”,接着在“在您的网络上主持此服务的计算机的名称或IP地址”栏中输入IIS服务器的IP地址,选中“TCP”单选项,然后在“此服务的外部端口号”栏中输入“80”,也就是Windows防火墙的映射端口,在“此服务的内部端口号”栏中输入“8000”,这是IIS服务器所使用的端口号,最后点击“确定”按钮,完成IIS服务的发布。
图2
2.FTP服务发布
Windows防火墙中也内置了FTP服务器的发布选项。如果FTP服务使用的端口和Windows防火墙的映射端口都为默认的“21”,就可以直接启用FTP服务发布选项。方法同IIS服务的发布是一样的。但此时要注意服务器发布选项中不包含服务器的IP地址参数,需要我们手工设置。因此双击服务标签页中的“FTP服务器”选项,在“服务设置”对话框中的“在您的网络上主持此服务的计算机的名称或IP地址”栏输入FTP服务器的IP地址即可,最后点击“确定”按钮。
有些用户发现,启用了内置的FTP服务器选项后,还是不能正常访问FTP服务器,这是因为用户访问FTP服务器,不但要使用FTP服务器的“21”端口,还需要使用“20”端口传输数据,必须将该端口发布到公网上才行。
新建一个服务发布选项,将“20”端口发布到公网中。在服务标签页中点击“添加”按钮,弹出“服务设置”对话框,在“服务描述”栏中输入“FTP服务器-20”,接着输入FTP服务器的IP地址,选中“TCP”单选项,然后在“此服务的外部端口号”栏中输入“20”,在“此服务的内部端口号”栏中输入“20”,最后点击“确定”按钮,完成FTP服务器的“20”端口的发布。
以上只是简单介绍了一下Web服务和FTP服务的发布,其他服务的发布方法也是相同的,只要你了解服务发布中的几个要素:服务发布所使用的协议(TCP或UDP)、服务使用的端口(可能有多个)、防火墙映射端口(可能有多个)以及服务器的IP地址,就能圆满完成服务的发布。