![路由器访问控制列表](https://linux22.com/image/1582406/%E8%B7%AF%E7%94%B1%E5%99%A8%E8%AE%BF%E9%97%AE%E6%8E%A7%E5%88%B6%E5%88%97%E8%A1%A8%20.png)
我一直被教导,每个网络路由器访问控制列表的末尾都有一个隐含的拒绝语句。
问题:在这种情况下,如果您希望其他流量通过,是否必须放置允许任何声明,否则它会因为隐式拒绝而被阻止?
我最近才知道有些路由器会隐式允许所有流量,而您必须对不想通过的流量编写拒绝语句。
我尝试查找有关这些路由器 ACL 方法的信息,但目前还没有找到任何信息。我希望有人能为我提供有关这个主题的澄清。
答案1
没有标准或规范来规定应该如何编写数据包过滤配置。(一般来说,术语“访问控制列表”除了网络数据包过滤器外还适用于许多其他事物。)
你已经学会了具体实现方式访问控制列表(我猜是 Cisco IOS?);但是,其他产品和实现也遵循它们自己的约定 – 其中一些使用“隐式允许”,要么是出于历史原因,要么是因为它使得没有必要为过滤设置单独的“开/关”开关(过滤器始终处于活动状态,只是开始时没有规则)。
例如,OpenBSD普法记录显示使用隐式“pass”。Linuxiptables&nftables两者都有一个政策默认情况下,设置被设置为隐式“接受”,但可以更改为“丢弃”。并且JunOS防火墙过滤器显然当它们还没有任何匹配规则时是隐式接受的,但是当你添加一些匹配规则时就会变成隐式拒绝。
在此之上,用户界面可能与底层机制的行为不同。例如,尽管 pfSense 仅提供图形配置,但普法,它总是添加一个隐藏的“阻止所有”规则,导致明显的隐式拒绝,即使在幕后它是明确的。
答案2
一般情况下,对于任何消费者级别的防火墙,默认情况下,传出连接都是允许的,但隐式拒绝。
大多数用户不想阻止流量从他们的网络传出(至少是故意的),所以默认设置对大多数人来说是有意义的,而且这种方式配置起来最容易。