网络配置与规则管理全解析
1. 简单规则集的重要性
在网络配置中,对于简单的设置,接口绑定的进出规则可能会让规则集变得复杂,而不是更有价值。对于忙碌的网络管理员来说,易读的规则集才是更安全的规则集。为了提高可读性,后续我们会尽可能让规则保持简单。不过,在某些情况下,还是需要指定方向和接口。
2. 本地网络的定义
可以使用接口:网络的表示法,但进一步使用宏能让规则集更易读和维护。例如,可以将$localnet宏定义为直接连接到内部接口的网络,也可以将其定义为 IP 地址/子网掩码表示法,如192.168.100.0/24用于私有 IPv4 子网,或fec0:dead:beef::/64用于 IPv6 范围。如果网络有需要,甚至可以将$localnet定义为网络列表。一个合理的$localnet定义和典型的通过规则pass proto { tcp, udp } from $localnet to any port $ports可以避免一些麻烦。
3. 网络设置步骤
- 开启网关功能:要让机器将一个接口接收到的网络流量通过另一个接口转发到其他网络,需要开启网关功能。在命令行使用
sysctl命令实现,对于传统 IPv4,命令为# sysctl net.inet.ip.forwarding=1;如果需要转发 IPv6 流量,命