标签归档:PPPoE

在树莓派3B上安装OpenWrt 18.06.0

更新日志

20180910
OpenWrt 升级至18.06.1;
更正部分疏漏和错误;
有趣的地方在于:直接格式化存储卡,写入 18.06.1镜像,上电,发现之前的设置居然还在。使用firstboot命令后才清除。


经历LEDE分支的快速发展后,OpenWRT与LEDE又重新走到了一起,并于2018年7月放出了首次合并后的正式版OpenWrt 18.06.0。今天介绍下如何在树莓派3 Modle B上安装正式版的OpenWrt 18.06.0,主要目的是介绍如何配置3B的网络。

安装OpenWRT

下载所需的固件和写入软件

下载适配树莓派3B的固件

openwrt-18.06.1-brcm2708-bcm2710-rpi-3-squashfs-factory.img.gz

解压后得到openwrt-18.06.1-brcm2708-bcm2710-rpi-3-squashfs-factory.img。

下载并安装写入软件

Win32DiskImager

写入OpenWRT

建议将TF卡事先格式化一次,保证卡上内容为空。

以管理员方式打开Win32DiskImager,在“Image File”处选择解压好的“openwrt-18.06.1-brcm2708-bcm2710-rpi-3-squashfs-factory.img”,谨慎选择要写入的目标TF卡所在的盘符“Device”,之后点击“Write”写入。

修改OpenWRT网络配置

初始化设置

将写好的TF卡插入3B,通电,以网线连接上3B与电脑,打开 192.168.1.1,直接点击“Login”登陆。

设置密码和修改SSH设置

点击上方提示处的“Go to password configuration…”,
设置密码(Router Password)。
将“Dropbear Instance”下的“Interface”选择“lan”,之后点击“Save & Apply”保存并生效。

开启并连接3B的无线网络

依次打开“Network” > “Wireless”,在“Wireless Overview”界面,找到“SSID: OpenWrt | Mode: Master”,点击“Enable”开启无线,此无线的用户名为“OpenWrt”,默认密码为空。
断开有线连接,在无线网络找到“OpenWrt”,进行连接,重新登陆路由器。

修改网络接口设置并添加WAN口配置

修改LAN接口网卡适配器的设置

依次打开“Network” > “Interfaces”,在”Interfaces”下找到“LAN”,点击“Edit”进入“Interfaces – LAN”的配置界面,找到“Common Configuration”选项卡下的“Physical Settings”,在“Interface”点击右侧的下拉列表,去掉“Ethernet Adapter: “eth0” (lan)”前面的钩,之后点击“Save & Apply”保存并生效。

对无线网络的进一步配置,如更改无线名称,加密设置等在此不赘述。

添加WAN口

依次打开“Network” > “Interfaces”,点击“Add new interface…”打开新建接口的界面“Create Interface”,如下修改:

  • “Name of the new interface”处,填入“WAN”。
  • “Protocol of the new interface”处,根据是否由光猫拨号进行选择:如果是宽带的账户密码在光猫中设置并拨号,就选择“DHCP client”;如果是在树莓派的OpenWRT中设置宽带账号并拨号,就选择“PPPoE”。
  • “Cover the following interface”处,选择“Ethernet Adapter: “eth0″”。

设置好之后,点击“Submit”提交修改。
此时,返回WAN口的设置界面“Interfaces – WAN”:
如果选择了PPPoE,就在该界面下方输入宽带的用户名“PAP/CHAP username
”和密码“PAP/CHAP password”。
在该界面的右侧防火墙设置“Firewall Settings”中:
“Create / Assign firewall-zone”处,选择“wan:(empty)”。
点击“Save & Apply”保存并生效。

安装中文语言包和material主题

putty登陆3B,安装语言包和material主题

opkg update
opkg install luci-theme-material luci-i18n-base-zh-cn

华硕路由器或刷了梅林的路由器导致光纤宽带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

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