回答

回答

有关的:Cisco IOS ACL:不要仅仅因为传入连接来自端口 80 而允许它们

我知道我们可以使用establishedTCP 的关键字..但是我们可以对 UDP 做什么呢(除了用 NAT 替换 Bridge 或 BVI)?

回答

我发现了“UDP 没有连接”的含义。

例如,DNS 使用 UDP。

  1. named(DNS 服务器)正在监听端口 53
  2. nslookup(DNS 客户端)开始监听某个随机端口,并向服务器的端口 53 发送数据包,并在该数据包中记录源端口。
  3. nslookup必要时将重试 3 次。此外,数据包非常小,因此不必担心它们以错误的顺序到达。
  4. 如果nslookup在该端口上收到来自服务器 IP 和端口的响应,则服务器将停止监听。如果服务器尝试发送两个响应(例如,一个响应和一个对重试的响应),则服务器不会关心它们是否成功,因为客户端有重试的任务。事实上,除非 ICMP 3/3 数据包通过,否则服务器不会知道发生故障。这与 TCP 不同,在 TCP 中,您会遇到连接关闭或超时错误。

DNS 允许客户端轻松重试以及处理小数据包。因此 UDP 是一个极好的选择,因为它更高效。在 UDP 中,您会看到

  1. nslookup发送请求
  2. named发送答案

在 TCP 中你会看到

  1. nslookup的机器发送SYN
  2. named的机器发送SYN-ACK
  3. nslookup的机器发送ACK并请求
  4. named的机器发送响应

这远远超出了小型 DNS 数据包所需的范围

答案1

UDP 数据包不建立连接,它们实际上是即发即弃!permit udp host XX.xx.xx.xx host xx.xx.xx.xx eq xx只需简单操作即可。

答案2

在搜索其他内容时偶然发现了这个页面,并想补充一些意见...

除了在 IOS 上执行状态防火墙之外,您还可以使用一个长期存在的称为“反射 ACL”的功能 - 其中一个方向的数据包在 ACL 中戳一个洞,从而允许另一个方向的数据包。

配置指南详细描述了该功能,但简而言之,如下:

  • 你可以在访问列表中添加一个条目,除了允许数据包之外,还可以反映此流量位于反射 ACL(完全动态的实体)中
  • 在另一个 ACL 中你可以评价此反射 ACL 作为 ACL 匹配过程的一部分,与通常的允许否定

这是一个简单的配置示例:

interface Dialer1
  ip address negotiated
  ip access-group V4-GATE in
  ip access-group V4-REF out
!
ip access-list extended V4-GATE
  permit icmp any any echo-reply
  permit icmp any any unreachable
  permit icmp any any ttl-exceeded
  permit icmp any any packet-too-big
  evaluate V4-REFLECTOR
  deny   ip any any log
!
ip access-list extended V4-REF
  permit udp any any eq domain reflect V4-REFLECTOR timeout 10
  permit ip any any reflect V4-REFLECTOR
!

这将为您提供与 NAT 过载几乎完全相同的状态量。

嗨嗨。

(编辑:看到您提到 BVI - 也许这的适用性将取决于您的配置。我上面说明的是 Dialer1 是连接到互联网的出口接口。如果您使用路由器,您可能需要调整这一点 - 虽然我认为它仍然适用。如果连接两对连接的接口是同一桥接组的成员,则这是不可用的)

相关内容