Windows的防火墙的那点事
1.前言
作为一位程序员,我们都不能避开防火墙的事。有时候也会为了调试接口而一直调不同;有时候虽然能ping通,但是就是死活telnet不同。说来说去,那是没有关闭防火墙或者开放端口。Linux的关闭防火墙我在之前的文章中提到过。前两天同事问我Windows的配置,这才想着把他记录下来,方便大家学习。
2. 前期准备
其实我们在telnet或者调用接口之前必须先保证被调用方已经开放此端口,不然我们再怎么开放端口也无济于事。所以,我们可以通过如下命令查看一下端口是否被打开。
netstat -nao|findstr 端口号
如下图,当执行命令后有结果,并且有一条是0.0.0.0:443,说明此端口可以被访问。但是如果仅出现127.0.0.1:443的话,此端口只对本机有效,在怎么调试端口也无济于事,一般mysql初次安装都会出现这种情况,需要进行配置。好了,这里我们看到此端口在本地已经开通,接下来我们就要配置防火墙。
3. 关闭防火墙之一刀切
之所以成为一刀切是因为他是一种最暴力的方式关闭防火墙。因为有很多研究所是不允许这么做的,有一些涉密的端口是不能被开放的。关闭防火墙只能在我们本地玩玩还好。至于关闭防火墙我相信大家都会。这里我就简单提了一下。
4.针对性开放端口
在开放端口中,windowns主要有四种方式设置,分别是程序、端口、预定义和自定义。这里我们只介绍常用的程序和端口两种设定方式。
4.1 程序设置
4.1.1 进入高级安全Windows Defender 防火墙
程序设置的主要作用是对于一个程序不知道开放的端口或者一个程序开放了多个端口的情况下可以考虑此种设置方式。
在windown输入框输入防火墙,选择高级安全Windows防火墙。如果是通过控制面板进入,选择防火墙,在弹出的对话框左侧选择高级设置,最终进入【高级安全Windows Defender 防火墙】。如果是windows Server也类似。进入的界面如下图:
4.1.2 新建规则
按照上图依次点击左侧入站规则->右侧新建规则。
4.1.3 选择应用程序
按照如下截图,一路往下走,最终在输入名称后完成即可。
4.1.4 设置出栈规则
出栈规则和入栈规则差不多,这里就不多说了。
4.2 端口设置
4.2.1 新建规则
按照上图进入新建入栈规则向导界面。
4.2.2 选择端口选项并输入相对应的端口
4.2.2 最终设置名称后入栈规则设置成功
4.2.3 按照相同的方法设置出栈规则即可
4.2 自定义设置
在自定义设置里,主要针对上述的端口或者应用程序,增加了相关协议的设置以及本地、远程ip设置,有针对性的对特定ip开发特定协议的端口。这里配置更加灵活,有兴趣的可以自己琢磨一下。主要是针对如下界面进行设置。