我知道我们可以使用established
TCP 的关键字..但是我们可以对 UDP 做什么呢(除了用 NAT 替换 Bridge 或 BVI)?
回答
我发现了“UDP 没有连接”的含义。
例如,DNS 使用 UDP。
named
(DNS 服务器)正在监听端口 53nslookup
(DNS 客户端)开始监听某个随机端口,并向服务器的端口 53 发送数据包,并在该数据包中记录源端口。nslookup
必要时将重试 3 次。此外,数据包非常小,因此不必担心它们以错误的顺序到达。- 如果
nslookup
在该端口上收到来自服务器 IP 和端口的响应,则服务器将停止监听。如果服务器尝试发送两个响应(例如,一个响应和一个对重试的响应),则服务器不会关心它们是否成功,因为客户端有重试的任务。事实上,除非 ICMP 3/3 数据包通过,否则服务器不会知道发生故障。这与 TCP 不同,在 TCP 中,您会遇到连接关闭或超时错误。
DNS 允许客户端轻松重试以及处理小数据包。因此 UDP 是一个极好的选择,因为它更高效。在 UDP 中,您会看到
nslookup
发送请求named
发送答案
在 TCP 中你会看到
nslookup
的机器发送SYN
named
的机器发送SYN-ACK
nslookup
的机器发送ACK
并请求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 是连接到互联网的出口接口。如果您使用路由器,您可能需要调整这一点 - 虽然我认为它仍然适用。如果连接两对连接的接口是同一桥接组的成员,则这是不可用的)