公司的服务器是Windowser Server 2012 R2的,今天新加tomcat时,改了tomcat的端口,发现外网连不上,本机上连接没事
也用外网ping了下,是同的,用外网检测下该端口,发现是关闭的(对外网关闭,因为本地连得上)
附上解决方案:
开启特定端口:
开启的是80端口,如果要改其他端口也是一样的步骤。
Win7系统的“控制面板→系统和安全→Windows防火墙”,点击左侧菜单中的“高级设置”。
Windows 8/8.1、Windows Server 2012用Win+X,搜索防火墙,然后打开。
鼠标右键点击“入站规则”,从弹出菜单中点击“新建规则”。
新建规则
在“要创建的规则类型”中,点选“端口”,下一步,选择“TCP”,点选“特定本地端口”后填入端口号80。
填入端口号80
点击“下一步”,点选“允许连接”,再点“下一步”,根据用户的实际情况和需求勾选域、专用或共用等选项,最后为这个规则命名。
规则命名
设置完成之后,其他计算机就可以顺利访问你的系统80端口了。
最后附上检测远程服务器上的端口是否开启:
1、安装telnet。我的win7下就没有telnet,在cmd下输入telnet提示没有该命令。于是我们进入控制面板---->程序---->打开或关闭windows功能。然后等一段时间,在出来的对话框把telnet客户端和telnet服务器勾选上,其他的不用管,然后点击确定。这样就安装好了telnet组件了。
2、 下面开始测试某个端口是否开启,比如我测的是192.168.3.42的2121这个端口。在cmd下输入
start /min telnet 192.168.3.42 2121
之后会出现一个窗口,是最小化的,你等一会,如果窗口自动关闭了,说明端口是关闭的或主机ping不通,反之端口开放.
比如这个2121端口是开放的,就出现如图所以的窗口,否则窗口关闭。
3、你可以用自己的机子做实验.在CMD下输入netstat -anp tcp可以查看当前主机tcp开放了哪些端口.
最后 ping命令是不能检测端口,只能检测你和相应IP是否能连通.
补充: Linux下检测本机的端口是否被占用:
netstat –apn | grep 8080
又或者在,windows下
在cmd里面使用netstat -an命令来查看 开放的TCP和UDP端口。
在cmd里面使用start /min telnet 127.0.0.1 某端口,之后会出现一个窗口,是最小化的,你等一会,如果窗口自动关闭了,说明端口是关闭,反之端口开放。
Linux下
如windows下使用telnet的方法
使用nc命令
nc检测端口的用法:
nc -z -w 10 %ip% %PORT%
-z表示检测或者扫描端口
-w表示超时时间
-u表示使用UDP协议
例如:
# nc -z -w 10 -u 127.0.0.1 53
Connection to 127.0.0.1 53 port [udp/domain] succeeded!
# nc -z -w 10127.0.0.1 53
Connection to 127.0.0.1 53 port [tcp/domain] succeeded!
# echo $?
0
# nc -z -w 10 8.8.8.7 53
# echo $?
1
#
端口成功联通返回值是0,提示succeeded;否则返回1,不提示任何数据。linux下未作测试,自行测试。