在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配置文件中的設置一致,以避免連接問題。