Ian*_*oyd 5 dsl-modem pfsense pppoe
我想在 pfSense 中创建一个路由,将流量发送到物理WAN端口,而不是PPPoE WAN端口。我想与我的 DSL 调制解调器上的网络服务器通话;让我看到当前的同步率和 SnR 余量。调制解调器看不到发往它的数据包,因为它们是通过PPPoE 隧道发送的。
我的 pfSense 路由器负责通过 DSL 建立到我的 ISP 的 PPPoE 连接。当 LAN 上的机器想要将数据包发送到 Internet 时,默认路由通过PPPoE连接将数据包发送出去。那些包裹在PPPoE 标头中的数据包通过以太网电缆发送到我的 DSL 调制解调器。从那里他们被发送到 ISP,以及整个互联网。
+----------------------+ +----------------------+
|IPv4 header (20 bytes)| +--------+ |PPPoE header (8 bytes)| +-----+ {????????}
| |===>|pfSense |===>|IPv4 header (20 bytes)|===>|Modem|===>{Internet}
| | +--------+ | | +-----+ {________}
| | | |
+----------------------+ +----------------------+
Run Code Online (Sandbox Code Playgroud)
我想要一种从 WAN 端口本身发送数据包的方法 - 而不是 PPPoE WAN 端口。
我的调制解调器就在那里,有一个 http 接口,我可以在那里监控
每当我尝试为目的地192.168.2.1
(调制解调器将侦听 HTTP 请求的 IP)设置路由以离开WAN端口时,它们最终会离开PPPoE端口。
不同之处在于它们被包裹在一个 PPPoE 协议数据包中,并且调制解调器没有被发送数据包,它被传送到 ISP。
鉴于 pfSense 无法将流量引出物理 WAN 端口:如何将流量引出 pfSense 上的物理 WAN 端口?
这是我3 年前在 pfSense 论坛上问的完全相同的问题:
我的调制解调器有一个网络界面。这很方便,因为我可以看到它是否实际连接、线路噪声、错误率等。
如果我将调制解调器连接到我的 destop PC(而不是 pfSense PC),我可以正常 ping 并浏览调制解调器的 Web 界面。调制解调器的 IP 是 192.168.0.254,并在端口 8080 上侦听。我还可以从我的 PC 数据包跟踪活动:
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
Run Code Online (Sandbox Code Playgroud)
你可以看到我的机器在做一个 ARP 广播,询问调制解调器的 MAC 地址(Ovislink)。调制解调器用它的 IP 响应,回声消失,我得到答复。当我连接到调制解调器的 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
Run Code Online (Sandbox Code Playgroud)
ARP请求后,通过正常的SYN、SYN ACK、ACK过程建立TCP连接。一切都很好。
现在,我没有将调制解调器连接到我的台式机,而是将它连接到运行 pfSense 的 PC。
注意:以前,我已将 pfSense 的 LAN IP 地址更改为192.168.1.1/16
,而不是192.168.1.1/24
。这是因为我的网络已经是192.168.0.0/16
.
我做的第一件事是禁用 下的“阻止专用网络”功能Interfaces->WAN
,因为我的调制解调器的 LAN 接口以192.168.0.254
. 这将删除Firewall->Rules
阻止所有 RFC1918 流量的第一个防火墙条目。接下来我添加了一个防火墙规则:
操作:通过
接口: WAN
协议: TCP
源:单个主机或别名,192.168.0.254
目的地: LAN 子网
目的地端口范围:任何
日志数据包:是
描述: ADSL 调制解调器
保存并应用我的更改后,我尝试使用该Diagnostics->Ping
功能192.168.0.254
在 WAN 端进行 ping操作。当然,它没有用。
我想了想,在我看来,我不能只允许 WAN 上的 TCP 数据包来自 WAN 192.168.0.254
,我还需要允许 ARP 响应数据包(pfSense 怎么能找到它试图发送的硬件的 MAC 地址呢? IP数据包到?)。我还想到我不能说 LAN 作为目的地,因为它实际上是 ping 的 WAN 接口。所以我将防火墙规则更新为:
操作:通过
接口: WAN
协议:任何
来源:单个主机或别名,192.168.0.254
目的地:任何
目的地端口范围:任何
日志数据包:是
描述: ADSL 调制解调器
现在,当我 ping 它时...不起作用。没有真正的惊喜。所以我决定运行一个数据包跟踪:
接口: WAN
主机地址: 192.168.0.254
计数: 1
详细级别:完整
我开始跟踪,从 ping Diagnostics->Ping
,然后得到......什么都没有。没有 ping 回复,跟踪中也没有数据包。
所以现在我突然想到,仅仅因为:
192.168.1.1/16
subet 上192.168.0.98/16
子网上192.168.0.10/16
子网上也许调制解调器不在/16
子网上。我将调制解调器插回我的桌面,连接到 Web 界面并查看它是否设置为192.168.0.254/24
。所以我重新配置了调制解调器192.168.1.254/24
。然后我重新配置
192.168.1.98
,192.168.1.10
,192.168.1.254
192.168.1.1
.我将调制解调器重新连接到 pfSense 盒,尝试 ping 它,但我得到...没有响应。我对来自的数据包进行数据包跟踪192.168.1.254
,我看到...没有。
所以现在我很难过,正在寻求帮助。
小智 2
我想我已经做到了你的要求。您需要添加接口、网关和规则,以将流量路由到调制解调器 IP 范围的网关。
所以我的设置:十亿路由器连接到电话线 - 设置为桥接模式。pfsense路由器通过LAN电缆连接到Billion路由器。pfsense 版本 2.1.5
pfsense 设置有 3 个接口:
网关:
规则:
设备的 IP:
我可以通过在 LAN 网络上任何 PC 上的任何浏览器中输入 10.0.0.2(或主机名)来访问十亿路由器 Web GUI。我可以在 LAN 网络上连接的任何设备上访问互联网(通过 pfsense 上的 PPPOE 连接)。