VPN网络环境下 本地客户端能连上mysql 本地启服务连不上mysql的原因

  • 背景
    公司mysql使用的是华为云RDS,由于要做一些测试验证,需要本地通过VPN直连华为RDS节点;找运维配置好网络后,本地 telnet 内网ip 3306 以及通过navicat客户端都能正常连接数据库;但是本地启动的服务就是连接不上。
  • 问题排查
  1. 先检查服务中配置的 ip 端口 库名 账号 密码等信息完全正确
  2. 检查网络、rds白名单都正常
  3. 同样的代码连接个人的mysql 也能正常连接
  • 最终解决
    在Springboot 启动参数中加 -Djava.net.preferIPv4Stack=true 就解决了
    在这里插入图片描述

  • 原因分析
    使用-Djava.net.preferIPv4Stack=true选项可以强制应用程序在IPv4协议栈上运行。这个选项的作用是告诉Java虚拟机(JVM)优先使用IPv4而不是IPv6。
    使用-Djava.net.preferIPv4Stack=true选项可以解决一些与IPv6相关的网络问题,因为在某些环境中,IPv6配置可能不正确或受限,从而导致无法正常建立连接。通过强制应用程序使用IPv4协议栈,可以绕过这些IPv6相关的问题。

当然,这只是导致程度无法连接的一种可能得原因

在 CentOS 上配置 OpenVPN 服务器,并限制特定客户端访问百度网站,你需要结合 OpenSSH 和 IPtables 来实现这个功能。以下是步骤: 1. **安装 OpenVPN**: 首先确保已经安装了 OpenVPN 服务,如果没有,可以使用 yum 安装: ```sh sudo yum install openvpn EasyRSA ``` 2. **生成证书和密钥对**: 使用 EasyRSA 工具创建 CA、服务器客户端证书,假设你已经在 `easy-rsa` 目录下: ```sh cd /usr/share/easy-rsa source vars ./clean-all ./build-ca ./gendh 2048 ./genrsa 2048 > server.key ./req -nodes -newkey rsa:2048 -keyout server.crt -subj "/CN=server" -CAcreateserial ./pkitool client-configs/pki/ca.crt client.crt client.key ``` 3. **配置 OpenVPN**: 编辑 `/etc/openvpn/server.conf` 文件,添加以下内容以用 IPTables 策略: ```conf # ...其他配置... block-outside-dns push "redirect-gateway def1 bypass-dhcp" push "dhcp-option DNS 8.8.8.8;8.8.4.4" # 添加 Google DNS 作为备选 push "block-ipv4" push "route 0.0.0.0 0.0.0.0" # 这里设置允许访问的网络和阻止访问百度IP的规则 route 10.8.0.0 255.255.255.0 net_gateway block-list = {your_baidu_ip} ``` 将 `{your_baidu_ip}` 替换为你想禁止访问的具体百度 IP 地址。 4. **防火墙规则**: 创建一个新的 IPTables 规则以阻止访问百度: ```sh sudo iptables -A INPUT -d your_baidu_ip -j DROP sudo iptables -t nat -A PREROUTING -d your_baidu_ip -j REDIRECT --to-port 0 ``` 保存并应用更改: ```sh sudo service iptables save sudo systemctl restart iptables.service ``` 5. **动和监控 OpenVPN**: ```sh sudo systemctl start openvpn@server sudo systemctl enable openvpn@server tail -f /var/log/openvpn.log ``` 现在,当尝试连接客户端试图访问百度网站时,它们将被 OpenVPN 阻止,同时默认只会转发内部网络流量。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值