ubuntu

Ubuntu SQL Server网络配置注意事项

小樊
44
2025-09-22 19:27:07
栏目: 云计算

1. 配置SQL Server监听地址与端口
要让SQL Server在Ubuntu上接受网络连接,需通过mssql-conf工具修改其网络配置。默认情况下,SQL Server仅监听本地连接(127.0.0.1),需开启TCP/IP协议并设置监听地址。使用以下命令启用TCP/IP并设置端口(默认1433):

sudo /opt/mssql/bin/mssql-conf set network.tcpip-enable true
sudo /opt/mssql/bin/mssql-conf set network.tcpport 1433  # 若使用默认端口可省略

修改后重启SQL Server服务使配置生效:

sudo systemctl restart mssql-server

可通过sudo netstat -tuln | grep 1433sudo ss -tuln | grep 1433验证SQL Server是否正在监听指定端口。

2. 配置Ubuntu系统网络接口(静态IP/动态IP)
若需远程连接,建议为Ubuntu配置静态IP地址(避免DHCP导致IP变动)。编辑Netplan配置文件(通常位于/etc/netplan/目录,如00-installer-config.yaml),添加以下内容(根据实际网络环境调整):

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:  # 网络接口名称(通过`ip addr`命令查看)
      dhcp4: no
      addresses: [192.168.1.100/24]  # 静态IP地址及子网掩码
      gateway4: 192.168.1.1          # 网关地址
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4] # DNS服务器

应用配置:

sudo netplan apply

使用ip addr show enp0s3验证IP配置是否正确。

3. 配置Ubuntu防火墙(UFW)
Ubuntu默认使用UFW作为防火墙,需允许SQL Server端口(默认1433)的入站流量。执行以下命令:

sudo ufw allow 1433/tcp  # 允许TCP端口1433
sudo ufw enable          # 启用UFW(若未启用)
sudo ufw status          # 验证规则(应显示“1433/tcp ALLOW Anywhere”)

若使用iptables,可添加规则:

sudo iptables -A INPUT -p tcp --dport 1433 -j ACCEPT

注意:生产环境中应限制允许访问的IP地址范围(如sudo ufw allow from 192.168.1.0/24 to any port 1433/tcp),避免开放给所有IP。

4. 配置SQL Server身份验证模式
默认情况下,SQL Server使用Windows身份验证,远程连接需启用SQL Server身份验证。通过SQL Server Management Studio(SSMS)或sqlcmd执行以下SQL命令:

USE [master]
GO
-- 创建SQL Server登录名
CREATE LOGIN [your_username] WITH PASSWORD = 'StrongPassword123!';
-- 创建数据库用户并关联登录名
USE [your_database]
GO
CREATE USER [your_username] FOR LOGIN [your_username];
-- 授予用户权限(如读写权限)
EXEC sp_addrolemember 'db_datareader', 'your_username';
EXEC sp_addrolemember 'db_datawriter', 'your_username';

确保密码强度符合要求(包含大小写字母、数字和特殊字符)。

5. 验证远程连接
从远程客户端使用SSMS或sqlcmd测试连接:

sqlcmd -S 192.168.1.100,1433 -U your_username -P StrongPassword123!

若连接成功,说明网络配置正确。

6. 安全注意事项

0
看了该问题的人还看了