嵌入式Linux系统路由基本配置是什么?
OpenWRT是一个嵌入式Linux系统,想要了解嵌入式Linux系统的朋友有福了,今天小编要给大家介绍下OpenWRT路由的基本配置,一起来学习下吧。
chnroutes 路由表
这个路由表集中了所有分配到中国大陆的 IP 段,根据 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 每天自动更新,可使得在访问国内地址时不经过 VPN。
想想如果能够让家里的路由直接连接 VPN,在家连接 WiFi 的所有设备直接达到Fan墙的效果,应该很 Cool,所以最近在某宝整了一个 Netgear WNDR3800 二手路由回来,先后分别在 DD-WRT 和 OpenWRT 成功配置 VPN + chnroutes,最后还是选择了 OpenWRT。
DD-WRT vs OpenWRT
关于 DD-WRT 和 OpenWRT,我选择 OpenWRT 主要因为 DD-WRT ROM 中集成的软件太多,绝大多数用不到,要配置 jffs2 来保存脚本文件,一般配置则保存在nvram中,而且无线较不稳定,5G频段常搜索不到(当然可能是我这个路由器型号的支持问题)。OpenWRT 的配置文件语法统一,配置都存储在文件系统中,且 ROM 本身仅集成了必备组件,非常小,可以只安装需要的东西,WEB管理界面也是可选安装,简洁强大,经过若干天的使用一直比较稳定。
配置
已配置好 OpenWRT 上网的童鞋们可以直接跳过 1.刷 ROM 和 2.初始配置
1.刷 ROM
a.首先确定你的设备可以被 OpenWRT 所支持(到这里查看支持的设备列表:http://wiki.openwrt.org/toh/start),然后到这里下载编译好的 ROM:http://downloads.openwrt.org/ 。最新的 stable 版本是 attitude_adjustment(12.09),我下载的是 trunk 版本。
b.在 OpenWRT 官网找相应设备的 Wiki 页面查看刷机方法,一般都是在路由器官方Web固件升级页面直接刷入(我的 WNDR3800 Wiki页面是:http://wiki.openwrt.org/toh/netgear/wndr3800)
2.初始配置
a.路由器启动后,有的型号没有安装 Wifi 模块,需要先用网线连接到 LAN 口,本机 IP 配置为静态 192.168.1.x,然后 telnet 到 192.168.1.1,更改 root 密码,然后 ssh 连入,参考:http://wiki.openwrt.org/doc/start#configuring.openwrt
b.配置 WAN 口,让路由连上 Internet,参考:http://wiki.openwrt.org/doc/howto/internet.connection 。
比如要配置 PPPoE:
代码如下:
uci set network.wan.proto=pppoe
uci set network.wan.username=‘yougotthisfromyour@isp.su’
uci set network.wan.password=‘yourpassword’
uci commit network
ifup wan
c.安装 LuCI Web 管理界面并设置开机自动启动,参考:http://wiki.openwrt.org/doc/howto/luci.essentials
代码如下:
opkg update
opkg install luci
/etc/init.d/uhttpd start
/etc/init.d/uhttpd enable
d.浏览器输入路由器 LAN 侧 IP(多为192.168.1.1),进行 Wifi 等配置
3.配置 DNS
a.创建 /etc/config/sec_resolv.conf
vim /etc/config/sec_resolv.conf填入以下 DNS Servers:
代码如下:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 208.67.222.222
b.编辑 /etc/config/dhcp
vim /etc/config/dhcp找到 option resolvfile 选项,替换为:
option resolvfile ‘/etc/config/sec_resolv.conf’
4.配置 PPTP
a.安装 ppp-mod-pptp
代码如下:
opkg update
opkg install ppp-mod-pptp
如果需要 LuCI 支持(推荐):
opkg install luci-proto-ppp
b.配置 vpn 接口,编辑 /etc/config/network 文件,应该已经有以下内容(如果没有,需要插入),并配置里面的 server、username 和 password:
代码如下:
config ‘interface’ ‘vpn’
option ‘ifname’ ‘pptp-vpn’
option ‘proto’ ‘pptp’
option ‘username’ ‘vpnusername’
option ‘password’ ‘vpnpassword’
option ‘server’ ‘vpn.example.org or ipaddress’
option ‘buffering’ ‘1’
c.进入 Network -》 Firewall ,把 vpn 加入 wan zone,
d.进入 Network -》 Interfaces ,此时应该已经可以看到 VPN Interface 并可以连接,
e.此时在本机 traceroute www.google.com,应该能得到类似以下的结果:
代码如下:
FL-MBP:~ fatlyz$ traceroute www.google.com
traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.113
traceroute to www.google.com (74.125.239.113), 64 hops max, 52 byte packets
fc_r0.lan (192.168.7.1) 2.266 ms 0.999 ms 0.946 ms
10.7.0.1 (10.7.0.1) 189.259 ms 187.813 ms 188.368 ms
23.92.24.2 (23.92.24.2) 189.847 ms 190.489 ms 188.939 ms
10ge7-6.core3.fmt2.he.net (65.49.10.217) 188.508 ms 192.216 ms 202.863 ms
10ge10-1.core1.sjc2.he.net (184.105.222.14) 195.695 ms 195.691 ms 284.242 ms
72.14.219.161 (72.14.219.161) 189.196 ms 192.287 ms 193.220 ms
216.239.49.170 (216.239.49.170) 192.496 ms 188.547 ms 189.881 ms
66.249.95.29 (66.249.95.29) 190.125 ms 190.335 ms 190.026 ms
nuq05s01-in-f17.1e100.net (74.125.239.113) 189.804 ms 190.556 ms 190.242 ms
可以看出,其中第二跳是 VPN 的网关,而 traceroute www.baidu.com 的话第二跳应该也是同样的结果。
这时已经可以访问 Google, Baidu 等国内外的站点了。
5.配置 chnroutes
a.到 chnroutes 项目的下载页面:http://chnroutes-dl.appspot.com/ 下载 linux.zip,解压
b.把 ip-pre-up 重命名为 chnroutes.sh,打开编辑,在 if [ ! -e /tmp/vpn_oldgw ]; then 前插入以下代码,以避免 ppp 连接脚本重复执行导致重复添加路由表项:
代码如下:
if [ $OLDGW == ‘x.x.x.x’ ]; then
exit 0
fi
其中 x.x.x.x 是 VPN 的网关,可以先本机连接上去之后查看一下网关地址。
c.ssh 连接到路由器,执行以下命令:
代码如下:
cd /etc/config/
mkdir pptp-vpncd pptp-vpnvim chnroutes.sh
在 vim 中把编辑好的 chnroutes.sh 粘贴进去(当然也可以通过 ssh 直接把 chnroutes.sh 文件传过去,或者上传到某个地方再 wget 下载)
执行以下命令,设置权限为可执行:
chmod a+x chnroutes.sh
d.用 vim 编辑 /lib/netifd/ppp-up 文件:
vim /lib/netifd/ppp-up
在 [ -d /etc/ppp/ip-up.d ] && { 这一行前插入以下内容,确保 ppp 连接脚本能够被执行:
sh /etc/config/pptp-vpn/chnroutes.sh
e.重启路由,启动好之后,进入 LuCI 查看接口状态,等 WAN 和 VPN 都连接成功后,ssh进去,执行 route -n | head -n 10 ,效果应该类似这样:
代码如下:
root@FC_R0:/etc/config# route -n | head -n 10
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.7.0.1 0.0.0.0 UG 0 0 0 pptp-vpn
1.0.1.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan
1.0.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan
1.0.8.0 58.111.43.1 255.255.248.0 UG 0 0 0 pppoe-wan
1.0.32.0 58.111.43.1 255.255.224.0 UG 0 0 0 pppoe-wan
1.1.0.0 58.111.43.1 255.255.255.0 UG 0 0 0 pppoe-wan
1.1.2.0 58.111.43.1 255.255.254.0 UG 0 0 0 pppoe-wan
1.1.4.0 58.111.43.1 255.255.252.0 UG 0 0 0 pppoe-wan
其中 Destination 为 0.0.0.0 的是默认路由,网关为 VPN 网关,意味着默认流量都经过 VPN,而以下的条目则把目的为国内的网段都指向了 ISP 提供的网关。
至此 PPTP VPN 和 chnroutes 已经配置完毕。
6.配置 VPN 断线自动重连
a.创建 /etc/config/pptp-vpn/status-check.sh:
vim /etc/config/pptp-vpn/status-check.sh
在 vim 中粘贴以下内容(此脚本检测 VPN 连接状态,并在断线后会断开 WAN 和 VPN 接口,10秒后重新连接 WAN,并在 30 秒后重连 VPN):
代码如下:
#!/bin/sh《/p》 《p》if [ -f “/tmp/vpn_status_check.lock” ]
then
exit 0
fi《/p》 《p》VPN_CONN=`ifconfig | grep pptp-vpn`《/p》 《p》if [ -z “$VPN_CONN” ]
then
touch /tmp/vpn_status_check.lock
echo WAN_VPN_RECONNECT at: 》》 /tmp/vpn_status_check_reconn.log
date 》》 /tmp/vpn_status_check_reconn.log《/p》 《p》 ifdown vpn
ifdown wan
sleep 10
ifup wan
sleep 30
ifdown vpn
sleep 10
ifup vpn
sleep 40
rm /tmp/vpn_status_check.lock《/p》 《p》else
date 》 /tmp/vpn_status_check.log
fi
执行以下命令,设置权限为可执行:
chmod a+x /etc/config/pptp-vpn/status-check.sh
b.进入LuCI 的 System -》 Scheduled Tasks 填入以下内容,并保存:
*/1 * * * * /etc/config/pptp-vpn/status-check.sh
以上实际上是编辑了 cron 配置,cron 每分钟运行检测 / 重连脚本,重启 cron:
/etc/init.d/cron restart
c.静待几分钟,查看 /tmp 目录,应该能看到 vpn_oldgw 和 vpn_status_check.log 文件,查看 vpn_status_check.log 文件,可以看到最近一次检测 VPN 连接状态的时间。
代码如下:
root@FC_R0:/tmp# ls vpn*
vpn_oldgw vpn_status_check.log
root@FC_R0:/tmp# cat vpn_status_check.log
Tue Jul 15 00:04:02 HKT 2014
root@FC_R0:/tmp#
你可以在 LuCI 中断开 VPN 接口,在接下来的4-5分钟,观察 WAN 和 VPN 的重连情况。
d.分别 traceroute www.google.com 和 www.baidu.com ,观察第二跳的地址:
代码如下:
FL-MBP:~ fatlyz$ traceroute www.google.com | head -n 3
traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.115
traceroute to www.google.com (74.125.239.115), 64 hops max, 52 byte packets
fc_r0.lan (192.168.7.1) 2.161 ms 0.912 ms 0.895 ms
10.7.0.1 (10.7.0.1) 193.747 ms 187.789 ms 289.744 ms
23.92.24.2 (23.92.24.2) 259.323 ms 354.625 ms 408.535 ms
代码如下:
FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3
traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets
1 fc_r0.lan (192.168.7.1) 1.190 ms 0.984 ms 0.731 ms
2 58.111.43.1 (58.111.43.1) 20.616 ms 38.822 ms 18.484 ms
3 183.56.35.133 (183.56.35.133) 20.056 ms 52.353 ms 87.841 ms
可以看出,已成功对国内外的目标地址进行了路由选择。
至此,OpenWRT 路由的基本配置、PPTP VPN、chnroutes 和自动重连已经配置完成。
上面就是OpenWRT 路由配置的方法介绍了,如果你要给OpenWRT 配置路由的话,不妨试试本文介绍的方法,希望对你有所帮助。
小白怎么制作制作u盘启动盘?dos启动u盘制作工具操作说明
随着U盘安装系统的流行,如今光盘、软盘已经走向了淘汰的边缘。如今给电脑安装系统,大多会借助启动u盘来完成,而制作启动U盘则成为电脑爱好者朋友的必修课。今天电脑百事网小编针对小白朋友分享多种U盘启动制作方法。
详情2018-01-03 13:38:12责编:xm 来源:驱动管家网页背景要怎么更换?网页背景更换方法是什么?
眼科专家给我们推荐的护眼颜色为豆沙色,就是红:203 绿:233 蓝:207,设置眼睛保护色当然是设置电脑的背景颜色,下面小编就为大家介绍在电脑中设置护眼颜色、更换网页背景色、一键护眼方法,来看看吧
详情2018-01-25 08:56:30责编:xm 来源:驱动管家支付宝花呗账单在哪儿查看?怎么看花呗账单明细?
随着支付宝花呗功能上线,如今很多小伙伴们已经可以在淘宝、天猫中透支消费了。对于一些剁手党来说,如今已经利用花呗额度赊账花费了不少。如果已经买了不少商品,支付宝花呗如何查看账单呢?下面百事网小编教大家详细查看方法。
详情2018-01-17 17:31:30责编:xm 来源:驱动管家U盘启动的必要性是什么?U盘启动盘怎么制作?
网上制作U盘启动盘的方法和工具很多,但成功的很少,笔者试验了两天,终于找到了一种方法,把自己的U盘制作成了多重启动的启动盘
详情2018-01-07 08:28:14责编:xm 来源:驱动管家电脑桌面背景怎么设置?小白怎么设置电脑桌面背景?
相信细心的朋友就会发现,有许多人的电脑桌面都设置了自己认为好看或的背景图片或主题画面,他们是怎么做到的呢!下面小编就为大家介绍如何设置电脑桌面背景 壁纸方法,希望能对大家有所帮助
详情2018-01-25 10:56:17责编:xm 来源:驱动管家京东白条激活不了怎么回事?怎么解决京东白条激活的问题?
京东白条支持目前大多数银行的银行卡信用卡使用,在某些地方可能不支持,不支持就不能绑定的。下面与大家分享下京东白条无法激活的解决方法
详情2018-01-22 13:21:14责编:xm 来源:驱动管家为啥一开机就启动安全模式?开机自动进入安全模式怎么解决?
最直接的原因是自启动当中开启了开机进入安全模式,勾选了SAFEBOOT,将此对勾取消即可正常进入系统,感兴趣的朋友可以了解下哈
详情2018-01-23 09:55:21责编:xm 来源:驱动管家雷柏无线鼠标没反应要怎么解决?雷柏无线鼠标为什么没反应?
随着一体机电脑,笔记本电脑等的流行以及无线鼠标价格持续走低,越来越多朋友选择使用简洁的无线鼠标,然而使用无线鼠标也会出现这样或那样的问题,今天来讲一下关于常见的雷柏无线鼠标无反应的原因及解决办法
详情2018-01-06 18:36:36责编:xm 来源:驱动管家默认网关在哪儿设置?默认网关是什么东西?
网关(Gateway)又称网间连接器、协议转换器
详情2018-01-16 12:21:49责编:xm 来源:驱动管家u盘加密软件有哪些?u盘加密软件哪个好用?
这篇文章主要介绍了电脑U盘加密软件、U盘加密工具排名、U盘加密软件排行那个好用?,需要的朋友可以参考下
详情2018-01-24 16:40:58责编:xm 来源:驱动管家
- 支付宝金账户怎么注册?支付宝金账户开通需要付费吗?
- 思科ios 12.3(18)ftp服务器远程利用
- 雅虎通activex控件的漏洞描述 activex控件是什么?
- 百度地图搜索到线路之后怎么记录呢?百度地图搜索结果怎么发到手机?
- 用方正飞腾排好文件以后怎么转化为PDF格式?
- 新手机电池如何充电?新手机电池充电要注意的事项
- 关于手机首次充电的几个小贴士介绍
- 英特尔CEO科再奇宣布年底将推出新版CPU 强行避开两大漏洞
- 局域网的共享文件夹怎么设置账户和密码?
- 我电脑的c盘无法格式化是什么原因?有什么办法解决
- iphone5解锁方法 这款app可以快速破解iphone5锁屏密码
- 小米note的屏幕分辨率是多少?小米note屏幕相关知识
- 电脑是怎么转换图片格式的?图片格式转换软件有哪些?
- 笔记本的摄像头出错了怎么解决?笔记本摄像头打不开怎么办?
- 三星手机锁屏会有泄露信息的风险?怎么回事?
- serv u提权溢出是什么原因?怎么解决?
- 爱奇艺手机播放器的记录在哪儿删除?爱奇艺手机删除播放记录的方法
- 截图图片文字是怎么变成文档的?如何把截图变成文字?
- iphone无法加入wifi网络其实可以这样处理
- 随身wifi怎么用?华为随身wifi的用法介绍