Cisco 路由器 - 拒绝访问 8080 端口上的主机,允许 80

网络工程 思科 路由器 思科-ios 数据包追踪器 ACL
2021-07-18 17:12:39

我正在设计一个具有以下方案的网络:

网络架构

我有 5 个 vlan,S1 上有 3 个,S3 上有 2 个。我目前正在关注制作访问列表。每个 vlan 都有一个配置为侦听端口 8080 和 80 的 Web 服务器。

我想使用路由器 R3 上的访问列表(例如)允许在端口 80 上向主机(192.168.0.2)发出 http 请求,但在端口 8080 上拒绝它们。

我在路由器 R3 上输入了以下命令:

访问列表

但这拒绝了两个端口的访问,即我无法从网络 192.168.1.0/24,地址 192.168.1.2 打开网页。

在路由器 R3 上,我使用以下命令配置了子接口 g0/1.10、20、30(分别用于 VLAN 10、20、30):

ip access-group 100 in
ip access-group 100 out

我该怎么办?

2个回答

您应该为一个方向制作 ACL。不要在两个方向的每个接口上都放置相同的 ACL。

一般ACL规则:

  1. 扩展 ACL 具有源地址和目标地址。它应该被放置在源地址所在的源接口上。这完全防止了被拒绝的流量被路由。
  2. 标准 ACL 没有目标地址,只有源地址。它应该放在目的地址所在的接口上出站。这意味着流量将被路由,但它可以防止 ACL 影响太多流量。

您的扩展 ACL 100 应仅位于 VLAN 的路由器接口上,并将192.168.1.0(根据您的评论,VLAN 20)作为入站 ACL:

interface Vlan20
 ip access-group 100 in

这将立即丢弃从192.168.1.0/24目的地进入路由器的任何 TCP 流量192.168.0.2:8080,从而防止路由器必须路由该流量。它将允许 ICMP 回声和其他 TCP 流量192.168.0.2,但它会拒绝所有其他流量(ACL 隐含deny any any作为最后一条语句。您可能应该更改 ACL 以允许所有其他流量,除非您真的只想允许该 VLAN 上192.168.0.2的主机只能使用 ping 并使用所有其他 TCP 。该 VLAN 上的主机将无法访问任何其他 VLAN,除非使用 ping。

您指定的访问列表看起来不错。错误在于在界面上应用它。假设您想限制对 IP 上的 Web 服务器的访问192.168.0.2您正在使用扩展 ACL,因此它们应尽可能靠近目的地以节省一些处理时间。您想将其应用于interface g0/0.10,但仅限于out方向。这是为什么?Out 意味着从g0/0.10接口发出的所有内容,即从任何源路由到 VLAN 10 的所有内容。

所以要总结一下,你应该这样做 interface g0/0.10

ip access-group 100 out

你应该很高兴去。其他接口应该不受影响,您仅将此访问列表应用于interface g0/0.10