把内网服务发布到公网的方法
有些用户会在自己的机器中架设网站、FTP服务等,但因为防火墙或是处于内网的原因这些网络服务都供自己或是同一局域网的用户使用,那怎样才可以把内网服务发布到公网?现在我们去看看把内网服务发布到公网的方法。
服务发布“要素”
在进行服务发布操作之前,首先要了解发布服务所要掌握的几个要素,它有助于用户对服务发布的理解。这几个要素依次是“服务发布所使用的协议”、“服务使用的端口”、“防火墙映射端口”、“服务器的IP地址”。
以发布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”端口的发布。
以上小编简单的介绍了一下把内网服务发布到公网的方法,这个方法对于其他服务的发布方法也是一样的,只要了解了服务发布的几个要素就可以完成服务的发布。