SQL Server在CentOS中的网络配置步骤
一 基础网络与主机可达性
- 查看网卡与地址:执行 ip addr show,确认服务器具备有效的 IP 地址 与 默认路由。
- 配置主机网络(示例为 ifcfg-eth0):编辑 /etc/sysconfig/network-scripts/ifcfg-eth0,使用静态或 DHCP 方式。静态示例:
DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes
应用:执行 sudo systemctl restart network(或使用 ifdown/ifup)。
- 连通性验证:ping 网关与公网地址(如 8.8.8.8),确认 网络层可达。
二 防火墙与SELinux放行
- 放行 SQL Server 端口:
sudo firewall-cmd --permanent --zone=public --add-port=1433/tcp
sudo firewall-cmd --reload
如使用命名实例或需浏览器解析,放行 1434/tcp:
sudo firewall-cmd --permanent --zone=public --add-port=1434/tcp
sudo firewall-cmd --reload
- SELinux 检查与临时放行:
检查状态:getenforce(返回 Enforcing/Permissive/Disabled)
临时测试:sudo setenforce 0(仅用于排查,用后恢复)
生产环境建议保持 Enforcing,并通过策略或布尔值精确放行,而非长期关闭。
三 SQL Server网络配置
- 启用 TCP/IP 与端口:编辑 /var/opt/mssql/mssql.conf
[network]
tcpip = true
port = 1433
可选:启用浏览器服务(多实例/端口自动发现)
[browser]
enable = true
- 应用配置:sudo systemctl restart mssql-server
- 监听验证:ss -lntp | grep 1433 或 netstat -tulnp | grep 1433,确认 0.0.0.0:1433 处于监听。
四 远程连接测试与常见问题
- 本地连接测试:sqlcmd -S localhost -U SA -P ‘YourPassword’
- 远程连接测试:sqlcmd -S 服务器IP或主机名 -U SA -P ‘YourPassword’
- 常见问题排查:
- 端口未放行:firewall-cmd --list-all 确认 1433/tcp 在规则中;
- 服务未监听:ss -lntp | grep 1433 应看到 mssql-server 监听;
- SELinux 拦截:临时 setenforce 0 验证,再按策略放开;
- 监听地址错误:mssql.conf 中 tcpip 为 true 且 port 正确,监听应为 0.0.0.0 而非 127.0.0.1。
五 可选优化与安全建议
- 限制来源 IP:仅允许可信网段访问 1433/tcp,例如
sudo firewall-cmd --permanent --zone=public --add-rich-rule=‘rule family=“ipv4” source address=“192.168.1.0/24” port port=“1433” protocol=“tcp” accept’
sudo firewall-cmd --reload
- 启用 SQL Browser:多实例或动态端口场景建议开启 [browser] enable = true,并放行 1434/tcp。
- 内核网络参数(可选):结合负载调优如 net.core.rmem_max、net.core.wmem_max,变更前充分测试。