网络不可达 - MSSQL

网络不可达 - MSSQL

我正在尝试远程连接到 SQL Server 2008。

我能够与本地 IP 地址建立连接(我是使用 freetds 从连接到本地网络的 Linux 操作系统中的终端进行的),并且一切正常。

我想要做的是从一个完全独立的系统访问数据库,而不是连接到本地网络。当我尝试通过公共 IP 访问服务器时,我尝试(但失败了)连接到服务器,该 IP 可从此处获取(SQL Server 配置管理器-> SQL Server 网络配置 -> SQLEXPRESS 协议 -> TCP/IP)- 照片仅供参考,在我的系统中,该 IP 已启用:

在此处输入图片描述

当我尝试使用 ping 它时ping6 <my_ip> 1433,出现以下错误:

connect: Network is unreachable

以下是一些有用的信息:

  • 服务器允许远程连接。
  • TCP/IP 已启用
  • 在SQL Server配置管理器中启用并激活特定ip,并将TCP端口设置为1433。
  • 我在防火墙上为端口 1433 和所有网络的 TCP 添加了例外。
  • 我还为 sqlservr.exe 添加了防火墙例外

有任何想法吗?


编辑:好的,由于我使用的 IPv6 不是正确的 IP(如指出的那样,它是本地的,而不是公共的),我如何才能获取用于连接的正确 IP?我搜索了相关内容,但我得到的只是如何查找一些本地 IP。

答案1

fe80:: 是 IPv6 链路本地地址,因此不是公共 IP。它们可以在网络内使用,但不能跨路由器使用。

因此,如果您正在使用 fe80::... IP,我确信它不是正确的选择。

啊,这也没有什么意义:

ping6 <我的ip> 1433

因为 ping 不知道端口。尝试使用

$ telnet -6 <我的 IP> 1433

相反,如果您想检查 tcp 连接。

就错误信息而言

连接:网络不可达

如果您的客户端主机没有 IPv6 连接,您也会收到此消息。

在您的客户端上尝试此操作

$ telnet -6 google.com 80

看看您是否可以建立连接或是否出现网络不可达的情况。

答案2

似乎您没有默认路线。

检查一下

# ip -6 route

你应该看到类似这样的内容:

default via 2801:95:1f0:::1 dev bond0  metric 1  mtu 1500 advmss 1440 hoplimit 4294967295

现在您可以 ping6 此 IP 地址(默认网关)并​​检查您的 ipv6 本地连接。如果您的默认路由是链路本地地址 (fe80::),则需要在 ping6 上输入 -I 以指定使用的以太网设备。

如果这样可以尝试

tracepath6 www.google.com

检查您在哪里停车。

相关内容