专家版
我想在 pfSense 中创建一个路由,将流量发送到身体的广域网端口,而不是PPPoE 广域网端口。我想与我的 DSL 调制解调器上的 Web 服务器通信;让我查看当前的同步速率和 SnR 裕度。调制解调器看不到发往它的数据包,因为它们是通过PPPoE 隧道。
长版本
我的 pfSense 路由器负责通过 DSL 设置到我的 ISP 的 PPPoE 连接。当 LAN 上的一台机器想要将数据包发送到互联网时,默认路由会通过点对点连接连接。这些数据包被包裹在PPPoE 报头,通过以太网电缆发送到我的 DSL 调制解调器。然后从那里发送到 ISP 和整个互联网。
+----------------------+ +----------------------+
|IPv4 header (20 bytes)| +--------+ |PPPoE header (8 bytes)| +-----+ {‾‾‾‾‾‾‾‾}
| |===>|pfSense |===>|IPv4 header (20 bytes)|===>|Modem|===>{Internet}
| | +--------+ | | +-----+ {________}
| | | |
+----------------------+ +----------------------+
我想要一种从 WAN 端口本身发送数据包的方法 - 而不是 PPPoE WAN 端口。
我的调制解调器就在那里,有一个 http 接口,我可以在那里监控
- 连接速度
- 信噪比
- 带宽
- 连接时间
192.168.2.1
每当我尝试为目的地(调制解调器将侦听 HTTP 请求的 IP)设置路由时,广域网港口,他们最终还是走出了点对点连接港口。
不同之处在于它们被包装在 PPPoE 协议包中,并且调制解调器不会发送该数据包,而是将其传送给 ISP。
鉴于 pfSense 无法将流量引导出物理 WAN 端口:我如何将流量引导出 pfSense 上的物理 WAN 端口?
这是我问的同一个问题3 年前在 pfSense 论坛上:
我的调制解调器有一个 Web 界面。它很方便,因为我可以查看它是否实际已连接、线路噪音、错误率等。
如果我将调制解调器连接到我的台式电脑(而不是 pfSense PC),我可以正常 ping 和浏览调制解调器的 Web 界面。调制解调器的 IP 是 192.168.0.254,监听端口 8080。我还可以从我的电脑对活动进行数据包跟踪:
正在 ping 调制解调器
ARP REQ Phalanx => Broadcast 192.168.0.98 -?- 192.168.0.254
ARP RESP Phalanx <= Ovislink_LAN 192.168.0.254 -!- 192.168.0.98
IP/ICMP Phalanx => Ovislink_LAN 192.168.0.98 => 192.168.0.254 ECHO
IP/ICMP Phalanx <= Ovislink_LAN 192.168.0.98 <= 192.168.0.254 ECHOREPLY
您可以看到我的机器正在执行 ARP 广播,询问调制解调器(Ovislink)的 MAC 地址。调制解调器以其 IP 响应,回显发出,然后我收到回复。当我连接到调制解调器的 Web 端口时,可以看到类似的详细信息:
连接到 Web 端口 8080
ARP REQ Phalanx => Broadcast 192.168.0.98 -?- 192.168.0.254
ARP RESP Phalanx <= Ovislink_LAN 192.168.0.254 -!- 192.168.0.98
IP/TCP Phalanx => Ovislink_LAN 192.168.0.98:50001 => 192.168.0.254:8080 SYN
IP/TCP Plalanx <= Ovislink_LAN 192.168.0.98:50001 <= 192.168.0.254:8080 SYNACK
IP/TCP Phalanx => Ovislink_LAN 192.168.0.98:50001 => 192.168.0.254:8080 ACK
ARP 请求后,TCP 连接建立,并进行正常的 SYN、SYN ACK、ACK 流程。一切正常。
现在,我不再将调制解调器连接到台式电脑,而是将其连接到运行 pfSense 的电脑。
笔记:之前,我已将 pfSense 的 LAN IP 地址更改为192.168.1.1/16
,而不是192.168.1.1/24
。这是因为我的网络已经192.168.0.0/16
。
我做的第一件事就是禁用“阻止私人网络”下的功能Interfaces->WAN
,因为我的调制解调器的 LAN 接口正在作为 运行。这将删除 下阻止所有 RFC1918 流量的192.168.0.254
第一个防火墙条目。接下来我添加了一条防火墙规则:Firewall->Rules
行动:经过
界面:广域网
协议:TCP
来源:单个主机或别名,192.168.0.254
目的地:LAN 子网
目的端口范围:任何
日志包:是的
描述:ADSL调制解调器
保存并应用更改后,我尝试使用该Diagnostics->Ping
功能在 WAN 端执行 ping 操作192.168.0.254
。当然,没有成功。
我考虑了一下,我觉得我不能只允许 TCP 数据包从 进入 WAN 192.168.0.254
,我还需要允许 ARP 响应数据包(否则 pfSense 怎么能找到它试图发送 IP 数据包的硬件的 MAC 地址?)。我还想到我不能说 LAN 作为目的地,因为实际上是 WAN 接口在 ping。所以我将防火墙规则更新为:
行动:经过
界面:广域网
协议:任何
来源:单个主机或别名,192.168.0.254
目的地:任何
目的端口范围:任何
日志包:是的
描述:ADSL调制解调器
现在当我 ping 它时...不起作用。这并不奇怪。所以我决定运行数据包跟踪:
界面:广域网
主机地址:192.168.0.254
数数:1
详细程度:满的
我启动了跟踪,从 执行了 ping Diagnostics->Ping
,但什么也没得到。没有 ping 回复,跟踪中也没有数据包。
所以现在我想到,只是因为:
- pfSense 处于
192.168.1.1/16
子集 - 我的桌面在
192.168.0.98/16
子网上 - 我的服务器在
192.168.0.10/16
子网上
也许调制解调器不在/16
子网上。我将调制解调器重新插入我的桌面,连接到网络界面,看到它设置为192.168.0.254/24
。所以我重新配置调制解调器192.168.1.254/24
。然后我重新配置
192.168.1.98
我的桌面是- 服务器
192.168.1.10
- 现在调制解调器
192.168.1.254
- 除了 pfSense 之外
192.168.1.1
。
我将调制解调器重新连接到 pfSense 盒,尝试 ping 它,但...没有回应。我对来自的数据包进行数据包跟踪,192.168.1.254
但我看到...没有。
所以现在我很困惑,正在寻求帮助。
答案1
我认为我已经成功完成了您的请求。您需要添加接口、网关和规则,以便将流量路由到调制解调器 IP 范围内的网关。
所以我的设置:十亿路由器连接到电话线 - 设置为桥接模式。pfsense 路由器通过局域网电缆连接到十亿路由器。pfsense 版本 2.1.5
pfSense 设置为有 3 个接口:
- WAN - 通过 re0 的 PPPOE(作为安装向导的一部分进行设置)
- LAN - em0 上的 dhcp 主机,使用 dhcp 在 192.168.1.128 和 192.168.1.192 之间分配 IP(作为安装向导的一部分进行设置)
- MODEMACCESS - re0 上的 dhcp 客户端(必须在设置后手动添加)
网关:
- GW_WAN - 接口 = WAN;网关 IP 地址 = 动态;默认网关
- MODEMACCESS_DHCP - 接口 = MODEMACCESS ;网关 IP 地址 = dhcp;非默认网关
规则:
- 在 WAN 下,我有通常的 2 个阻止和一个全部通过,网关 = 默认
- 在 LAN 下,我有 192.168.1.1/24 源和 192.168.1.1/24 目标锁定规则以及一些从 192.168.1.x 到 !192.168.1.x 的队列分配规则,网关 = 默认
- 在 MODEMACCESS 下,源 192.168.1.1/24 到目标 10.0.0.2/24,网关为 MODEMACCESS_DHCP
设备 IP:
- 十亿路由器ip 10.0.0.2
- pfSense 局域网 IP:192.168.1.1
- pfSense WAN 公网 IP 由 PPPOE 决定
- pfSense MODEMACCESS IP 由十亿 DHCP 服务器决定
我可以通过在 LAN 网络上的任何 PC 上的任何浏览器中输入 10.0.0.2(或主机名)来访问十亿路由器 Web GUI。我可以通过 LAN 网络上连接的任何设备访问互联网(通过 pfsense 上的 PPPOE 连接)。
答案2
不确定 DSL 是否可行... 您能否创建仅包含 WAN 参数的防火墙规则?换句话说,转到防火墙 > 规则 > WAN 并在那里创建规则。确保限制流量不包括 PPPoE,即 LAN > WAN。
答案3
在我看来,您的调制解调器路由器处于桥接模式,并且 pfSense 路由器设置了 PPPoE 客户端 ID,以便直接从 ISP 接收您的公共 IP。确保路由器未处于桥接模式,并且设置为 dhcp 服务器。然后告诉 pfSense 通过 DHCP 获取其 WAN IP。
这真的只是一个猜测......
答案4
要进行此设置,您需要一个交换机来插入调制解调器。PFSense 防火墙将插入具有两个端口的交换机。一个端口最初将显示为 OPT 端口,但您可以重命名它。防火墙将使用 PPPoE 连接作为 WAN 接口,但您可以通过 opt 接口路由到调制解调器。