1 、家用路由器能否配置成,路由器只负责 ppoe 的认证,封装、解封装 ppoe 数据帧 2 、解包完 ppoe 数据帧,直接转发到指定的网关设备,路由器自己不做 nat 和 dhcp ,让下游的网关设备去做 3 、家用路由器能这样配置吗?不考虑软路由的情况,或者高端路由器有这个功能吗?
1
badgv 2 天前 via Android
功能上 ros 很容易就实现了,但是逻辑上,如果 pppoe 拨号设备不做 pppoe 出站 SNAT ,你是上不了网的(之前看到什么 CGNAT 或许可以)
既然你需要下级网关实现 NAT ,那就 pppoe 直接 vlan 二层给下级网关让下级网关直接 pppoe nat 一体更好 |
2
ID404 2 天前
我是好奇为什么会有这样的需求?
|
3
ShioWSX OP @badgv 你好,是这样的,现在手上有一块 Connectx-6-Lx 网卡,它有个硬件加速 nat 的功能,要自己实现一套流表
1 、我查资料 ppoe 只能在内核协议栈处理,如果 ppoe 和 nat 集中在一块,就没办法在调用网卡的 nat 硬快快转了 2 、主要还是自己想瞎折腾才想的这一出,感觉普通路由器都没法这样配置,基本上 ppoe 和 nat 是绑定了 |
4
ShioWSX OP @ID404 折腾了一块 connectx-6-lx 网卡,看到有 nat 硬件加速,我本身就是做 nat 开发的,就想着自己实现一套流表,路由器纯做 ppoe 处理,nat 和 dhcp 交给 connectx-6-lx 的软路由做,属于是头脑一热的想法了
|
5
badgv 2 天前 via Android
@ShioWSX 你多大带宽啊还要考虑 pppoe 性能损耗的,能支持硬件 nat 的,跑 pppoe 也能跑满了吧,你可以考虑支持硬件 nat 的直接做 pppoe
|
6
ShioWSX OP @badgv 主要是延迟方面的考虑,想做到最低延迟,ppoe 、nat 放一起,那 nat 就只能用内核协议栈去做转换,放内核要吃 cpu 转换效率也不如硬件转发,硬件转发的话延迟很低还绕过了 cpu ,主要还是头脑一热想出来的整活^_^
|
7
badgv 2 天前 via Android
@ShioWSX 我对底层原理不是很懂,如果你网关这里做 snat 成上级路由的 pppoe 接口 ip ,并路由给上级 pppoe 路由器(ros),这里不做 pppoe 的 nat 直接转发出去没问题,但是远程回包(dst-addr=pppoe 的 ip)到 ros 后,ros 没有内建的 nat 映射表,它只能把回包当成 input 数据自己处理了,不会 forward 给你 nat 网关了,这时候不通了,所以从原理上来说 pppoe 处理和 nat 分开就不可能实现?
|
8
badgv 2 天前 via Android
不过想想看在 ros 这里如果对回包做一个策略路由,强行 forward 给下级网关,或许能通?
|