0
点赞
收藏
分享

微信扫一扫

Android笔试面试题AI答之控件Views(4)

一天清晨 2024-07-25 阅读 22

今天有个安全方面的需求,演示环境禁止将3306等高危端口暴露到外网。

于是同事开启了防火墙,仅将应用端口暴露。结果导致演示环境无法使用。

由于公司的应用是基于docker部署的。结果他问我为什么同一台机器,应用无法访问mysql。

docker对于宿主机来说,其实是一个独立的环境,有自己独立的网卡,可以将其看做外部机器。所以防火墙会拦截docker容器的请求。

解决方案:

  1. 将应用部署到其他机器上,其他机器在内网部署。
  2. 不使用docker,采用宿主机直接部署应用
  3. 将docker网卡添加到trusted域

1被否,公司没有那么多台服务器
2工程量大,而且以后无法使用k8s进行调度

firewall-cmd --permanent --zone=trusted --change-interface=docker0
firewall-cmd --reload

自此自己的系统可以正常访问了。
问题解决了一半,过段时间,有人反应其他系统无法使用。
登录nacos查看下服务

在这里插入图片描述
在这里插入图片描述
第一张图是我们系统的,第二张图是别人系统的,2者ip网段不同,于是怀疑是有2个网卡

ifconfig
在这里插入图片描述

2者网段不同,于是将他们的网卡也加进去

firewall-cmd --permanent --zone=trusted --change-interface=br-1f2dcac8086b
firewall-cmd --reload

自此问题解决

举报

相关推荐

0 条评论