2014年12月

openWRT网络设置教程-wifidog设置

在发现品胜云座能够运行 openWRT 之后,我便开始走上了折腾之旅。感谢网友所提供的 openWRT 固件,已经集成好了 LuCI 用户界面。不过系统默认设置是 AP 模式,并不适合日常使用。下面把常用的 openWRT 网络设置方法记录下来,以备日后查询,也希望能够帮到有需要的人。

路由器模式

路由器模式也就是最常见的无线模式,通过有线连接至外网并发射无线提供局域网络。由于默认只有 LAN 接口,我们需要添加 WAN 接口。
1.jpg

点击下发的“添加新接口”
2.png

为了便于区分,接口名称建议使用 WAN。按照网络接入类型,选择 DHCP(从外网自动获取ip地址),静态ip或者PPPoE拨号即可。其它设置如图,请勿选择“在多个接口上创建桥接”,最后点击提交。
3.png

提交后选择刚刚创建的 WAN 接口,点击“防火墙设置”,选择 WAN 并保存即可。
4.png

这时需要再次回到 LAN 接口,点击编辑。
5.jpg

选择“物理设置”,确保“桥接接口”为选中,接口中不选中“以太网适配器”。确认后保存并应用,至此所有配置完成,连接网线即可使用。

无线桥接模式

无线中继模式使用无线网络接入互联网,并生成一个新的 SSID。无线桥接模式无需更改有线连接接口设置。
6.png

打开无线接口设置,点击搜索。
7.png

在搜索结果中选择需要加入的无线网络,点击“加入网络”。
8.png

在自动弹出的设置页面中,填写上级无线密码。新网络的名称使用默认 wwan 即可。防火墙区域选择 wan,在这里请勿选择“重置无线配置”。在保存并应用后就完成了所有设置。

无线AP模式

无线AP模式多应用于公共场所,所有无线设备将被桥接至以太网接口,由上级网关负责 DHCP。在设置完成后 AP 所在路由器将无法访问。
9.png

首先打开 LAN 接口或者 WAN 接口,选择“物理设置”,确保“桥接接口”为选中。在下方接口选中“以太网适配器”以及“无线网络”,保存并应用即可。

至于无线加密设置以及 DHCP 设置较为简单,自行在“网络”分类下查找即可。如果配置错误无法打开路由器管理界面,只需在开机后长按 reset 即可恢复到默认状态。

本文章由 http://www.wifidog.pro/2014/12/31/openwrt-wifidog%E8%AE%BE%E7%BD%AE.html 整理编辑,转载请注明出处

wifidog在Openwrt安装PPPOE-Server服务

Step1.安装rp-pppoe-server

opkg update 
opkg install rp-pppoe-server

Step2.配置/etc/ppp/pppoe-server-options

vi /etc/ppp/pppoe-server-options

--------------------------------------------------------------
# PPP options for the PPPoE server
# LIC: GPL
require-pap
#login
auth
mru 1480
mtu 1480
lcp-echo-interval 10
lcp-echo-failure 2
--------------------------------------------------------------

Step3.配置/etc/ppp/pap-secrets
这个文件配置验证时的帐号密码的。

vi /etc/ppp/chap-secrets
--------------------------------------------------------------
#USERNAME PROVIDER PASSWORD IPADDRESS
pppoe *    pppoe *
test     *   test      10.0.1.2
--------------------------------------------------------------

Step4.设置开机自启动

vi /etc/init.d/pppoe-server
--------------------------------------------------------------
#!/bin/sh /etc/rc.common
# Copyright (C) 2006 OpenWrt.org
START=50
DEFAULT=/etc/default/pppoe-server
start() {
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s 10.0.1.0/24 -j MASQUERADE 
/usr/sbin/pppoe-server -k -T 60 -I br-lan -N 100 -L 10.0.1.1 -R 10.0.1.2
}
stop() {
killall pppoe-server
}
--------------------------------------------------------------

Step5.运行pppoe-server

chmod +x /etc/init.d/pppoe-server 
/etc/init.d/pppoe-server enable
/etc/init.d/pppoe-server start

Step6.拨号
所有配置已经完成,接下来就可以拨号了。

Openwrt安装PPPOE-Server服务

pppoe-server参数
-L: 指定PPPOE服务器的IP地址
-R: 指定PPPOE拨入服务器分配给客户端的IP地址段
-N: 允许客户端同时拨入的数量(默认是64 最大是65534)
-k: 使用内核方式(不过好象无法使用)

root@OpenWrt:/etc# pppoe-server -help
Usage: pppoe-server [options]
Options:
   -I if_name     -- Specify interface (default eth0.)
   -T timeout     -- Specify inactivity timeout in seconds.
   -C name        -- Set access concentrator name.
   -m MSS         -- Clamp incoming and outgoing MSS options.
   -L ip          -- Set local IP address.
   -l             -- Increment local IP address for each session.
   -R ip          -- Set start address of remote IP pool.
   -S name        -- Advertise specified service-name.
   -O fname       -- Use PPPD options from specified file
                     (default /etc/ppp/pppoe-server-options).
   -p fname       -- Optain IP address pool from specified file.
   -N num         -- Allow 'num' concurrent sessions.
   -o offset      -- Assign session numbers starting at offset+1.
   -f disc:sess   -- Set Ethernet frame types (hex).
   -s             -- Use synchronous PPP mode.
   -k             -- Use kernel-mode PPPoE.
   -u             -- Pass 'unit' option to pppd.
   -r             -- Randomize session numbers.
   -d             -- Debug session creation.
   -x n           -- Limit to 'n' sessions/MAC address.
   -P             -- Check pool file for correctness and exit.
   -h             -- Print usage information.
PPPoE-Server Version 3.10, Copyright (C) 2001-2006 Roaring Penguin Software Inc.
PPPoE-Server comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to redistribute it
under the terms of the GNU General Public License, version 2
or (at your option) any later version.

本文章由 http://www.wifidog.pro/2014/12/31/wifidog-openwrt-pppoe-server.html 整理编辑,转载请注明出处

wifidog 编译

本教程的编译环境:win7 专业版+VMwareWorkstation6.5虚拟机+Ylmf OS 3.0
编译的过程中要保持电脑联网
搭建编译环境
应用程序--附件--终端
sudo apt-get update (更新)
安装编译需要的组件:
sudo apt-get install gcc
sudo apt-get install g++
sudo apt-get install binutils
sudo apt-get install patch
sudo apt-get install bzip2
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
sudo apt-get install autoconf
sudo apt-get install gettext
sudo apt-get install texinfo
sudo apt-get install unzip
sudo apt-get install sharutils
sudo apt-get install subversion
sudo apt-get install libncurses5-dev
sudo apt-get install ncurses-term
sudo apt-get install zlib1g-dev
sudo apt-get install gawk
sudo apt-get install asciidoc
sudo apt-get install libz-dev
编译环境搭建完成
mkdir openwrt 创建一个openwrt文件夹
cd openwrt 进入openwrt文件夹
svn co svn://svn.openwrt.org/openwrt/branches/backfire 下载官网的源码
./scripts/feeds update -a 更新软件包
./scripts/feeds install -a 安装软件包
make menuconfig 进入定制界面(里面可以选择芯片的型号,集成的组件等等,根据实际情况选择)
defconfig
make V=99 (开始编译)
剩下的就是等待了,第一次编译需要的时间相对比较长,这个跟你的电脑配置和网速有关。

下面以编译TP-LINK 741N的openwrt固件为例,只编译基本的功能:

make menuconfig
Target System---AR71xx/AR7240/AR913x/AR934x CPU型号
Target Profile---TP-LINK 741
LuCI—>Collections—– <> luci 添加Luci
LuCI—>Translations—- <
> luci-i18n-chinese 添加中文
EXT----YES
make V=99 开始编译
成功后在bin文件夹里有编译好的固件。

本文章由 http://www.wifidog.pro/2014/12/31/openwrt%E7%BC%96%E8%AF%91wifidog.html 整理编辑,转载请注明出处

wifidog 关于openwrt添加内核模块

这里内核模块分两中,一种是模块代码本身就在kernel.org官方内核中的,另一种是外加模块如额外驱动的需求。(在这里吐槽一下openwrt把内核本身的模块也搞的这么麻烦,还需要在另外的文件中加配置,不然就算内核本身选上并编译成了.ko但就是不给你install到根文件系统,对于习惯直接以内核config文件为准的来说着实别扭)。

内核自身模块

以最近添加nfs client nfsv3功能为例,需要在package/kernel/linux/moudles目录下找到相应类别的文件,nfsv3属于fs.mk,在此文件中的nfs配置段下仿照nfs添加配置,如下:

define KernelPackage/fs-nfsv3
SUBMENU:=$(FS_MENU)
TITLE:=NFS client v3 filesystem support
DEPENDS:=+kmod-fs-nfs
KCONFIG:= \
CONFIG_NFS_V3
FILES:= \
$(LINUX_DIR)/fs/nfs/nfsv3.ko
AUTOLOAD:=$(call AutoLoad,50,nfsv3)
endef

define KernelPackage/fs-nfsv3/description
Kernel module for NFS client v3 support
endef

$(eval $(call KernelPackage,fs-nfsv3))

AutoLoad、KernelPackage函数可以看include目录下kernel.mk定义,都是负责install还有生成etc/moules.d的配置文件

额外内核模块

这部分需要添加在较上层的目录,和package/kernel/linux同级目录package/kernel/下。在此每个模块都有单独的目录,根据需要在其中添加src目录,Makefile、.c源文件、Kconfig等。具体内容请参考已有模块目录,以此为模版修改就行了。

本文章由 http://www.wifidog.pro/2014/12/31/wifidog-openwrt%E5%86%85%E6%A0%B8%E6%A8%A1%E5%9D%97.html 整理编辑,转载请注明出处