简要介绍一下背景,该网络由大约 10 个 VLAN 组成,通过 3 层交换机来处理 VLAN 间路由,以节省防火墙上的资源,同时网络访问性能。
以下为操作步骤:
- 为 3 层交换机上的每个 VLAN 接口创建 SVI
- 在 3 层交换机上启用 IP 路由
- 将 pfSense LAN 接口的上行链路端口配置为路由端口
- 在pfSense 上的添加访问3层交换机的回程路由
- 在 pfSense 上为每个网络添加防火墙/NAT 规则
- 将第 3 层交换机上的默认路由添加到pfSense
注意:在本示例中,交换机为Cisco Catalyst 3560X,其他类型交换机的可以参考。对于 Cisco,启用路由功能需要 IOS 映像/或许可证。
首先为3层交换机上的每个 VLAN 接口创建 SVI:
Switch(config)# interface Vlan3 Switch(config-if)# ip address 172.16.3.1 255.255.255.0 Switch(config)# interface Vlan4 Switch(config-if)# ip address 172.16.4.1 255.255.255.0
然后在交换机上启用全局IP路由:
Switch(config)# ip routing
然后配置从交换机到 pfSense LAN 接口的物理上行链路。对于离开第 3 层交换机(即访问 Internet)的流量,称为“中转”网络。有几种方法可以实现这一点,或者通过使用 SVI 创建专用 VLAN 接口,或者使用“no switchport”命令将物理交换机端口配置为路由端口,然后给它一个专用 IP 地址,本示例将使用这种方法。但在大多数情况下,通常建议对传输网络使用较小的子网掩码,例如 /30。
在本示例中,172.16.1.1是3层交换机接口 IP 地址,172.16.1.2 是 pfSense LAN 接口地址。
Switch(config)# interface GigabitEthernet1/4 Switch(config-if)# description Routed Port to pfSsense LAN Interface Switch(config-if)# no switchport Switch(config-if)# ip address 172.16.1.1 255.255.255.252
为了让 pfSense 接入网络,需要在pfSense上添加3层交换机的回程路由。进入系统 > 路由管理> 网关,单击“添加”输入 3 层交换机接口IP地址。
转到系统 > 路由管理 > 静态路,单击“添加”为第 3 层交换机上的VLAN 添加静态路由,网关为3层交换机的接口地址。
为了让各个 VLAN 中的主机能够访问 Internet,必须为在pfSense 上为每个网络创建防火墙和出站 NAT 规则。导航到防火墙 > NAT > 出站,检查现有规则 , 如果使用自动出站 NAT,pfSense会自动添加出站规则,否则需要手动添加这些规则。
接下来导航到防火墙 > 规则策略 > LAN 选项卡,为各种网络添加通过规则。
最后,在交换机上添加默认路由,以便各VLAN通过pfSense访问Internet。在交换机上输入以下命令:
Switch(config)# ip route 0.0.0.0 0.0.0.0 172.16.1.2
现在,VLAN间路由在第 3 层交换机上配置完成,每个VLAN网络上的主机都可以通过 pfSense 防火墙访问 Internet。
必须要注意的事项:
- 只能在3层交换机上创建 ACL(访问控制列表)来限制每个 VLAN 之间的流量,而不是在 pfSense 上使用防火墙规则来进行控制。
- 在3层交换机上添加其他的VLAN SVI时,需要同时在pfSense添加必要的静态路由和防火墙/NAT规则,以便启用 Internet 访问。