Adblock在OpenWrt系统上的应用

说起去广告应用,国外比较有名的有adblock、adguard等,其中最常见的是adblock,以前经常会发现有人在桌面浏览器上安装adblock插件,听说去广告效果还是相当不错的,今天我们要将这个应用移植到OpenWrt路由器上,来讲讲Adblock在OpenWrt系统上的应用成果。

关于OpenWrt系统官方推荐的去广告应用,大家可以参考如下网址获取更多详细资料:

https://openwrt.org/docs/guide-user/services/ad-blocking

其中simple-adblock应用是adblock应用的精简版,banhostlist应用2015年后已停止更新,adguard应用所采用的广告列表可以包含在adblock应用里,因此从某种意义上来说我们只要掌握adblock应用就可以了。

为了达到满意的去广告效果,我们通常需要一个相对比较全的广告列表(包含几万条~几十万条广告网址信息),这会占用路由器很多的存储空间,也会导致路由器处理DNS解析的时间大大延长,使路由器响应其它服务的时间变慢,所以如果要安装去广告应用,首先路由器的性能必须出众,个人建议最好采用X86或树莓派的OpenWrt软路由系统。

本次讲解我会使用树莓派软路由,安装19.07.3版本的OpenWrt系统,关于树莓派安装OpenWrt系统的教程我会另文进行讲解。

一、安装

1、安装相应程序包

opkg update
opkg install adblock luci-app-adblock

2、路由器重启

reboot
二、常规设置

在OpenWrt的Luci界面,点“Services – Adblock”进入设置界面:

其中,在“Overview“栏中含”Information“项显示了adblock目前的配置及运行情况。

具体的设置我们需要在”Settings”项的”General Settings“子项中进行:

除缺省的”Enabled”栏勾选外,将“Force Local DNS“及“DNS Report”栏也勾选上,在新增的“Local DNS Ports”栏里填上“53”。同时为了使DNS Report发挥作用,还需要按提示安装tcpdump-mini:

opkg update
opkg install tcpdump-mini

最后在Luci界面点“Save & Apply”,使修改生效,一般这时测试网站或视频内容就可以达到去广告的效果了。

三、诊断及微调

如果通过以上的设置,还无法达到去广告的效果,你可以通过以下的步骤进行诊断及微调:

1、点开“Log View”项,看一下应用运行所必需的程序包是否已全部安装,根据提示先安装程序包,直到没有错误提示信息为止;

2、改变或增加广告列表源:在“Overview – Settings – Blocklist Sources”子项的”Sources“栏下拉框中变更或增添新的广告列表源;

3、添加自定义列表:通过”Edit Blacklist“和”Edit Whitelist“,自定义黑名单及白名单,特别是要去除国内广告时,添加自定义的广告黑名单(注:可通过网络下载随时更新的国内广告列表)是非常必要的;

4、根据”DNS Report“的刷新结果,看一下需要去除的广告是否都已去除,有”漏网之鱼”就将其加入到黑名单。

相信通过以上的步骤以后,去广告的效果肯定会大有改善,当然在去广告的同时我们还需要兼顾路由器的其它性能不受大的影响,广告列表名单也不可能是越多越好,大家需要通过多试验才能取得一个合适的平衡值。

国内比较知名的去广告应用有adbyby及koolproxy,但可惜的是这两个应用都长久没有更新了,去广告效果已大打折扣,但它们在国内还是拥有大量的粉丝,特别是adbyby,所以我还是会在后面给大家讲一讲adbyby在OpenWrt系统中的应用,但因为要涉及到自编译,因此我会把它放在应用程序自编译部分来进行讲解。

将4G移动网络接入OpenWrt路由器

要远程控制设在郊外的设备,设备附近没有有线网络也没有WIFI无线信号;坐高铁出差途中突然有公事须处理,需要用到网络又不想共享手机移动网络;家里宽带突然断网,一家子人等着上网看剧、玩游戏、查信息,碰到这些问题怎么办?最简单的方法就是,将4G移动网络接入OpenWrt路由器,利用移动网络信号来帮助完成这些工作。

为什么选择采用4G移动网络?是因为其速度可以满足大部分应用的需要,另外目前的4G模块的价格还是比较便宜的,相比3G、5G网络具有更高的性价比。市场上4G模块有多种输出模式,因为我们要选择接入路由器,所以需要购买带usb接口的4G模块,目前比较常见的有宽翼通信BroadMobi的BM806U、移远通信QUECTEL的EC20、龙尚的U8300C、芯讯通SIMCom的SIM7600CE等等。

这次我们的讲解就以BroadMobi的BM806U为例。OpenWrt路由器选用TL-WR720N,选择这款路由器主要是考虑其体积小,方便布置及携带;另外带Micro-usb供电,有移动充电宝就可以让路由器运行起来。

一、安装4G模块的驱动程序

1、安装必要的程序包

opkg update
opkg install usb-modeswitch kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi

2、重启路由器

reboot

3、测试

ls -l /dev/cdc-wdm0

# 判断返回的信息是否与下面内容类似:

crw-r--r--    1 root     root      180, 176 Oct  1 12:03 /dev/cdc-wdm0

如果返回的信息有问题,可以运行以下两个命令看一下问题具体出在什么地方:

dmesg

或

cat /sys/kernel/debug/usb/devices

4、插上SIM卡查看

将中国移动SIM卡(注:BM806U说支持全网通,但是我用电信4G卡测试没有通过,联通的没试,移动是可以的,所以不知道是不是还需要额外的配置),插入usb dongle的4G模组,最好把天线也接上。一般4G模块的指示灯会亮,不亮的话可以将路由器再重启一下试试。然后运行如下命令:

uqmi -d /dev/cdc-wdm0 --get-data-status
# 返回信息
"disconnected"

uqmi -d /dev/cdc-wdm0 --get-signal-info
# 返回类似信息就表明驱动安装成功
{
        "type": "lte",
        "rssi": -71,
        "rsrq": -9,
        "rsrp": -94,
        "snr": 70
}

将4G移动网络接入OpenWrt路由器-1

二、设置拨号程序

1、采用命令方式,这种方法可靠性好,建议使用

uqmi -d /dev/cdc-wdm0 --start-network cmnet --autoconnect
# 返回程序运行的进程号,例如:
90268320

同理,也可以通过命令确认一下连接状态:

uqmi -d /dev/cdc-wdm0 --get-data-status
# 返回信息
"connected"

2、第2种方法,采用Luci界面设置

这种方法需要知道移动网络提供商的APN、鉴权模式、拨号用户名及密码等,比较复杂,而且不太稳定,不推荐使用。

先在Luci界面增加4G拨号协议支持:

opkg update
opkg install luci-proto-qmi

再在“Network – Interfaces”界面新增一个wwan0的拨号协议接口:

将4G移动网络接入OpenWrt路由器-2

配置相应参数:

将4G移动网络接入OpenWrt路由器-3

最后添加防火墙到wan区域:

将4G移动网络接入OpenWrt路由器-4

保存并应用后,4G拨号就成功了。

三、添加4G移动网络

新增4G移动网络接口wwan:

vim /etc/config/network

# 在打开的文本最后加上如下语句

config interface 'wwan'
        option ifname 'wwan0'
        option proto 'dhcp'

再添加防火墙到wan区域(在Luci设置界面完成):

将4G移动网络接入OpenWrt路由器-5

配置完成,点“Save & Apply”后,就可以看到连接状态了:

将4G移动网络接入OpenWrt路由器-6

>> 因为有wan和wwan两个网络输入接口,所以为避免冲突,最好配置mwan3,具体可参考OpenWrt的负载均衡及多线多拨控制应用mwan3一文。

至此,将4G移动网络接入OpenWrt路由器的具体实施方法就讲解完成了,你学会了吗?更详细的说明,你也可以参考如下英文网址:

https://openwrt.org/docs/guide-user/network/wan/wwan/ltedongle

如果你手头有的4G模块不是BM806U,而是移远通信的EC20,那对不起,上面的拨号程序没有用,我们需要专门为其编译拨号程序,这个比较复杂,留给以后在应用程序自编译部分再讲解。

一个Frps带多个Frpc

Frp在OpenWrt系统中的应用一文中,我们讲解了Frps服务器端的安装及设置,以及OpenWrt系统下Frpc客户端的安装及设置,是一对一的关系。但如果我们有多个客户端需要进行内网穿透的话,是不是需要设置多个Frps服务器端?如果是的话,那成本就有点高了,因为大家知道Frps服务器端是需要有公网地址的,而一般来说获取公网地址都是要支付费用的,所以多一个Frps通常就会多一份费用。那是否可以一个Frps带多个Frpc呢?回答是肯定的!今天我们就来讲解一下一个Frps带多个Frpc的具体实施方法。

以两个客户端都要设置SSH服务为例(注:客户端设置中与服务器信息相关的部分略去,因为设置是一样的):

路由器1中 /etc/config/frpc 与SSH服务相关的配置如下:

config rule 'ssh_proxy'
    option name 'ssh'
    option type 'tcp'
    option local_ip '127.0.0.1'
    option local_port '22'
    option remote_port '6000'

那路由器2设置SSH服务时,是不是只要将远程服务端口改成与6000端口不一样就可以了呢?例如:改成6001:

config rule 'ssh_proxy'
    option name 'ssh'
    option type 'tcp'
    option local_ip '127.0.0.1'
    option local_port '22'
    option remote_port '6001'

即在Luci界面设置如下:

一个Frps带多个Frpc-1

按以上方式设置之后,你会发现登录远程的6001端口,并不能进入路由器2的SSH服务,即22端口。

那问题出在什么地方呢?查frp源码你可以发现frps不是以端口号来区分不同的客户端的,而是以代理服务的名称来区分的。上面的设置中,虽然路由器1的SSH服务远程端口是6000,路由器2的SSH服务远程端口为6001,但是它们的代理名称Proxy Name都是ssh,所以路由器1设置有效,路由器2的设置是无效的。因此我们需要修改一下路由器2的代理名称,例如,就改为“ssh1”:

config rule 'ssh_proxy'
    option name 'ssh1'
    option type 'tcp'
    option local_ip '127.0.0.1'
    option local_port '22'
    option remote_port '6001'

如果采用Luci配置时,在“Rules”子项目的“Proxy Name”栏输入框内点下拉菜单后选“Custom”用户自定义,输入“ssh1”回车即可。

一个Frps带多个Frpc-2

设置完成后,路由器2的SSH服务内网穿透测试完全正常(注:利用WinSCP,设置远程服务器及6001端口号访问)。

其它的像web服务、ftp服务等也都可以同样的方法进行设置,一个Frps带多个Frpc功能实现!!

利用usb摄像头建立家庭监控系统

2020年年初由于受疫情的影响,很多家庭都为了孩子上网课而购置了usb摄像头,而现在随着孩子恢复到学校正常上课,原先购买的usb摄像头就闲置下来了。那今天我们就来讲解一下如何利用usb摄像头建立家庭监控系统,让闲置的物件再发挥发挥其大作用。

一、材料准备

1、本次讲解路由器我们采用网件Netgear R7800,系统是OpenWrt 19.07.3;

2、家里闲置的usb摄像头型号是C270 HD WEBCAM,是罗技Logitech公司出品的,720p,30fps。

二、设置过程

1、添加usb支持

opkg update
opkg install kmod-usb-core kmod-usb2 kmod-usb3

2、安装usb检测工具(非必须)

opkg install usbutils

3、安装usb video支持

opkg install kmod-video-uvc

具体安装什么usb video支持程序,需要看自己家里的usb摄像头支持什么格式的,具体可以先参考一下OpenWrt关于usb video的用户指南:

https://openwrt.org/docs/guide-user/hardware/video/usb.video

判断自己购买的usb摄像头是否支持uvc格式,是否可以在linux内核里自动识别,可直接参阅:http://www.ideasonboard.org/uvc/

我的罗技C270在支持的列表里,因此我在路由器上安装 kmod-video-uvc 后,就可以使用 lsusb -t 或 ls /dev/video* 看到设备已成功安装:

利用usb摄像头建立家庭监控系统-1

三、实时监控视频

1、安装支持

opkg update
opkg install mjpg-streamer luci-app-mjpg-streamer

2、进入路由器Luci设置界面,点“Services – MJPG-streamer“,在”General“里设置视频格式及输出方式,并勾选”Enabled“;在”Plugin settings – HTTP output”里设置端口号、登录账号及密码等:

利用usb摄像头建立家庭监控系统-2

在”Plugin settings – UVC input“设置项里,勾选”Enable YUYV format“,最后点”Save & Apply“保存并使设置生效:

利用usb摄像头建立家庭监控系统-3

3、验证:因为我们上面设置的是HTTP输出,因此在PC浏览器地址栏输入:http://192.168.1.1:8080 即可看到实时视频画面了。我们也可以通过设置DDNS和端口转发,在远程电脑上获取实时的监控画面。

如果我们选择File文件输出,建议最好在路由器上再挂载一个大容量的usb移动硬盘。

四、利用NAS实现实时监控及存储功能

1、先确保通过上面的设置 mjpg-streamer 已经可以获得网页实时视频;

2、以群晖Synology NAS为例,打开NAS管理界面,打开Surveillance Station(注:须提前安装),打开“添加摄像机”,点“新增”,选“完整设置”,填上名称,如“usb camera”;品牌处选“用户自定义”;类型选“串流-HTTP”;在路径处填上http://”username:password@192.168.1.1:8080/?action=stream”(填上引号内内容,不含双引号;username、password、端口号8080,都按mjpg-streamer的实际设置值输入即可)。

利用usb摄像头建立家庭监控系统-4

3、再正常点”下一步“,按缺省设置,就可以添加成功了。

通过NAS的Surveillance Station就可以实时看到监控视频,同时利用NAS的存储功能也可以很方便的回看以前的画面。目前唯一的缺点是还无法支持声音,希望后续有那位大神可以将声音功能也一并加上,那样的话,利用usb摄像头建立家庭监控系统就会变得更完美了!

 

在OpenWrt路由器上安装KMS

如何在OpenWrt路由器上安装KMS激活服务器?以便在特定情况下也能激活相应的软件,保证软件的正常使用。

特别申明:本网站只是对某种技术进行讲解,不表明网站支持盗版软件的应用,请购买正版软件,保护知识产权!!!

一、KMS项目

KMS项目源码以C语言编写,支持在不同平台上使用,具体可参考:

1、C语言源码参考:https://github.com/Wind4/vlmcsd/

2、论坛:https://forums.mydigitallife.net/threads/50234 (须注册登入)

二、KMS for OpenWrt项目

KMS在OpenWrt平台上应用,可具体参考如下网站:

1、vlmcsd分项目

源码:https://github.com/cokebar/openwrt-vlmcsd

预编译:https://github.com/cokebar/openwrt-vlmcsd/tree/gh-pages

发布版:https://github.com/cokebar/openwrt-vlmcsd/releases

2、luci-app-vlmcsd分项目

源码:https://github.com/cokebar/luci-app-vlmcsd

发布版:https://github.com/cokebar/luci-app-vlmcsd/releases

三、具体安装及设置

下面我们就以Netgear WNDR3700 V4路由器为例,来讲解下具体安装及设置过程(注:路由器刷的OpenWrt版本号为19.07.3):

1、自编译过程

1)根据路由器的型号及已安装的OpenWrt的版本号,在OpenWrt官网下载相应的SDK包:

openwrt-sdk-19.07.3-ar71xx-nand_gcc-7.5.0_musl.Linux-x86_64.tar.xz

2)在linux系统下如Ubuntu等,先解压下载的SDK包

tar xf openwrt-sdk-19.07.3-ar71xx-nand_gcc-7.5.0_musl.Linux-x86_64.tar.xz

然后进入相应目录

cd openwrt-sdk-19.07.3-ar71xx-nand_gcc-7.5.0_musl.Linux-x86_64

然后将从vlmcsd分项目中的最新源码及luci-app-vlmcsd分项目中的最新源码拷贝到package子目录下:

package/openwrt-vlmcsd-master
package/luci-app-vlmcsd-master

3)执行编译

make package/openwrt-vlmcsd-master/compile V=s (中间会进入config的设置画面,点exit,点yes保存缺省设置即可)
make package/luci-app-vlmcsd-master/compile V=s

然后在 bin/packages/mips_24kc/base 目录下就可以发现已编译好的两个文件:

vlmcsd_svn1113-1_mips_24kc.ipk
luci-app-vlmcsd_1.0.2-1_all.ipk

2、安装(PC通过WinSCP连路由器)

将上面编译好的两个文件拷贝到 /tmp 目录下,然后运行

opkg update
opkg install /tmp/vlmcsd_svn1113-1_mips_24kc.ipk /tmp/luci-app-vlmcsd_1.0.2-1_all.ipk

3、设置

进入Luci界面,点“Services – vlmcsd”进入,勾选“Enable”和“Auto activate”,然后点“Save & Apply”保存并应用。

在OpenWrt路由器上安装KMS

4、验证

PC接路由器网络,进入dos命令行界面(选“运行”,输入“cmd”,点“return”),然后输入

nslookup -type=srv _vlmcs._tcp.lan

如果能正常获取路由器LAN的IP地址,则表明KMS激活服务器安装成功。

5、激活方式及激活码

1)按以上方式设置后,接上电脑即可自动激活Windows和Office;

2)其它激活方式及激活码可参考如下网址:

https://github.com/Wind4/vlmcsd/tree/gh-pages

6、注意事项

KMS激活方式仅限于相关软件的VOL、VL、business edition版本,并不适用于其它版本(如:Consumer Edition等)。

这次我们讲解的在OpenWrt路由器上安装KMS的内容,相比较我们以前讲解的其它应用要略微复杂一些,因为它要涉及到应用自编译的环节。关于自编译的说明后面我们会详细展开,这次我们只是简单的涉及。本次讲解中涉及的自编译的两个文件,我会放在下载中心(百度网盘提取码:lyzj),方便大家直接下载使用,可以跳过自编译环节。

惠普M1005实现网络共享打印及扫描

家里有1台惠普的打印、复印、扫描一体机HP Laserjet M1005 MFP,想挂在路由器上,实现网络共享打印及扫描,但这款机子只有usb口,没有网络接口,要如何实现呢?其实,只要我们有一台刷了OpenWrt系统又带usb接口的路由器(例如我们前面讲过的TL-WR720N、TL-WDR4310等等),实现起来就非常简单了。下面我们就来详细讲解一下惠普M1005实现网络共享打印及扫描的整个过程。

一、网络共享打印功能的实现

(一)路由器端设置

1、先在OpenWrt路由器上安装必要的支撑程序:

opkg update

opkg install kmod-usb-printer p910nd luci-app-p910nd

2、将打印机接入路由器usb口,开启电源;然后电脑连接路由器,用如下命令确认打印机安装是否成功:

ls /dev/usb/lp*

# 显示示例如下

/dev/usb/lp0

若有显示类似 “/dev/usb/lp0“,则表示安装成功。

惠普M1005实现网络共享打印及扫描-1

3、打开路由器中p910nd服务器的Luci设置页面:

1)选择启用p910nd服务,即”enable”选项打勾;

2)不要选择双向模式,即将双向模式”Bidirectional mode”后面的勾去掉(注:M1005必须去掉,其它机型自己测试)。

惠普M1005实现网络共享打印及扫描-2

4、防火墙打开9100端口(注:高版本OpenWrt系统,可以省略这一步,系统在安装p910nd服务时会自动允许9100端口数据通行)。

5、重启路由器(注:M1005必须重启路由器,只重启p910nd服务没用)。

(二)电脑端设置(以win10系统为例)

1、打开“添加打印机和扫描仪”,然后点选“我需要的打印机不在列表中”;

2、选中“使用TCP/IP地址或主机名添加打印机”,点“下一步”;

3、输入ip地址:例如192.168.1.1;输入端口名称:随便自定义;点“下一步”;

4、选中“自定义”,点“设置”进入设置页面,在设置页面输入正确的IP地址及端口号等,点“OK”回原页面;再点“下一步”;

5、然后选择正确的打印机驱动程序(注:可以事先安装后,因为hp一般只提供exe安装文件),系统会自动提示用现有的驱动程序;

6、设置完成之前,可以点一下“打印测试页”,以测试所有设置是否正确。

二、网络共享扫描功能的实现

(一)路由器侧设置

1、在OpenWrt上安装必要的支撑程序:

opkg update

opkg install sane-daemon sane-frontends sane-hpljm1005 xinetd

sane-hpljm1005是HP Laserjet M1005 MFP的扫描驱动程序,若是其它机型,则需要自己查询如下网站进行确认。

http://www.sane-project.org/sane-backends.html#SCANNERS

2、运行一下以下命令确认扫描仪是否正确安装:

scanimage -L

# 显示示例如下

device `hpljm1005:libusb:001:002' is a Hewlett-Packard LaserJet M1005 multi-function peripheral

显示类似 “device `hpljm1005:libusb:001:002′ is a Hewlett-Packard LaserJet M1005 multi-function peripheral” 即OK。

3、开启监控,修改 /etc/xinetd.d/sane-port的内容,将最后的 disable = yes 改成 disable = no

vim /etc/xinetd.d/sane-port

# default: off
# description: The saned provides scanner service via the network.  
#       Applications like kooka, xsane or xscanimage can use the remote 
#       scanner.
service sane-port
{
        socket_type = stream
        port        = 6566
        wait        = no
        user        = root
        group       = root
        server      = /usr/sbin/saned
        disable     = no
}

4、添加内网使用扫描仪支持,在 /etc/sane.d/saned.conf 中添加,例如:192.168.1.0/24

vim /etc/sane.d/saned.conf

# saned.conf
# Configuration for the saned daemon

## Daemon options
# Port range for the data connection. Choose a range inside [1024 - 65535].
# Avoid specifying too large a range, for performance reasons.
#
# ONLY use this if your saned server is sitting behind a firewall. If your
# firewall is a Linux machine, we strongly recommend using the
# Netfilter nf_conntrack_sane connection tracking module instead.
#
# data_portrange = 10000 - 10100


## Access list
# A list of host names, IP addresses or IP subnets (CIDR notation) that
# are permitted to use local SANE devices. IPv6 addresses must be enclosed
# in brackets, and should always be specified in their compressed form.
#
# The hostname matching is not case-sensitive.

#scan-client.somedomain.firm
#192.168.0.1
#192.168.0.1/29
#[2001:db8:185e::42:12]
#[2001:db8:185e::42:12]/64

192.168.1.0/24

# NOTE: /etc/inetd.conf (or /etc/xinetd.conf) and
# /etc/services must also be properly configured to start
# the saned daemon as documented in saned(8), services(4)
# and inetd.conf(4) (or xinetd.conf(5)).

5、防火墙打开6566端口(注:高版本OpenWrt系统不需要)

6、重启路由器

(二)电脑侧设置(以win10下安装为例)

1、先下载wiasane:http://github.com/mback2k/wiasane,然后安装,按提示输入相关内容即可;

2、利用“windows附件”中的“windows 传真和扫描”就可进行网络共享扫描了。

这次我们讲解了惠普M1005实现网络共享打印及扫描的设置方法,这是一项非常实用的应用,特别是家里有多台电脑的时候,实现共享以后每台电脑都好像连接了一个打印机和扫描仪,可以省去很多不必要的麻烦。如果你家里有类似老式的打印机或扫描仪,建议可以用类似的方法去试试实现网络共享的乐趣。

路由器wan口pppoe拨号模式下如何进入光猫设置界面?

路由器wan口pppoe拨号模式下如何进入光猫设置界面?路由器采用pppoe拨号模式获取IP地址时,光猫端也将由路由模式变更为桥接模式(pppoe协议),这时连接路由器lan端的电脑,在其浏览器地址栏输入192.168.1.1,就无法像路由模式(DHCP Client)时那样进入原光猫设置界面了。

但如果你连接的路由器是刷了OpenWrt系统的,那通过简单设置就可以解决这个问题。

1、在OpenWrt路由器的Luci界面,点”Network – Interfaces”,在设置页中添加一个新wan口,例如:wan1

2、设置协议采用静态地址(static address),IP地址就设置成:192.168.1.2;网关及dns都设置成192.168.1.1;防火墙设置成与wan口一样

路由器wan口pppoe拨号模式下如何进入光猫设置界面?-1

设置完成后,电脑连接路由器任一lan口,在浏览器地址栏输入192.168.1.1就可以进入光猫设置页面了。

路由器wan口pppoe拨号模式下如何进入光猫设置界面?-2

特别建议:

因为很多路由器的缺省lan口IP地址都是192.168.1.1,为避免导致无法连接、无法识别的问题,建议将光猫的IP地址改一下,例如:将192.168.1.1改为192.168.88.1,具体方法可参见IPTV单线复用一文。

光猫超级账号及密码

当我们按光猫上标注的普通账号及密码登录后,设置页面里允许我们对光猫进行修改的权限是非常有限的,所以如果我们需要对光猫进行某些特殊要求的设定时,就必须先想办法获取光猫超级账号及密码,再以超级账户及密码的方式登录。

不同的光猫其获取超级账户及密码的方法有可能是完全不一样,我们今天只讲解HG6201T这款光猫超级账号及密码的获取方法:

电脑与光猫连接,先确认通过电脑能访问光猫的设置页,例如:在浏览器地址栏输入:192.168.1.1,会提示你输入账号及密码。

光猫超级账号及密码-1

然后在浏览器地址输入:http://192.168.1.1:8080/cgi-bin/baseinfoSet.cgi

在浏览器返回的页面里你就会发现很多信息,其中就包含下面两行:

光猫超级账号及密码-2

第一行显示的就是超级账户:telecomadmin

第二行包含了超级密码,但是要做个转换,从120&到114&对应的就是telecomadmin;

后面的部分54&对应的就是6,55&对应7,以此类推。也可以到 https://www.mokuge.com/tool/asciito16/ 网站进行十进制ASCII码与字符串之间的转换。

最终我们得到的超级密码就是:telecomadminXXXXXXXX

 

IPTV单线复用

在现实生活中,其实需要设置IPTV单线复用的情形已很少发生,因为目前家庭网络中已几乎不存在单口光猫、单口路由器、墙面单网线布置的情况,但作为技术分享的一部分,本文还是对其做一些简要说明。

我们就以墙面单网线布置的情况为例,光猫是多口的(Internet和ITV传输口是分开的),路由器也是有一个WAN口、多个LAN口的那种,因为光猫与路由器连接之间的墙面只布置了一条网络,所以我们只能采用单线复用的方式来进行Internet和ITV信号的正常传输。

1、光猫内部配置情况分析

我们需要先进入光猫端的设置页面,PC网口直接连接光猫的千兆口,然后在浏览器地址输入:192.168.1.1,再输入账号及密码(一般光猫背面都有标注)就进入简易配置页面。为避免与路由器LAN处于同一IP网段(缺省一般采用192.168.1.X)信号冲突,建议先将光猫配置服务器端IP网段从192.168.1.X改为其它的。当然我们也可以选择修改路由器LAN口的IP网段,但最好还是修改光猫端的,特别是涉及到多级路由的情况下,修改光猫端一劳永逸、最方便。

IPTV单线复用-1

进入“高级设置”页面,再点选“局域网设置”,将局域网IP从192.168.1.1修改为其它的,上图中我是修改为:192.168.88.1,这样不容易与路由器设置相冲突。

接下来我们要配置千兆口既传输Internet信号也传输ITV信号,相互分工明确且互不干扰。这时我们需要用到光猫的超级账号及密码,因为接下来要设置的项目以普通账户登录是没法操作的。关于如何才能够获取光猫的超级账号及密码,请参考光猫超级账号及密码一文。

PC浏览器地址栏输入:192.168.88.1,然后输入超级账号及密码,就进入光猫的详细配置页面了。例如:刚才我们配置的IP网段,就可以在“网络-用户侧管理“页面发现。IPTV单线复用-2

还有Internet及ITV的接口配置情况:

IPTV单线复用-3

Internet信号采用“VLAN ID”是41,绑定了”网口1“,即千兆口。

IPTV单线复用-4

ITV信号采用“VLAN ID”是43,绑定了ITV口及“网口3”、“网口4”,即两个百兆口。

单线复用时,我们希望Internet及ITV都通过网口1即千兆口传输,再通过设定VLAN绑定,在路由段端将接收的信号分离。同时为了让路由器端完全还原光猫的接口功能,我们将路由器的LAN1设为Internet信号输出,LAN2、LAN3、LAN4设为ITV信号输出。

IPTV单线复用-5

2、光猫端设置

因为VLAN绑定的优先级高于LAN端口绑定,因此我们只需要设定VLAN绑定,而不需要去修改光猫内部别的配置:

IPTV单线复用-6

光猫超级账号的设置页面:点“网络-宽带设置-VLAN绑定”,点“添加”按钮,在新增的“用户侧端口”栏勾选”网口1“,”用户侧VLAN“栏输入:41(与”绑定WAN连接名称“栏的VID_41对应),点:保存”。同理,再添加用户侧43对应光猫侧VID_43:

IPTV单线复用-7

光猫端的设置就全部完成了。

3、路由器端设置

TL-WDR4310路由器为例,它刚好有一个WAN口,4个LAN口,可以满足我们完全还原光猫接口功能的要求。

1)先设置交换机Switch

IPTV单线复用-8

eth0.1对应LAN,就关联了LAN1;eth0.41对应WAN,建立internet口;eth0.43对应通过WAN连接LAN2、LAN3、LAN4,用来建立iptv口。

2)新增internet及iptv口

删除原wan及wan6口;

新增internet口:协议PPPoe(注:跟自己所用的宽带上网协议一致,桥接模式就选PPPoe,路由模式就选DHCP Client),eth0.41,防火墙挂wan区域;

新增iptv口:协议DHCP Client,eth0.43,防火墙可以另行创建,也可挂wan区域。

IPTV单线复用-9

LAN1接电脑,上网测试正常;LAN2、LAN3、LAN4任一口接IPTV机顶盒测试,都正常。

若想拓宽IPTV使用范围,可参考利用OpenWrt系统拓宽IPTV使用范围一文进行更进一步设置。

实现IPTV组播信号播放的特殊拓扑结构

这次我们要讲解实现IPTV组播信号播放的特殊拓扑结构,不同于《利用OpenWrt系统拓宽IPTV使用范围》一文中虚拟WAN口的配置方法,这些拓扑结构要显得更加简单些,但也有一个缺点:就是只支持组播地址的播放,不支持单播地址的播放,不过将组播地址通过udpxy代理出来的单播地址还是支持的。

首先我们还是来看一下常规的IPTV接线图:

实现IPTV组播信号播放的特殊拓扑结构-1

>>  一旦我们通过抓包、对数据包分析获得组播地址,最简单的方法就是抛开IPTV机顶盒,让PC电脑网线直接与ITV口(三选一),在PC播放器例如Potplayer上输入组播地址,或者双击m3u格式组播列表文件由Potplayer打开,就可以观看IPTV直播节目了。

实现IPTV组播信号播放的特殊拓扑结构-2

>>  但是按上图连接PC无法连接Internet,因此我们还是加上OpenWrt路由器,让WAN口连接光猫千兆口连接Internet,让LAN口连接ITV。但是不同于上次将其中的一个LAN口设置成VWAN口,然后通过DHCP鉴权的方式获取ITV信号,这次连接ITV的LAN口不做改变,还是继续保持与其它LAN口一样的桥接模式,即保持LAN口功能不变。

实现IPTV组播信号播放的特殊拓扑结构-3

按上图连接后,PC端播放器打开组播地址并不能正常播放,这时我们需要开启LAN口的IGMP snooping功能:

实现IPTV组播信号播放的特殊拓扑结构-4

勾选“Enable IGMP snooping”,保存并应用后使之生效,再用PC的Potplayer播放器测试一下(以CCTV1HD为例,rtp://233.50.201.118:5140):

实现IPTV组播信号播放的特殊拓扑结构-5

若需支持无线播放,仍需增加udpxy代理服务,将组播地址变更为单播地址;支持个别播放器播放直播地址列表文件(m3u),安装DLNA服务(xupnpd);支持远程播放,设置DDNS和端口转发,具体可参考《利用OpenWrt系统拓宽IPTV使用范围》一文,这里不再展开。

>>  若对Internet连接没有要求,还有一种较简单的拓扑结构也可以实现有线及无线对组播信号播放的要求:

实现IPTV组播信号播放的特殊拓扑结构-6

按上图连接以后,我们需要通过设置让组播信号能够在LAN口与WAN口之间自由传输:安装igmpproxy服务,并对/etc/config/igmpproxy文件进行相应的设置,有线连接就可以正常播放组播地址了。其它像无线及远程支持,只要按以前讲解的方法设置OK,播放就没有问题,这里不再累述。