centos7 ping得通主机,但是不能tcp通信

如题,我在windows7 64位系统上安装了vmware,通过虚拟机安装了centos7 系统,桥接模式,用ifconfig查看ip是192.168.1.12,我的主机是192.168.1.24 。它们相互之间能够ping通,但是在centos7 下执行python脚本进行tcp通信却不能。


解决办法:systemctl stop firewalld.service

CentOS 7 系统中,如果在 Docker 容器内部无法使用 `ping` 或者查看网络配置(如 `ifconfig`),可能是以下几个原因: 1. **网络模式**:Docker 默认运行在“桥接”(Bridge)模式下,容器会获得独立的虚拟网络接口。若容器未正确连接到网络,`ping` 和 `ifconfig` 可能无法工作。检查 `docker run` 命令是否包含了 `-it` 标志并指定了正确的网络选项,比如 `-p` 映射端口或 `--network host`。 2. **防火墙设置**:Docker 的默认防火墙(firewalld 或 iptables)可能会阻止容器内的网络访问。你可以通过 `firewall-cmd --permanent --add-port=80/tcp` 增加端口规则,然后 `firewall-cmd --reload` 应用更改,允许 ping 和网络通信。 3. **网络命名空间隔离**:在容器间或主机上运行的多个容器可能共享同一个网络接口,但在命名空间隔离下它们之间互不可见。确认容器已经加入到了正确的网络,并且网络配置正确无误。 4. **容器网络配置问题**:如果你使用的是自定义网络(如 `overlay`、`host` 等),需要检查容器的网络配置文件(如 `/etc/docker/daemon.json` 或 `~/.docker/config.json`)以及容器启动时使用的 `-e` 参数。 5. **软件包缺失**:确认容器里是否有安装 `iproute2` 或其他依赖包,这些工具通常是用来管理网络配置的。如果没有,可以尝试在容器中手动安装。 为了解决这个问题,你可以尝试执行以下命令来诊断网络状况: ```sh - 在容器内:docker exec -it <container-id> ip addr - 查看容器网络配置:docker inspect -f '{{json .NetworkSettings.Networks}}' <container-q | grep iproute2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值