通过 ACL 限制服务器访问特定 VLAN

网络工程 acl
2022-02-23 18:41:41

我想允许特定的 VLAN 访问特定的服务器。LAN 用户应该能够访问每台服务器,但 VPN 用户应该只能访问特定服务器。

假设用户 A(VPN 用户)进入特定服务器的内部网络,他应该只能访问该服务器;不应访问其他服务器。

LAN 用户应有权访问 LAN 中的所有服务器。

1个回答

您似乎将 VLAN 与子网混淆了。虽然在大多数情况下,VLAN 和子网是一对一映射的,但它们并不相同。假设以下情况,我将回答您的问题:

LAN 子网、服务器子网和 VPN 子网是不同的,出于这些目的,我将使用:

  • 10.1.0.0/24 用于具有特殊服务器 10.1.0.100 的服务器 (VLAN 10)
  • 192.168.1.0/24 用于计算机 (VLAN 192)
  • 172.16.1.0/24 用于 VPN (VLAN 172)

首先,了解有关访问规则的一些重要信息,这样您以后可以更轻松地扩展规则。


首先,您必须确定您的流量:

  • 交通的方向是什么?(哪一方开始连接?)
  • 该流量使用什么端口和协议?

您还必须确定您的网络设备是否自动执行自反 ACL。一旦连接启动,自反 ACL 将允许流量返回,而无需为此指定规则。大多数情况下:防火墙具有自反规则,而交换机/路由器则没有。

识别流量方向: 示例:计算机从服务器请求网站。它通常会使用目标 IP 为网络服务器 IP,源 IP 为计算机 IP。源端口将是“随机”(TCP,大于 1024)目标端口将是 TCP 80。ACL 的方向取决于您应用 ACL 的位置。请记住,in 和 out 是从网络设备的角度来看的:

 |-----------|    IN |---------|OUT     |-----------|
 |           |    -->|         |-->     |           |
 | Computer  |       | router  |        | Webserver |
 |           |    <--|         |<--     |           |
 |-----------|    OUT|---------|IN      |-----------|

最佳做法是将访问列表应用到尽可能靠近源的位置,因此在这种情况下,IN 在计算机端。所以规则是:允许来自计算机 ip 端口随机的 tcp 连接连接到 webserver 端口 80。所以,如果我们想让计算机网络允许访问网页,我们可以在 cisco 路由器上制作这个访问列表:

ip access-list extended ComputerLAN
 permit tcp 192.168.1.0 0.0.0.255 gt 1023 host 10.1.0.100 eq 80

两点:

  1. 思科在这里使用通配符掩码,而不是子网掩码,如果您不确定,请在子网计算器上查找您的通配符掩码。
  2. 在每个访问列表的末尾都会有一个不言而喻的“拒绝一切”。因此,此访问列表将拒绝所有其他流量。

现在把它放在“IN”方向的VLAN接口上:

interface VLAN 192
 ip access-group ComputerLAN in

如果我们希望服务器网络仅返回已从计算机设置的流量,您可以记下以下内容。这里这个词的established意思是:只有已经在相反方向开始的交通。

ip access-list extended Servers
 permit tcp host 10.1.0.100 eq 80 192.168.1.0 0.0.0.255 gt 1023 established
interface VLAN 10
 ip access-group Servers in

在您的情况下,如果您只想将 VPN 限制在一台服务器上,并允许其他一切,您可以这样做:

ip access-list extended VPN
 permit ip 172.16.1.0 0.0.0.255 host 10.1.0.100
interface VLAN 172
 ip access-group ComputerLAN in

现在,由于我们没有在其他 VLAN 接口上定义任何访问列表,因此允许所有其他流量。通常,您已经可以在 VPN 设置中定义允许通过 VPN 的流量,因此您甚至不需要此 ACL。