在Debian上配置SQL Server的防火墙可以通过使用 firewalld 或者 iptables 来实现。以下是具体步骤:
firewalld 配置SQL Server防火墙安装 firewalld(如果尚未安装):
sudo apt install firewalld
启动并启用 firewalld:
sudo systemctl start firewalld
sudo systemctl enable firewalld
添加SQL Server的默认端口(1433):
sudo firewall-cmd --zone=public --add-port=1433/tcp --permanent
重新加载 firewalld 配置:
sudo firewall-cmd --reload
iptables 配置SQL Server防火墙安装 iptables(如果尚未安装):
sudo apt install iptables
配置 iptables 规则:
编辑 /etc/iptables/rules.v4 文件,添加如下规则:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -p tcp --dport 1433 -j ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
保存 iptables 规则:
sudo iptables-save > /etc/iptables/rules.v4
设置 iptables 规则在启动时自动加载:
创建自启动脚本:
sudo vim /etc/network/if-pre-up.d/iptables
内容如下:
#!/bin/sh
/sbin/iptables-restore < /etc/iptables/rules.v4
保存并退出,并赋予执行权限:
sudo chmod +x /etc/network/if-pre-up.d/iptables
通过以上步骤,你可以在Debian系统上配置SQL Server的防火墙,确保SQL Server的端口(默认1433)是开放的,同时允许其他必要的端口。