在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)是开放的,同时允许其他必要的端口。