【问题标题】:Cannot connect to SQL Server Instance anymore after enabling UFW on Ubuntu 16.04 with webmin already installed在已安装 webmin 的 Ubuntu 16.04 上启用 UFW 后无法再连接到 SQL Server 实例
【发布时间】:2020-02-08 16:54:24
【问题描述】:

我按照 digitalocean 上的文档在其他人设置的 ubuntu 服务器上启用了 UFW。该服务器已经安装了 virtualmin/webmin。

启用 UFW 对仅允许 OpenSSH 的流量没有影响,默认设置为传入(拒绝)、传出(允许)。即使没有将 Apache 添加到 UFW 规则中,我仍然能够访问该网站。

我不得不重新启动服务器以查看 UFW 是否会启动,但防火墙的状态为“非活动”,现在即使在禁用防火墙后我也无法通过应用程序或 SSMS 连接到 SQL Server 实例。

应用程序已经关闭了几个小时,世界就在我的脖子上,几乎快到我的尽头了。

【问题讨论】:

  • 假设 SQL Server 正在你的 Ubuntu Box 上运行?如果不是,ufw 与此无关。如果它在 Ubuntu 服务器上,并且ufw 处于非活动状态,那么它不会阻止您连接;这意味着(SQL Server)服务没有运行。您可以使用sudo service mssql-server status 查找。
  • ufw 也不会停止本地连接。如果 Webmin 和 SQL Server 在同一台主机上运行,​​ufw 不会停止连接;它只会阻止那些来自不在允许列表中的外部 IP(或有明确的DENY)。
  • 感谢@Larnu 运行命令显示 sql server 处于活动状态...但我似乎无法连接到它...
  • 你试图从哪里连接到它,从本地主机,外部?您是否尝试过使用来自本地主机的sqlcmd 进行连接?如果连接失败,你会得到什么错误?如果可行,则显然存在防火墙问题。
  • 我正在尝试通过应用程序(网站)和远程使用 SSMS 连接到它...我尝试使用 sqlcmd -S localhost -U sa -P 'xxxxxxxx' 在本地连接,它显示了以下错误:Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:TCP 提供程序:错误代码 0x2746。 Sqlcmd:错误:Microsoft ODBC Driver 17 for SQL Server:客户端无法建立连接。

标签: sql-server apache webmin ufw


【解决方案1】:

在多次 cmet 之后在这里继续猜测。

听起来您已经更新了mssql-server 的版本,但还没有更新msodbcsql17 包。最新的CU需要最新版本的msodbcsql17(不知道为什么,但是没有安装会导致连接失败)。

首先更新你的包:

sudo apt update

然后安装最新版msodbcsql17

sudo apt install msodbcsql17

应该安装版本 17.4.2.1-1。

如果这样做,由于某种原因失败。您可以将更新回滚到mssql-server

sudo apt install mssql-server=14.0.3223.3-15

【讨论】:

  • 我必须设置一个新的 sql server 数据库来测试它以确保我不会丢失任何数据...结果回滚到以前的版本修复了连接问题,尽管在我的情况下我回滚了到 14.0.3192.2-2,谢谢你……没有你我做不到。
猜你喜欢
  • 2017-11-13
  • 2020-07-26
  • 1970-01-01
  • 2018-01-07
  • 1970-01-01
  • 2013-10-14
  • 2020-05-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多