美文网首页
构建简易家用路由器

构建简易家用路由器

作者: 狂奔辣椒 | 来源:发表于2017-07-03 09:36 被阅读0次

构建简易家用路由器

构建环境:

系统:Ubuntu 14.04

网卡:两张有线网卡,TL-WN821N

路由器硬件结构:

如图:   

上图所示,我们常用的家用路由器由三部分组成,包括左下角的交换芯片组,右下角的WIFI芯片和上方的CPU。一般路由器会有5个接口,这5个接口最终会通过交换芯片汇聚成一路触发CPU中断。由于交换芯片是可编程的,可以将WAN口单独划入一个VLAN,这样可以将WAN和LAN区分开。而WIFI芯片则通过br0与LAN桥接在一起。

我们准备两张有线网卡和一张无线网卡。我们可以用一张有线网卡模拟图中的WAN口,一张网卡模拟lan口,TL-WN821模拟WIFI芯片。

设置无线接口为AP模式:

1、安装hostapd  apt-get install hostapd

2、nmcli nm wifi off  #改变NetworkManager里的状态,关闭wifi,同时软锁定

3、rfkill unblock wlan #启用wifi设备,不同于网络状态中的启用wifi(后者改变NetworkManager里的状态)

完成上面3步后,ifconfig 查看无线接口假设为wlan1

桥接LAN和无线接口:

1、下载brctl源码包:http://www.linuxfromscratch.org/blfs/view/svn/basicnet/bridge-utils.html

autoconf

./configure

make

make install

2、新建桥接口brctl braddr br0 ; ifconfig br0 up

3、桥接无线接口到br0,并激活无线配置,添加配置无线配置文件/etc/hostapd/wpa2.conf,内容如下

interface=wlan1//接口名字

bridge=br0

driver=nl80211

ssid=my_router_test//ssid

hw_mode=g //模式

channel=11 //频道

wpa=2

wpa_passphrase=12345678//密码

wpa_key_mgmt=WPA-PSK

wpa_pairwise=CCMP

启动无线配置

hostapd -B /etc/hostapd/wpa2.conf

4、查看桥接口brctl show 发现wan1 已经在br0下面了。

5、假如如还用其他有线网卡,如eth1,可以通过brctl addif br0 eth1 将eth1加入br0桥

路由器软件结构

如图上图所示,web server一般用于用户页面配置参数使用,web server通过CGI调用flash set命令工具将参数保存到flash,随后CGI启动初始化脚本,脚本将所需参数通过flash get读取出来,并用读取的参数重启各个应用。

配置DHCP服务器(用于给连接路由器的设备分配IP)

这里用的是isc-dhcp-server,你也可以使用其它的dhcp服务器程序

1、安装isc-dhcp-server,sudo apt-get install isc-dhcp-server

2、修改dhcp server所绑定的接口,修改/etc/default/isc-dhcp-server文件的”INTERFACES”字段改为br0。

3、修改/etc/dhcp/dhcpd.conf文件,修改分配的DNS地址option domain-name-servers后面改为8.8.8.8, 114.114.114.114

配置DHCP地址池,在文件尾部添加

subnet 192.168.1.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.1.2 192.168.1.100;

option broadcast-address 192.168.1.255;

option routers 192.168.1.1;

}

4、重启接口ifconfigbr0 192.168.1.1 netmask 255.255.255.0 up

5、重启DHCP服务器/etc/init.d/isc-dhcp-server restart

IPtables


Iptables主要作用是用于拦截,修改,标记数据包。

iptables默认有5 条链,他们对应处理数据包的5个挂在点。5个挂载点的位置如图所示:

PREROUTING:数据包进入路由表之前

INPUT:通过路由表后目的地为本机

FORWARD:通过路由表后,目的地不为本机

OUTPUT:由本机产生,向外转发

POSTROUTIONG:发送到网卡接口之前

iptables另外还有3个做特定处理的表。

mangle 表用于标记数据包

nat用于转换地址

filter用户过滤数据包

Iptables链与表的关系如图:


如上图所示PREROUTING和POSTROUTING是不能进行过滤操作的,且各个表在链中的处理顺序是mangle > nat > filter

NAT:

为了成功的与公网进行通信,我们需要把我们的私有地址转换成我们唯一的公网地址才行。

1、开启LINUX的路由转发功能 sudo sysctl -w net.ipv4.ip_forward=1

2、iptables -F  清理iptable所有表的所有规则

iptables -t nat -F 指定清理iptable nat表的所有规则

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE //将路由后从eth0接口出去的包,进行源IP地址伪装,伪装成该接口的IP地址。

最后将命令整理成init.sh shell脚本,设置成开机自启动就完成了。

相关文章

  • 构建简易家用路由器

    构建简易家用路由器 构建环境: 系统:Ubuntu 14.04 网卡:两张有线网卡,TL-WN821N 路由器硬件...

  • 关于RE三四地址总结

    家用路由器大家都很熟悉(我们暂将家用路由器成为AP),但是也有小伙伴遇到了家里放置一个路由器时有房间信号不好的情况...

  • 金福利多A1、A2连接教程

    一台家用级普通WIFI路由器可连接5-10个JMT智能设备,如想连接更多JMT智能设备可增加家用路由器数量。一台高...

  • 一台家用级普通WIFI路由器可连接5-10个JMT智能设备,如想连接更多JMT智能设备可增加家用路由器数量。一台高...

  • 一台家用级普通WIFI路由器可连接5-10个JMT智能设备,如想连接更多JMT智能设备可增加家用路由器数量。一台高...

  • 智能家用路由器配置及使用——小米路由器3

    路由器,人人都不会陌生,在wifi必不可缺的时代,几乎人人家里都有路由器,从早先的普通家用路由器,50M、100M...

  • 2台路由器调为同一个网段

    设备:企业级路由器1家用路由器2 背景:由于采购新机子,需要增加lan端口。考虑增加一个路由器,来解决问题 (ip...

  • 如何设置家用路由器和隐藏WIFI?

    有很多路由器小白拿到了路由器,不知道如何设置自己的家用路由器,还有一些小白觉得自己的WiFi经常被蹭网,导致上网速...

  • 路由器硬件架构与结构

    路由器典型硬件架构 路由器的简易硬件架构如下图所示,其中最重要的有三个部分:MPU、LPU、SFU。 1.MPU:...

  • 天翼区块链路由器-新一代家庭智能终端产品

    当我们提到路由器时,更多时候路由器是一个让大多数遗忘在角落的家用电器产品,因为传统路由器是以一种工业产品的思路开发...

网友评论

      本文标题:构建简易家用路由器

      本文链接:https://www.haomeiwen.com/subject/dteicxtx.html