设为首页 收藏本站
查看: 1599|回复: 0

[经验分享] 在PC搭建OpenWRT软路由

[复制链接]

尚未签到

发表于 2017-11-22 19:58:27 | 显示全部楼层 |阅读模式
  1. 因《智能路由器开发指南》而起,想研究使用下OpenWRT
  2.虚拟机使用的的VirturalBox,VmWare也可以。重点在网络配置上。
  可以在网上搜到虚拟机设置中的:HostOnly,NAT,Bridging三种模式的详细说明,组网。后面有机会我也详细奉上。
  3.下载源码:
  (1)记住,OpenWRT准确的来说应该是一种框架,和构建路由器的工具集合,Linux-Kernel也仅仅是他运行的平台,本质上也是平台工具。所以你下的软件包代码量很少的,都是一堆编译脚本,配置脚本。
  (2)工具代码包要在编译过程中由编译脚本下载,自己可以提前离线下好,前提是编译过相同版本(相同软件编译脚本使用的git节点号不一样,稍后说明)。
  (3)如果没有(2),请保证自己的网络能访问Internet。
  下载链接:https://github.com/openwrt/openwrt/releases 找一个完整的版本,应书上的版本,我选择的是Chaos Calmer (15.05) https://github.com/openwrt/openwrt/archive/v15.05.tar.gz。
  4.编译源码
  (1)正常流程。
  书上给的构建环境是Ubuntu14.04,由于我自己有PC是装了Debian 8 的,所以就直接用的自己的PC,效果是一样的,都是x86。
  解压后,基本按照书上来编译:
  ./scripts/feeds update 更新包定义
  ./scripts/feeds install –a 安装所有包 这些都是在解压后的openwrt源码包下进行。
  make defconfig,检查编译工具是否齐全。
  make menuconfig 配置x86平台
DSC0000.png

  选择一些工具:tcpdump,gdb,web管理界面LuCI,看自己需要
  在make menuconfig的首页,使用查找[键盘上的"/"键]
  选好后,make:这里可以cat /proc/cpuinfo看看自己的编译环境是CPU多少核,使用make –j2:使用2个线程并行编译;-j4就是四线程。编译出错,编译脚本会告诉你看错误[make V=s]。这些错误要会看,认真看,由于我是编号了,这个文档是事后写的,我就写了。发扬找问题点的作风。
  (2)FAQ:
  a.编译脚本下载软件包速度太慢或者直接下不动,可以在 make –j1 V=s下看看他在下哪个包,自己去baidu包的名字,会给你很多选择自己下。
  b.遇到下载OpenWRT工程/框架下的工具,会涉及到git提交编号:例如
DSC0001.png

  黄线标出的就是git提交(commit)号:
  http://git.openwrt.org/ 这是openWRT下的工程网址,可能是为了专门构建openWRT路由环境,由社区专门开发的工具集合。
  上面的图片这些文件怎么找出来,找出来如何改?
  uhttpd为例:这个最新版本的OpenWRT是在2015-08-17取用uhttpd构建的,找不到相关日期,就找最接近的。会看到:
DSC0002.png

  点击commit链接进入:
DSC0003.png 然后点击 snapshot 下载。

  下载后,解压你下载软件包,把文件夹命名为编译出错的文件夹名字,其实就是删掉后面的部分提交号。然后压缩成下载时包名。就是我上面截图的包名形式。放到dl文件夹。
  5.编译完成后的事情:这里可以在网上找,在虚拟机上安装openwrt,文章很多。大概是这些事:
  (1)把bin/x86下的镜像:openwrt-x86-generic-combined-ext4.img.gz转换成虚拟机要求的格式
  (2)新建虚拟机,启动openwrt。
  6.网络配置:这里非常重要!!![强烈建议把实际的家用路由器用熟练,明白原理]
  (1)两张网卡必不可少;一张作为wan口,一张作为lan口。实际路由器本质上就是一个wan口,一个lan口。你看到那么多lan口,实质上用到的就一张网卡分成vlan桥接在一起的。
  (2)一定要分清你的openwrt虚拟机是哪个网卡作为lan口,哪个作为wan口。简单的方法:ifconfig后看看br-lan的mac地址和哪个网口的mac地址一致。一致的那个就是lan口,反之就为wan口。
  修改配置文件/etc/config/network,来决定lan口和wan口与网口的对应关系。
   DSC0004.png
   wan口用来让你访问Internet,凸显这是个可用的路由器。wan口的dns服务器设置成电信dns地址61.139.2.69(四川成都),我家用的电信的
  a.把 interface 'lan'的ip改一下,我改的是192.168.4.1防止和家里的网关冲突。
  b.wan口网卡的虚拟机设置,我用的是桥接模式,所以wan的ip配置和我的电脑一样
  在虚拟机里有两种设置方法:
  a.设置成NAT模式,直接可以共享宿主机的IP,让openwrt上网;在openwrt上ping网址检验;不需要再openwrt中设置对应网卡;只能用接入该路由器的虚拟机访问web管理
DSC0005.png 我用的是windowsXP虚拟机,效果很不好。也能用ssh访问。

  b.设置成桥接模式,这个时候,要想openwrt能ping通网址,就要在openwrt中把作为wan口的网卡作为和pc一样的电脑设在同一网段内;可以在宿主机上用该ip访问web管理
DSC0006.png ,我自己的pc,效果很好。也能连ssh。

  配置dns文件/etc/resolv.conf为192.168.0.1,配置网关 route add default gw 192.168.0.1 我家的真实路由器lan网关
  c.lan口网卡的虚拟机设置,要在虚拟机设置成内部网络
DSC0007.png

  (3)额外的操作:a.关掉openwrt防火墙:/etc/init.d/firewall stop,每次外部pc在ssh连不了,web也不能登录时,请执行这个操作。
  7.检验成果:
  (1)在网上下了windows xp的VirtualBox镜像,导入了虚拟机。然后网卡设置为自动获取就可以。可以自己验证是否获取的OpenWRT软路由的ip。
  ,我的windowsXP也能上外网。
DSC0008.png

  (2)所有的网卡在虚拟机上控制芯片都设置为第一个,PCnet-PCI II(Am79C970A),设置成其他的,有时候网络不通,不稳定。
  后记:
  (1)opkg update用来更新源,用过Debian/Ubunt的同学知道的,在openwrt下安装LuCI,直接用opkg安装:配置/etc/opkg.conf  这里主要是在官网下载很慢的情况下,可以采用国内的镜像。
DSC0009.png 注释掉这句,防止签名失败,不能更新。

  欢迎答疑。。。。。,讨论。。。。。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-409621-1-1.html 上篇帖子: linux里的shell命令 下篇帖子: 转载 【Linux】Linux中常用操作命令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表