深入现实网络:配置与测试指南
在网络配置中,规则的编写需要在通用性和具体性之间找到平衡。过于具体的规则虽然在某些情况下有效,但可能会让我们陷入细节,从而忽略配置的整体目的,甚至可能增加调试的工作量。对于基本的网关配置,我们更倾向于编写非特定于接口的规则,这样可以提高规则集的可读性和可维护性。
规则编写的平衡
在编写网络规则时,我们常常会面临规则具体程度的选择。有时候,过于详细的规则可能并非必要。例如,在一些简单的网关配置中,使用接口绑定的入站和出站规则可能会让规则集变得复杂,而没有带来相应的价值。一个忙碌的网络管理员会更青睐于可读性高的规则集,因为这样的规则集更安全。为了提高规则集的可读性,我们可以使用以下规则让本地网络访问互联网,而不指定具体接口:
pass proto tcp from re1:network to port $ports keep state网络地址转换与 IPv6
当我们开始处理不同网络之间的流量时,了解网络地址的工作原理以及为什么会遇到多种不同的寻址方案是很有帮助的。多年来,网络地址这个话题一直是困惑和流行术语的来源。除非我们深入研究一系列的 RFC 文档,否则很难弄清楚其中的基本事实。
常见误解
有一种普遍的观点认为,如果内部网络使用的地址范围与连接到互联网的接口所分配的地址范围完全不同,那么网络就是安全的,外部人员无法访问内部网络资源。这种观点还与另一个想法密切相关,即本地网络中防火墙的 IP 地址必须是 192.168.0.1 或 10.0.0.1。虽然这些地址是常见的默认值,但实际上,通过网络地址转换进行嗅探是可能的(尽管 P