温馨提示×

SQL Server在CentOS中的网络配置步骤

小樊
39
2025-12-27 14:36:32
栏目: 云计算

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’
  • 常见问题排查:
    1. 端口未放行:firewall-cmd --list-all 确认 1433/tcp 在规则中;
    2. 服务未监听:ss -lntp | grep 1433 应看到 mssql-server 监听;
    3. SELinux 拦截:临时 setenforce 0 验证,再按策略放开;
    4. 监听地址错误: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,变更前充分测试。

0