关于perforce(p4)服务器布署时,局域网和外网均提示端口错误的问题

一、背景
将p4服务器作为内网服务器,供局域网和外网其它电脑同步访问,以便数据统一管理和备份。

二、常规布署后的异常
1、根据手册,将服务器布署在内网中一台PC(以下简称服务器,IP为192.168.0.150)。
2、向电信运营商要来一个公网IP。
3、在路由器上申请到一个二级域名,以便后期供外网访问。
4、在路由器上做好IP和PORT的映射。192.168.0.150:1666映射到外网1666上。

直接抛出异常点:
第1步布署时,在CMD窗口中设置端口p4 set P4PORT=localhost:1666,其它参数省略。。。。

正是以上这句参数,造成所有其它机子(除服务器外,所有局域网和外网的机子)提示以下这个问题
在这里插入图片描述
三、排查过程
1、首先怀疑是路由器内置防火墙将端口限制,带着这个疑问,拨打了TPLINK的技术服务热线,这里要赞一下妹纸,耐心听,耐心答。最终结果是:与路由器无关,若担心,设为10000以上即可。
2、然后怀疑是服务器端口未开启。带着这个疑问,将度娘上与“服务器端口开启”相关的文章翻了又翻,试了又试。最终结果是:与服务器端口开启,没半毛钱关系。什么去服务里搞个“入站规则”,“出站规则”,没一点关系。
3、最终没办法,利用telnet ip port,本机试一下端口。
然而发现,telnet 127.0.0.1 1666是通的,而telnet 192.168.0.150 1666却是不通的。
这时候问题就来了,同一台机子,telnet同个东西的同个端口,竟然是不一样???
查了一下才知道,原来localhost=127.0.0.1,这东西叫回环地址,止于本机网络层,并不会被链路层送出去。所以是这样:localhost=127.0.0.1≠IP。那也就意味着当时设置的参数(P4PORT=localhost:1666),造成了服务器数据止于本机网络层,压根发不出去,连本机链路层都出不去。那难怪telnet 192.168.0.150 1666,都不通,原来是telnet了个寂寞。

问题终于找到,参数P4PORT=ip:port设置时,一定要谨慎ip的设置,实测ip可以省略。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值