计算机网络 - 为什么能ping通 但是访问不了?

需要docker下安装mongodb,于是想windows下安装docker,遇到问题。

考虑用另一台机器虚拟机centos装docker,发现centos6版本过低。于是下载了centos7,安装后能ping通,但是docker和redis死活连接不上。
此时需要科普一个知识:
ping的具体实现分为ICMP Ping / TCP Ping / UDP Ping。
(至少在windows环境下)实现的是ICMP Ping。众所周知,ICMP协议工作在网络层,网络层通了不代表上层通了。
遂突然想到是防火墙问题,因为是本地局域网访问不存在网络安全问题,于是直接关掉防火墙,命令为:systemctl stop firewalld.service(千万不要在生产环境这么做)
于是解决。但Redis可以连接上,不能操作。用linux环境本地连接redis,关闭保护模式,命令为:CONFIG SET protected-mode no
于是解决。

再补充一句,在我学习计算机网络之前,就遇到过类似能Ping通但是不能访问的情况,具体场景是购买海外服务器,分配的IP被wall掉。但是能Ping通。查阅相关资料才得知icmp和tcp通的区别。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值