标签归档:PPPoE

华硕路由器或刷了梅林的路由器导致光纤宽带PPPoE连接每天断线的解决办法

碰到的现象

使用华硕路由器或者其他路由器刷了梅林固件后,梅林固件本质上就是华硕固件改版而成(描述可能不太准确),通过PPPoE方式进行的光纤连接,差不多每天都会断线,并且不会自动重连,需要重启路由器和光猫才能重新连接上网。

可能的原因

华硕或梅林固件有个叫“网络监测”(Internet Detection)的功能,该功能默认开启,通过PPP echo方式发送数据包到ISP处并取得回应来保持宽带连接,当重试10次得不到回应时断开连接。早在2013年就有人提出更改PPP echo设置会导致PPPoE断线
这个问题并不是十分常见,估计是因为仅部分地区的ISP路由设备未对路由器发出的PPP Echo进行回应所致。

解决的方法

很简单,就是关闭该功能。
登陆路由器,依次定位到:
外部网络(WAN) > 互联网连接 > 帐号设置 > 网络监测
将默认的PPP Echo改为关闭
因为该问题引起的原因是和PPPoE相关,因此当使用华硕路由器或其他路由器刷了梅林固件后出现PPPoE断线问题时,不管是光纤还是普通宽带都可以尝试该方法。
如果是ISP所谓主动断线来释放IP就无效了。

为TP-Link TL-WR703N的无luci的LEDE设置PPPoE或无线桥接(bridge)的方法

更新

20170222 snapshots固件,或者通过imagebuilder自行构建的正式版固件,都可以使用该方法。 20170212 设置并不复杂。 对于无luci的LEDE(OpenWrt)来说,避免麻烦的最好方法是:由于LEDE(OpenWrt)的网络配置文件目前没有大改,暂时还可以通用。所以可以通过安装某一带luci的正式版,在luci中设置好网络,然后保存好/etc/config 下的网络相关的配置文件network、wireless和firewall。在安装Snapshop版后,通过Winscp传回或用putty对照修改就可以了。

 一 背景

一代经典路由器TP-Link TL-WR703N具备一个网口,工作模式可以是wan口也可以是lan口,使得其玩法很多。在设置没有luci的Snapshot版的LEDE(OpenWrt)时看起来很复杂,如何简化设置思路呢?

1.1 从网络数据传输来分析:

1.1.1 703N之后的网络连接:
即703N到客户端的连接:可以通过无线网络(Wireless)或者通过703N的网口经网线与客户端连接。
个人认为在现实世界中大部分人是将703N作为无线路由器来使用的,因此为了表达和简化设置说明,在此假定:客户端是通过访问703N建立的Wireless来上网的,而不是使用网线连接其网口来达到上网的目的。
此外,部分光猫的设置地址是192.168.1.1,而LEDE的默认管理地址也是192.168.1.1,会出现想访问703N的路由器设置地址但出现光猫管理界面的问题, 因此需要为703N的LEDE管理地址设置为新的ip,比如:192.168.2.1。此时,客户端的ip会变成192.168.2.*。
1.1.2  703N之前的网络连接:
有两种比较常见的场景:
一是PPPoE方式,即需要输入用户名和密码进行验证的上网方式,此时703N的网口需要工作在wan口模式;
二是无线桥接(Bridge)方式,即Bridge一个已知的无线网络。

1.2 简化的网络连接图


	+-----------+
	|   PPPoE   +---+
	+-----------+	|	+-----------+	    +-----------+
			+  ==>  +   703N    +  ==>  +  Wireless	|
	+-----------+	|	+-----------+	    +-----------+
	|   Bridge  +---+
	+-----------+

简化的设置思路是:
1.2.1 设置703N的无线网络(Wireless):
开启703N的无线网络(需要网线连接电脑与路由器的网口),通过接入无线网络完成后续的设置(不再需要网线连接电脑与路由器的网口)。
1.2.2 设置PPPoE(入户网线插入路由器的网口)或者桥接(Bridge)。

 

二 具体的设置方法

LEDE的网络相关设置的文件保存在/etc/config/下,主要包括3个:
network wireless firewall

2.1 设置703N无线网络

2.1.1 开启无线网络:
安装好LEDE后,用putty登陆路由器的管理地址:192.168.1.1.设置路由器密码后,就可以开始设置网络了。
官方提到的命令行工具是uci,但是vi直接改配置文件也挺方便。

vi /etc/config/wireless

将option disabled ‘1’改为option disabled ‘0’


config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/ar933x_wmac'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'LEDE'
        option encryption 'none'

2.1.2 更改LEDE的管理地址:

vi /etc/config/network

将option ipaddr ‘192.168.1.1’改为option ipaddr ‘192.168.2.1’


config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdd8:a2c4:707f::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

注:此时可以看到lan区块下的option ifname 为’eth0’。

应用新的网络设置:

/etc/init.d/network restart

此时断开有线连接,搜索并接入刚开启的默认的无密码无线网络:LEDE。
注:开启的无线网络名称、密码、加密方式等可后续再设置,这里为了简化就不说了。

2.2 设置PPPoE连接或无线桥接

2.2.1 设置PPPoE连接的方法
将入户网线接入703N的网口;通过无线网络连接路由器LEDE,putty登陆LEDE管理地址:192.168.2.1。

vi /etc/config/network

将lan区域下的option ifname ‘eth0’改为option ifname ‘eth1’,并在最下面添加wan区块信息:


config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdd8:a2c4:707f::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth1'
        option proto 'static'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wan'
        option ifname 'eth0'
        option proto 'pppoe'
        option username 'PPPoE账户'
        option password 'PPPoE密码'

根据实际情况,更改PPPoE的用户名和密码。

保存,并应用新的网络配置:

/etc/init.d/network restart

设置完毕,应该可以上网了。

2.2.2设置无线桥接的方法
假设按“2.1设置703N无线网络”开启了无线网络LEDE,不需要PPPoE,而是需要桥接已有网络,则设置方法如下:
还是通过无线连接路由器LEDE,putty登陆LEDE管理地址:192.168.2.1。

vi /etc/config/network

在最下面添加wwan区块:


config interface 'loopback'
        option ifname 'lo'
        option proto 'static'
        option ipaddr '127.0.0.1'
        option netmask '255.0.0.0'

config globals 'globals'
        option ula_prefix 'fdd8:a2c4:707f::/48'

config interface 'lan'
        option type 'bridge'
        option ifname 'eth0'
        option proto 'static'
        option ipaddr '192.168.2.1'
        option netmask '255.255.255.0'
        option ip6assign '60'

config interface 'wwan'
        option proto 'dhcp'
vi /etc/config/wireless

将LEDE区块下的’default_radio0’删除,并增加桥接区块
config wifi-iface ‘default_radio0’改为config wifi-iface


config wifi-device 'radio0'
        option type 'mac80211'
        option channel '11'
        option hwmode '11g'
        option path 'platform/ar933x_wmac'
        option htmode 'HT20'
        option disabled '0'

config wifi-iface
        option device 'radio0'
        option network 'lan'
        option mode 'ap'
        option ssid 'LEDE'
        option encryption 'none'

config wifi-iface 'default_radio0'
        option device 'radio0'
        option network 'wwan'
        option mode 'sta'
        option ssid '已知无线网络的名称'
        option bssid '12:34:56:78:90:01'
        option encryption '无线网络的加密方法'
        option key '无线网络的密码'

需要更具实际情况更改的信息有:ssid,bssid,encryption,key。
ssid就是我们在手机或电脑WIFI那里看到的无线网络名称,bssid其实就是无线网卡的MAC地址,encryption加密方法可尝试设为psk2,key是无线网络的密码。
更改防火墙配置:

vi /etc/config/firewall

在wan区块最后添加一行:option network ‘wan wan6 wwan’


...

config zone
        option name wan
        list network 'wan'
        list network 'wan6'
        option input REJECT
        option output ACCEPT
        option forward REJECT
        option masq 1
        option mtu_fix 1
        option network 'wan wan6 wwan'

...

应用新的网络配置:

/etc/init.d/network restart

设置完毕,应该可以上网了。