安装宽带时,光猫默认是路由模式,由光猫进行PPPoE拨号。现在想将光猫改为桥接模式,由光猫下面的openwrt路由器进行PPPoE拨号。

拓扑图

拓扑图

拓扑图

光猫改为桥接模式

光猫“连接模式”中的路由模式或者桥接模式都是基于某个连接的,也就是先选择某个连接,再将这个连接的连接模式设置为路由或者桥接,而不是将整个光猫设备为某个模式。

修改后的网络连接

网络连接的设置

只需要根据原来的连接进行修改,不必删除连接再新建连接。

网络—网络设置—网络连接

网络连接

网络连接

连接名称:选择原来的名称,注意选择互联网的连接,不要选择IPTV连接或者电话的连接
封装类型:PPPoE,无法修改
连接模式:由“路由”改为“桥接”
业务类型:上网,无法修改
IP模式:仍为“IPV4&IPV6”
启用LVAN:打勾,必选
VlanID:仍为41
802.1p:0,不修改
DHCP服务使用:打勾,不修改
LAN端口绑定:默认不选择任何端口
SSID端口绑定:默认不选择任何端口

网络连接启用vlan后,是在网络连接的WAN接口给数据帧打上vlan ID,以使数据帧可以在运营商正确的vlan中传输,最终能到达PPPoE Server。

VLAN绑定的设置

在光猫使用路由模式时,VLAN绑定没有配置,绑定表是空的。在我的情况中,连接改为桥接模式后,如果仅在“网络连接”中进行LAN端口绑定的话,光猫下面的路由器拨号不成功,或者拨号获得的IP不正确,导致不能上网。 必须配置“VLAN绑定”,光猫下面的路由器才可以拨号。 进行VLAN绑定后,“网络连接“中的LAN端口绑定是否配置都看不出有什么影响。

网络—网络设置—VLAN绑定,新增一个条目,如下图所示。

VLAN绑定

VLAN绑定

用户侧端口:只选择网口1,即LAN 1。
用户侧VLAN为41:必须与运营商配置的VLAN相同。光猫还是路由模式时先记下这个VLAN。
绑定WAN连接名称:只能在下拉列表中选择,无法手动配置。即绑定指的是WAN连接、VLAN、LAN端口之间的绑定。

用户侧端口、用户侧VLAN、绑定WAN连接都必须配置,否则页面提示错误,且配置不生效。

我没有开通电话和IPTV,光猫中默认有一个电话的连接,把这个连接也和LAN 1进行绑定,光猫下面的路由器可以正常拨号。

VLAN绑定

VLAN绑定

关于光猫VLAN的猜测

!> 我对光猫和VLAN都不太了解,这里仅是自己的猜测。

在测试过程中,如果没有配置VLAN绑定,则下级路由器拨号会成功,但获取的是10开头的IP,而不是100开头的IP。正常情况下拨号成功后,WAN接口的IP应该是100开头的。

获得不正确的IP应该是因为VLAN设置不正确。

1.光猫设置为路由模式的情况:

PPPoE报文是光猫本身的PPPoE Client产生的,报文封装时会打上“网络连接”中配置的vlan ID,再从PON接口发送出去。报文会在运营商的vlan 41网络中传输,直到传输到PPPoE Server,认证成功后就会获得IP地址。

2.光猫设置为桥接模式,不设置LAN口的VLAN绑定,使用下级路由器拨号的情况:

光猫的下级路由器进行PPPoE拨号,生成的PPPoE报文发送到光猫LAN接口。收到的PPPoE报文如果没有vlan ID,报文也不会被打上vlan ID,因为光猫没有配置VLAN绑定。光猫把报文从PON接口转发出去时,也不会为报文打上vlan ID。

收到的PPPoE报文如果带有vlan ID呢?在交换机中,如果接口收到的帧的vlan ID与接口的PVID不同,会把报文丢弃?

设置VLAN绑定的作用就是为收到的帧打上vlan ID。

如上图中VLAN绑定的配置,光猫从网口1收到的报文,会被打上vlan 41。从WAN口发送出去时也是打上vlan 41,或者保留vlan 41,因为设置VLAN绑定时,绑定了LAN接口和WAN连接。这样才能保证报文在运营商的vlan 41网络中传输,最终到达vlan 41中的PPPoE Server进行认证。

测试过程中下级路由器进行PPPoE拨号时获取10开头的IP,可能就是报文被传送到了运营商中默认vlan的PPPoE Server,因为光猫从WAN接口发送的报文不带有vlan ID。

openwrt路由器拨号

这里使用openwrt路由进行PPPoE拨号。如果openwrt有WAN和WAN6两个接口,只配置WAN口进行拨号即可,WAN6没有用到,可以不管它。

配置WAN口

网络—接口—WAN—基本设置

WAN基本设置

WAN基本设置

协议:选择PPPoE,先点击“切换协议”,然后显示PPPoE相关设置。
PAP/CHAP用户名 :PPP和CHAP是PPP协议的两种认证方式,这里就是宽带帐号
PAP/CHAP密码 :就是宽带密码
其他选项默认即可。

WAN口改变协议为PPPoE后,系统自动给WAN口名称自动加上前缀pppoe-,变成pppoe-wan。

网络—接口—WAN—高级设置

WAN高级设置

WAN高级设置

开机自动运行:
使用内置的IPv6管理:
强制链路:
获取IPv6地址:如果运营商有IPv6,选“自动”,WAN口会获得接口IP和IPv6-PD前缀
使用默认网关:应勾选
使用网关跃点:可手动设置为0,这关系到默认路由的优先级,数值越小越优先
使用对端通告的DNS服务器:勾选的话就是使用运营商下发的DNS,不勾选就自己手动填写DNS的IP
LCP响应故障阈值:
LCP响应间隔:
活动超时:
重设MTU,1492 :默认是1500,最大设置为1492即可,超过的话可能会使用某些应用不正常,如FTP,IPsec;设置太小又会影响传输效率。

网络—接口—WAN—物理设置

WAN物理设置

WAN物理设置

WAN口关联eth0物理接口。

网络—接口—WAN—防火墙设置

WAN防火墙设置

WAN防火墙设置

WAN接口划入防火墙的wan区域。

以上是配置WAN口拨号的基本配置,其他的配置可根据实际情况进行设置。

防火墙配置

在IPv6中,ICMPv6是比较重要的报文,接口IPv6地址的自动获取会用到ICMPv6 RS、ICMPv6 RA等报文。DHCPv6-PD地址的获取又需要用到DHCPv6报文。所以需要设置openwrt的防火墙,允许这些报文在openwrt和运营商服务器之间传输。

我这个openwrt固件已经支持IPv6,防火墙默认已经放行了相关报文。

网络—防火墙—通信规则

防火墙通信规则

防火墙通信规则

!> 因为获取的IPv6地址是公网地址,可以直接从互联网连接到openwrt路由器。防火墙主要是阻止从公网方向进来的流量,也就是从互联网发起的、到达openwrt路由器的流量。放行了必要的报文类型或端口后,不要再打开其他端口,更不能直接关闭防火墙。

拨号后的状态

网络—接口—WAN—基本配置

拨号后的WAN口状态

拨号后的WAN口状态

在WAN口的基本设置中可以看到PPPoE拨号成功后获得的IP。

这里要检查一下获得的IP地址是不是跟光猫改桥接前的IP相似,例如以100开头的IPv4地址,应该就没什么问题了。如果获得的是其他IP地址,例如以10开头的,可能是连接到了其他的PPPoE服务器,无法上网。

这里看到的IPv6地址是WAN口的链路本地地址,以fe80开头,这个是接口自动生成的地址,不是公网地址。

状态—概览

WAN状态

WAN状态

IPv4 WAN状态:
显示了获取的IP、网关、DNS等
DNS显示的是我手动配置的DNS,如果不手动配置,这里会显示运营商分配的DNS

IPv6 WAN状态:
类型:dhcpv6-pd,表明获得了IPv6-PD前缀
分发前缀:从运营商获得的IPv6-PD前缀,我这里是/56位的
地址:WAN口获得的IPv6地址,这个地址与获得的IPv6-PD不是同一个网段
网关:网关是运营商设备的链路本地地址,不是公网地址
DNS1:从运营商获得的DNS地址,因为我关闭了相关选项,这里不显示DNS的IP
DNS2:

关于IPv6地址和IPv6前缀

各地运营商提供的服务不同,我这里获取的是/56位的前缀,而且只能获得动态地址和动态IPv6-pd,重新拨号之后或者过几天之后,WAN口获得的IPv6地址和IPv6-pd前缀都会改变。虽然是动态的IP,但仍然是公网IP,可以从互联网直接访问,因此做好安全很重要。openwrt中的防火墙、电脑等设备要配置好安全选项,不要随意关闭防火墙或者允许所有流量。

光猫拨号时,我的光猫无法下发IPv6-PD前缀,可能是我不会配置。使用openwrt拨号时,仍可以继续下发IPv6前缀,这时接在openwrt下面的路由器还可以使用获得的前缀给电脑分配公网IPv6。

参考资料

最后修改:2024 年 07 月 05 日
如果觉得我的文章对你有用,请随意赞赏