Appendix F · Firewall Macro Definitions

附录 F 防火墙宏定义

PVE 防火墙内置近百个宏 —— 把常见服务的协议 / 端口预先打包 , 写规则时直接 SERVICE(ACCEPT) 即可。

F.防火墙宏定义Firewall Macro Definitions

关于宏

规则中可用 MACRO(ACTION) [OPTIONS] 形式调用宏 —— 例如:

IN SSH(ACCEPT) -i net0
IN HTTP(ACCEPT) -source +management
IN MySQL(ACCEPT) -source +db-clients

每个宏内部展开为一条或多条具体规则(含 proto / dport / sport 等)。下表给出当前 PVE 自带的宏列表。 权威源 是宿主机上的 pve-firewall:

# 列出所有宏与其展开
pve-firewall help macros

# 看某个宏的具体展开
pve-firewall help macros SSH

规则编辑器(GUI)下拉框也会动态从 pve-firewall 获取列表 —— 始终与所装版本一致。

宏总表

下表列出每个宏的协议与端口。表头说明:

  • proto:IP 协议 , 多为 tcp / udp / icmp / icmpv6; 数字(如 47、 89、 94)表示原始 IP 协议号(GRE / OSPF / IPIP)。
  • dport:目的端口 , 单端口、范围(a:b)或逗号列表(a,b,c)。
  • sport:源端口(多数宏不限制 , 留空)。
宏用途protodportsport
AmandaAmanda 备份udp10080
tcp10080
Authidentd 认证流量tcp113
BGP边界网关协议tcp179
BitTorrentBitTorrent 3.1 及更早tcp6881:6889
udp6881
BitTorrent32BitTorrent 3.2 及更新tcp6881:6999
udp6881
CVSCVS pservertcp2401
CephCeph 存储集群(Monitor / OSD / MDS)tcp6789
tcp3300
tcp6800:7300
CitrixCitrix / ICA(ICA / ICA Browser / CGP)tcp1494
udp1604
tcp2598
DAAP数字音频访问协议(iTunes / Rythmbox)tcp3689
udp3689
DCC分布式校验和反垃圾邮件tcp6277
DHCPfwd转发的 DHCP 流量udp67:68
DHCPv6DHCPv6udp546:547
DNS域名系统(UDP 与 TCP)udp53
tcp53
Distcc分布式编译tcp3632
FTP文件传输协议tcp21
FingerFinger(RFC 742)tcp79
GNUnetGNUnet 安全 P2P 网络tcp2086
udp2086
tcp1080
udp1080
GRE通用路由封装47——
GitGit 分布式版本控制tcp9418
HKPOpenPGP HTTP 公钥服务器tcp11371
HTTPHTTP / WWWtcp80
HTTPSHTTPS / WWW over SSLtcp443
ICPV2Squid Internet Cache Protocol V2udp3130
ICQAOL Instant Messengertcp5190
IMAPIMAPtcp143
IMAPSIMAP over SSLtcp993
IPIPIPIP 封装94——
IPsecIPsec 流量udp500500
50(ESP)——
IPsecahIPsec 认证头(AH)udp500500
51(AH)——
IPsecnatIPsec + NAT-Tudp500
udp4500
50(ESP)——
IRC互联网中继聊天tcp6667
JetdirectHP Jetdirect 打印tcp9100
L2TP第二层隧道协议udp1701
LDAP轻量目录访问协议tcp389
LDAPSLDAP over SSLtcp636
MDNS组播 DNSudp5353
MSNPMicrosoft Notification Protocoltcp1863
MSSQLMicrosoft SQL Servertcp1433
Mail邮件(SMTP / SMTPS / Submission)tcp25
tcp465
tcp587
MuninMunin 资源监控tcp4949
MySQLMySQL 服务器tcp3306
NNTPNNTP(Usenet)tcp119
NNTPS加密 NNTP(Usenet)tcp563
NTP网络时间协议(ntpd)udp123
NeighborDiscoveryIPv6 邻居 / 路由器发现icmpv6router-solicitation
icmpv6router-advertisement
icmpv6neighbor-solicitation
icmpv6neighbor-advertisement
OSPFOSPF 组播89——
OpenVPNOpenVPNudp1194
PCASymantec PCAnywhereudp5632
tcp5631
PMGProxmox Mail Gateway Web 界面tcp8006
POP3POP3tcp110
POP3S加密 POP3tcp995
PPtP点对点隧道协议47(GRE)——
tcp1723
PingICMP echo requesticmpecho-request
PostgreSQLPostgreSQL 服务器tcp5432
PrinterLPD 行式打印机协议tcp515
RDPMicrosoft 远程桌面tcp3389
RIP路由信息协议(双向)udp520
RNDCBIND 远程管理协议tcp953
RazorRazor 反垃圾邮件系统tcp2703
Rdate远程时间获取(rdate)tcp37
RsyncRsync 服务器tcp873
SANESANE 网络扫描tcp6566
SMBMicrosoft SMBudp135,445
udp137:139
udp1024:65535137
tcp135,139,445
SMBswatSamba Web 管理工具tcp901
SMTP简单邮件传输协议tcp25
SMTPS加密 SMTPtcp465
SNMP简单网络管理协议udp161:162
tcp161
SPAMDSpamAssassin SPAMDtcp783
SPICEproxyPVE SPICE 显示代理tcp3128
SSHSSHtcp22
SVNSubversion 服务(svnserve)tcp3690
SixXSSixXS IPv6 隧道tcp3874
udp3740
41 / udp5072,8374
SquidSquid Web 代理tcp3128
Submission邮件提交tcp587
SyslogSyslog(RFC 5424)udp514
tcp514
TFTP简单文件传输协议udp69
TelnetTelnettcp23
TelnetsTelnet over SSLtcp992
TimeRFC 868 Time 协议tcp37
TrcrtTraceroute(最多 30 跳)udp33434:33524
icmpecho-request
VNCVNC 显示 0 – 99tcp5900:5999
VNCLVNC 服务端 → 监听模式 viewertcp5500
WebWWW(HTTP + HTTPS)tcp80
tcp443
WebcacheWeb Cache / Proxy(8080)tcp8080
WebminWebmintcp10000
WhoisWhois(nicname / RFC 3912)tcp43
NOTE

本表反映 Proxmox VE 9 / 8 主流版本的内置宏。每个宏的展开(具体协议 / 端口 / IPv4-only 还是 v4+v6)随 PVE 版本演进 —— 用 pve-firewall help macros <NAME> 查看与你所装版本完全一致的展开 , 这是权威来源。

使用示例

[RULES]
# 在 net0 接口上放行 SSH
IN SSH(ACCEPT) -i net0

# 仅来自 management ipset 的 HTTP / HTTPS
IN HTTP(ACCEPT)  -source +management
IN HTTPS(ACCEPT) -source +management

# 同时开放 HTTP + HTTPS(Web 一条搞定)
IN Web(ACCEPT)   -source +management

# 放行集群常见组件
IN BGP(ACCEPT)   -source +bgp-peers
IN Ceph(ACCEPT)  -source +cluster_network

如内置宏不能涵盖所需服务 , 直接在规则里写 -p tcp -dport 1234 即可;或定义安全组(详见 §13.4)以复用一组规则。