在Ubuntu上配置SQL Server的防火墙,通常涉及到两个主要步骤:允许SQL Server使用的端口通过防火墙,以及配置SQL Server本身以监听正确的IP地址和端口。以下是详细步骤:
默认情况下,SQL Server使用TCP端口1433。你可以使用ufw
(Uncomplicated Firewall)来配置防火墙规则。
sudo apt update
sudo apt install ufw
sudo ufw enable
sudo ufw allow 1433/tcp
sudo ufw status
你应该看到类似以下的输出,表明端口1433已开放:
1433/tcp ALLOW Anywhere
SQL Server配置文件通常位于/etc/sqlserver/sqlserver.conf
或/var/opt/mssql/mssql.conf
,具体取决于你安装的SQL Server版本。
使用你喜欢的文本编辑器打开配置文件,例如:
sudo nano /var/opt/mssql/mssql.conf
找到或添加以下行来配置SQL Server监听所有IP地址(0.0.0.0)和端口1433:
[network]
tcpip = true
tcpPort = 1433
如果你只想监听特定的IP地址,可以将tcpip
设置为false
,然后添加相应的tcpPort
配置:
[network]
tcpip = false
tcpPort = 1433
保存并关闭配置文件后,重启SQL Server服务以应用更改:
sudo systemctl restart mssql-server
你可以使用netstat
或ss
命令来验证SQL Server是否正在监听正确的端口:
sudo netstat -tuln | grep 1433
或
sudo ss -tuln | grep 1433
你应该看到类似以下的输出,表明SQL Server正在监听端口1433:
tcp 0 0 0.0.0.0:1433 0.0.0.0:* LISTEN
通过以上步骤,你应该能够在Ubuntu上成功配置SQL Server的防火墙,使其能够接受来自客户端的连接。确保你的防火墙规则和SQL Server配置文件中的设置一致,以避免连接问题。