如何设置防火墙以允许特定端口通过?
美国、香港服务器
如何设置防火墙以允许特定端口通过?
08-30 来源:
设置防火墙允许特定端口通过的方法因操作系统(Windows/Linux)和防火墙工具的不同而有所差异。以下是针对常见系统的详细步骤:
一、Windows 系统(以 Windows Server 2022 为例)
Windows 自带 “Windows Defender 防火墙”,可通过图形界面或命令行配置端口允许规则:
方法 1:通过图形界面配置(推荐新手)
打开高级防火墙设置
按下 Win + R,输入 wf.msc 并回车,打开 “具有高级安全性的 Windows Defender 防火墙”。
创建入站规则(允许外部访问本地端口)
在左侧导航栏点击 “入站规则”,右侧点击 “新建规则”。
规则类型选择 “端口”,点击 “下一步”。
选择协议(TCP 或 UDP,如 HTTP 用 TCP),输入需允许的端口(如 80 或 80, 443 多个端口用逗号分隔),点击 “下一步”。
选择 “允许连接”,点击 “下一步”。
勾选适用的网络环境(“域”“专用”“公用”,公网场景建议勾选 “公用”),点击 “下一步”。
输入规则名称(如 “允许 80 端口 HTTP”)和描述,点击 “完成”。
(可选)创建出站规则(允许本地访问外部端口)
若需允许本地程序访问外部特定端口,步骤类似:左侧选择 “出站规则”→“新建规则”,后续步骤同上。
方法 2:通过 PowerShell 命令配置(适合脚本自动化)
以允许 TCP 3389 端口(远程桌面)为例:
powershell
# 允许入站TCP 3389端口
New-NetFirewallRule -DisplayName "Allow RDP (3389)" -Direction Inbound -LocalPort 3389 -Protocol TCP -Action Allow
# 允许出站TCP 3389端口(如需)
New-NetFirewallRule -DisplayName "Allow Outbound RDP (3389)" -Direction Outbound -LocalPort 3389 -Protocol TCP -Action Allow
验证规则:Get-NetFirewallRule -DisplayName "Allow RDP (3389)"
二、Linux 系统
Linux 常用防火墙工具为 iptables(传统)和 firewalld(新系统默认,如 CentOS 7+、Fedora),以下是两种工具的配置方法:
场景 1:使用 firewalld(CentOS 7/8、RHEL 7/8)
查看当前开放的端口
bash
firewall-cmd --list-ports # 查看当前开放的端口
firewall-cmd --get-active-zones # 查看活跃区域(通常为public)
临时允许特定端口(重启后失效)
bash
# 允许TCP 80端口(临时)
firewall-cmd --zone=public --add-port=80/tcp
# 允许UDP 53端口(临时)
firewall-cmd --zone=public --add-port=53/udp
永久允许特定端口(重启后生效)
需添加 --permanent 参数,且添加后需重新加载规则:
bash
# 永久允许TCP 22端口(SSH)
firewall-cmd --zone=public --add-port=22/tcp --permanent
# 重新加载规则使配置生效
firewall-cmd --reload
验证配置
bash
firewall-cmd --zone=public --list-ports --permanent
场景 2:使用 iptables(Debian、Ubuntu、旧版 CentOS)
临时允许特定端口(重启后失效)
bash
# 允许入站TCP 80端口
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许出站UDP 123端口(NTP)
sudo iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
永久保存规则(避免重启后失效)
Debian/Ubuntu:
bash
sudo iptables-save > /etc/iptables/rules.v4 # 保存IPv4规则
CentOS/RHEL:
bash
sudo service iptables save # 或 sudo /sbin/iptables-save > /etc/sysconfig/iptables
验证规则
bash
sudo iptables -L INPUT -n | grep 80 # 检查80端口规则
三、通用注意事项
最小权限原则:仅开放必需的端口(如 Web 服务开放 80/443,远程管理开放 22/3389),关闭无用端口。
限制源 IP(增强安全性):若仅特定 IP 需要访问,可在规则中限制源 IP(如只允许公司 IP 访问 3389 端口):
Windows 防火墙:在规则 “scope” 中设置 “远程 IP 地址” 为允许的 IP。
firewalld:firewall-cmd --zone=public --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="3389" accept" --permanent
测试端口连通性:配置后用 telnet 目标IP 端口 或在线端口检测工具验证是否生效。
第三方防火墙:若安装了第三方安全软件(如卡巴斯基、腾讯电脑管家),需在其防火墙设置中同步开放端口,避免被拦截。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快