pfSense设置静态路由

pfsense在设置静态路由的时候与同类路由器有些区别;特别是在链路中需要添加二级路由的架构中,需要一些额外的设置。

背景

我在做实验的时候,希望在虚拟机上设置二级路由器来管理虚拟机的联网和IP管理;因此我设置了一个拓扑;像这样

HomeTopology
  • pfsense 2.5.2
  • openwrt

链路结构

pfsense作为一级路由

WAN口当然是连接ISP的PPPOE;

LAN口即是局域网地址,案例设置为192.168.0.0/23

router作为二级路由

在安装软路由之前,对于hyper-v的虚拟交换机上需要添加两个接口;一个为“外部网络”命名为LAN;一个为“内部网络”命名为Internal;结果如下图

hyper-v的虚拟交换机设置

之后安装软路由;在软路由上添加2块网卡;网卡1连接LAN,网卡2连接Internal;结构如上图。效果如下图

基于hyper-v的openwrt网卡配置

在软路由内部,网卡1定义为WAN接口;网卡2定义为LAN接口;这就相当于这个二级路由器的上游连接了局域网(一级路由的LAN);在链路上具备了联网和通信能力。

而软路由的LAN口就可以作为虚拟机的局域网接口,提供DHCP和其他想要的功能。

配置

在软路由里面设置:

  1. WAN接口设置为静态IP(后面静态路由指定的地址需要固定)

2. LAN口即是登录软路由的地址,网段不能和一级路由重复;本例中,一级路由使用了192.168.0.0/23(192.168.0.0-192.168.1.255),那么软路由的网段要从192.168.2.0开始,可以使用24位或更多的位数;这里使用192.168.3.0/24。

openwrt

默认情况下,openwrt作为二级路由器也需要一些设置;我这里以官方原版为例;需要在防火墙的位置勾选这几个设置。

Forward:accept

Software flow offloading:勾选

Zones WAN:

  • Input:accept;
  • Forward:accept;
  • Masquerade:勾选
二级openwrt设置防火墙

保存并应用;在这个时候还不能连接,因为还没有设置一级路由器。

pfsense

pfsense作为二级路由没调通

爱快

在新版Windows Server 2019的hyper-v上安装最新版3.5.9,卡在“是否安装UEFI引导模式”键盘无效~~

操作过程

pfsense一级路由

因此想要二级路由与一级路由互通,只要在pfsense上(一级路由)设置静态路径规则即可;但是这个设置与常规的路由器不同;

回到一级路由pfsense,在导航路径“系统”=》“路由管理”=》“网关状态”页面,点击添加,(需要新建一个接口);

接口:LAN

名称:自定义

网关:填写二级路由的WAN口IP

pfsense添加静态路由网关

保存应用

在点击“静态路由”标签;添加静态路径条目;

目标网络:填写二级路由的LAN网段和子网位

网关:选择刚刚创建的接口

这里不能选择LAN接口,会产生环路;ping的时候会显示“TTL传输中过期”

保存应用;

pfsense添加静态路由

但是到这还没用完,还有一步需要操作;即是防火墙的设置项;点击导航菜单;

“系统”=》“高级选项”=》“防火墙/NAT”;往下拉有一个“静态路由过滤”,勾选;

pfsense静态路由过滤

大部分情况下,到这里已经可以连通了,不管是SSH还是FTP;但是如果你的网络还有问题,不能连接,那么估计还得往下看;在官方文档中的静态路由章节中,还需要添加一个防火墙规则,大意为一级路由的PC1和二级路由的PC2互访的来回路线不同,但是我禁用这条规则,依然可以使用;所以这部分就作为扩展阅读吧;

Routing — Static Routes | pfSense Documentation