嵌入式Linux系统OpenWRT路由配置怎么样

嵌入式Linux系统OpenWRT路由配置怎么样,第1张

嵌入式Linux系统OpenWRT路由配置怎么样

OpenWRT是一个嵌入式Linux系统。想了解嵌入式Linux系统的朋友们有福了。下面介绍一下OpenWRT路由的基本配置,一起学习一下。

chnroutes路由表

该路由表集中了分配给中国大陆的所有IP段,并且每天自动更新,这使得无需通过VPN就可以访问国内地址。

想到家里路由可以直接连VPN,家里所有连WiFi的设备都可以直接达到风扇墙的效果,应该很酷吧。所以最近在某宝完成了一个二手网件WNDR3800路由,分别在DD-WRT和OpenWRT成功配置了VPN+chnroutes,最终选择了OpenWRT。

DD-WRTvsOpenWRT

关于DD-WRT和OpenWRT,选择OpenWRT主要是因为DD-WRTROM中集成的软件太多,大部分都用不到。jffs2应该配置为保存脚本文件,一般配置保存在nvram中。而且无线不稳定,5G频段不能经常搜索(当然可能是我路由器型号的支持问题)。OpenWRT的配置文件有统一的语法,配置存储在文件系统中。而且ROM本身只集成了必要的组件,非常小,只能安装需要的。WEB管理界面可选,简单而强大,使用几天后已经稳定。

配置

配置OpenWRT的童鞋可以跳过1。刷ROM和2。直接初始配置。

1.刷只读存储器

A.首先确定设备可以被OpenWRT支持,然后下载编译好的ROM。最新稳定版是attitude_adjustment(12.09),下载的是主干版。

B.在OpenWRT官网找到相应设备的Wiki页面查看刷机方法。一般可以直接在路由器官方web固件升级页面刷。

2.初始配置

A.路由器启动后,部分型号没有安装Wifi模块。你需要先用网线连接到局域网端口。这台机器的IP配置为静态192.168.1.x,然后telnet到192.168.1.1,更改root密码,然后通过ssh连接。

B.配置WAN端口,将路由连接到互联网。

例如,要配置PPPoE:

代码如下:

ucisetnetwork.wan.proto=pppoe

UCIsetnetwork.wan.username=‘yougotthisfromhour@ISP.su’

uci设置network.wan.password=‘您的密码&rsquo

uci提交网络

ifup万

C.安装LuCIWeb管理界面,设置启动后自动启动。

代码如下:

opkg更新

opkg安装luci

/etc/init.d/uhttpdstart

/etc/init.d/uhttpdenable

D.浏览器输入路由器局域网侧的IP(多为192.168.1.1)进行Wifi等配置。

3.配置DNS

A.创建/etc/config/sec_resolv.conf。

Vim/etc/config/sec_resolv.conf填写以下DNS服务器:

代码如下:

8.8.8.8域名服务器

8.8.4.4域名服务器

208.67.222.222域名服务器

B.编辑/etc/config/dhcp

vim/etc/config/dhcp

找到选项resolvfile选项,并将其替换为:

选项解析文件&lsquo/etc/config/sec_resolv.conf’

4.配置PPTP

A.安装ppp-mod-pptp

代码如下:

opkg更新

opkg安装ppp-mod-pptp

如果需要LuCI支持(推荐):

opkg安装luci-proto-ppp

B.配置vpn接口并编辑/etc/config/network文件。应该已经有以下内容(如果没有,需要插入),并在里面配置服务器、用户名和密码:

代码如下:

配置&lsquo界面&rsquo&lsquovpn&rsquo

选项&lsquoifname&rsquo&lsquoPPTP-VPN’

选项&lsquoproto。&lsquopptp&rsquo

选项&lsquo用户名&rsquo&lsquovpnusername&rsquo

选项&lsquo密码&rsquo&lsquovpnpassword&rsquo

选项&lsquo服务器&rsquo&lsquovpn.example.org或IP地址&rsquo

选项&lsquo缓冲&rsquo&lsquo1&rsquo

C.进入网络-》防火墙,将vpn添加到wan区域。效果如图所示:

D.进入网络-》接口”。此时,您应该已经能够看到VPN接口并进行连接。效果如图所示:

E.此时,在本地traceroutewww.google.com中,您应该能够得到类似如下的结果:

代码如下:

佛罗里达州-www.google.comMBP:~fatlyz$traceroute

traceroute:警告:www.google.com有多个地址;使用74.125.239.113

到www.google.com(74.125.239.113)的跟踪路由,最大64跳,52字节数据包

fc_r0.lan(192.168.7.1)2.266毫秒0.999毫秒0.946毫秒

189.259毫秒187.813毫秒188.368毫秒

23.92.24.2(23.92.24.2)

10ge7-6.core3.fmt2.he.net(65.49.10.217)188.508毫秒192.216毫秒202.863毫秒

10ge10-1.core1.sjc2.he.net(184.105.222.14)195.695毫秒195.691毫秒284.242毫秒

72.14.219.161(72.14.219.161)189.196毫秒192.287毫秒193.220毫秒

216.239.49.170(216.239.49.170)192.496毫秒188.547毫秒189.881毫秒

66.249.95.29(66.249.95.29)

nuq05s01-in-f17.1e100.net(74.125.239.113)189.804毫秒190.556毫秒190.242毫秒

可以看出,第二跳是VPN的网关,如果使用Traceroutewww.baidu.com,第二跳应该会有相同的结果。

这时,你已经可以访问国内外的谷歌、百度等网站。

5.配置chnroutes

A.去chnroutes项目的下载页面下载linux.zip并解压。

B.将ip-pre-up重命名为chnroutes.sh,打开编辑,在if[!-e/tmp/VPN_oldGW];然后在前面插入下面的代码,为了避免ppp连接脚本的重复执行,导致路由表条目的重复添加:

代码如下:

if[$oldGW==‘x.x.x.x’];然后

出口0

船方不负担装货费用

X.x.x.x是VPN的网关,本地连接后可以查看网关的地址。

C.ssh连接到路由器并执行以下命令:

代码如下:

cd/etc/config/

mkdirPPTP-VPNCDPPTP-vpnvimCHNroutes.sh

将编辑好的chnroutes.sh粘贴到vim中(当然也可以直接通过ssh传输chnroutes.sh文件,或者上传到某个地方用wget下载)

执行以下命令,将权限设置为可执行:

chmoda+xchnroutes.sh

D.用vim编辑/lib/netifd/ppp-up文件:

vim/lib/netifd/ppp-up

at[-d/etc/PPP/IP-up.d]&;{在此行之前插入以下内容,以确保ppp连接脚本可以执行:

sh/etc/config/PPTP-VPN/CHNroutes.sh

E.重启路线。启动后,进入LuCI检查接口状态。WAN和VPN连接成功后,sshin并执行route-n|head-n10。效果应该是这样的:

代码如下:

root@FC_R0:/etc/config#route-n|head-n10

内核IP路由表

目的网关Genmask标志度量参考使用I接口

0.00.010.70.10.00.0UG0000PPTP-VPN

1.0.1.058.111.43.1

1.0.2.058.111.43.1

58.111.43.1

1.0.32.058.111.43.1

1.1.0.058.111.43.1

1.1.2.058.111.43.1

1.1.4.058.111.43.1

其中0.0.0.0的目的地为默认路由,网关为VPN网关,表示所有的默认流量都流经VPN,而下面的条目指向的是ISP提供的网关国内网段。

至此,PPTPVPN和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》if[-f/tmp/VPN_status_check.lock;]

然后

出口0

fi“/p”《p》VPN_CONN=`ifconfig|grepPPTP-VPN`《p》《p》if[-z$VPN_CONN]

然后

touch/tmp/VPN_status_check.lock

echoWAN_VPN_RECONNECTat:》》/tmp/VPN_status_check_reconn.log

date》》/tmp/VPN_status_check_reconn.log《p》ifdownVPN

ifdown万

睡眠10

ifup万

睡眠30

ifdownvpn

睡眠10

ifupvpn

睡眠40

RM/tmp/VPN_status_check.lock“/p”《p》else

date》/tmp/vpn_status_check.log

船方不负担装货费用

执行以下命令,将权限设置为可执行:

chmoda+x/etc/config/PPTP-VPN/status-check.sh

B.进入LuCI的系统-》预定任务,填写以下内容,保存:

*/1****/etc/config/PPTP-VPN/status-check.sh

上面实际上是在编辑cron配置,cron每分钟都会运行检测/重新连接脚本来重启cron:

/etc/init.d/cron重新启动

C.等待几分钟,检查/tmp目录,您应该能够看到vpn_oldgw和vpn_status_check.log文件。检查vpn_status_check.log文件,可以看到上次检测到vpn连接状态的时间。

代码如下:

root@FC_R0:/tmp#lsvpn*

vpn_oldgwvpn_status_check.log

root@FC_R0:/tmp#catVPN_status_check.log

2014年7月15日星期二00:04:02HKT

root@FC_R0:/tmp#

您可以在LuCI中断开VPN接口,并在接下来的4-5分钟内观察WAN和VPN的重新连接。

D.分别跟踪www.google.com和www.baidu.com,并观察第二跳的地址:

代码如下:

佛罗里达州-www.google.comMBP:~fatlyz$traceroute|head-n3

traceroute:警告:www.google.com有多个地址;使用74.125.239.115

到www.google.com(74.125.239.115)的跟踪路由,最大64跳,52字节数据包

fc_r0.lan(192.168.7.1)2.161毫秒0.912毫秒0.895毫秒

193.747毫秒187.789毫秒289.744毫秒

23.92.24.2(23.92.24.2)259.323毫秒354.625毫秒408.535毫秒

代码如下:

佛罗里达州-www.baidu.comMBP:~fatlyz$traceroute|head-n3

到www.a.shifen.com(180.76.3.151)的跟踪路由,最大64跳,52字节数据包

1fc_r0.lan(192.168.7.1)1.190毫秒0.984毫秒0.731毫秒

58.111.43.1(58.111.43.1)20.616毫秒38.822毫秒18.484毫秒

3183.56.35.133(183.56.35.133)20.056毫秒52.353毫秒87.841毫秒

可以看出,国内外的目的地址都已经路由成功。

至此,OpenWRT路由、PPTPVPN、chnroutes和自动重连的基本配置已经完成。

OpenWRT路由就是这样配置的。如果想为OpenWRT配置路由,不妨试试本文描述的方法。希望对你有帮助。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/837222.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-10
下一篇 2022-05-10

发表评论

登录后才能评论

评论列表(0条)

保存