配置树莓派3的openwrt中的网络
在上一篇中讲到openwrt的编译安装:
http://www.cnblogs.com/yeqluofwupheng/p/7296218.html
但是烧写进去,启动系统后发现它的默认配置是路由器,所以地址是192.168.1.1的形式,如果你不是把它做路由器的系统来用,那就要重新配置openwrt的网络。下面介绍一些它的网络设置。
在此之前先远程登录树莓派openwrt
首先检查是否安装了ssh(使用dpkg -l | grep ssh),没有的话,使用命令:
apt-get install ssh
然后使用命令:ssh username@address来连接,其中username是远程的计算机账户名,address是远程计算机IP,例如:ssh root@192.168.1.109
注意:
首次连接,可能提示“the authenticity of the host can’t be established”。没有关系,回答yes进行连接,输入密码即可。
如果你登录一个标准的Shell会话,命令行提示符是“用户名@远程计算机的名称”
如果希望通过SSH运行图形程序,可以使用:ssh -X username@address
连接以后,输入程序的名称即可。譬如,启动gedit,输入gedit即可。另外注意,尽管程序出现在你的计算机上面,但是它依然是运行在远程计算机上面。如果启动OpenOffice或者其他复杂的图形程序,可能有一段时间的延迟。
然后介绍如何修改IP地址
方法一:
vi etc/config/network
将option ipaddr '192.168.1.1'中的地址改为 192.168.1.109(按i进入修改,修改完成按esc退出编辑,接着:wq保存退出),然后保存退出,然后再重启树莓派(如果使用命令可以使用reboot),就发现IP地址被改为192.168.1.109了.
方法二:在源代码中设置IP
前面是通过在树莓派上面修改配置文件的方式来修改IP,这样做虽然简单,但是每当我们重新烧写固件后,都要通过这个方式重新修改IP,这样太麻烦。那么,接下来我们就来通过修改源码的方式,来修改IP,这样就能编译出一个初始IP是192.168.1.109的镜像。
如果大家对OpenWrt系统的启动流程有一定的了解的话,我们就知道,系统在启动的时候,会通过运行uci-defaults.sh这个脚本程序来设置 IP 等基本参数。该脚本文件位于系统源码的openwrt/trunk/package/base-files/files/lib/functions目录,那么接下来我们就来修改该脚本文件,从而修改IP 地址,输入命令:
/home/Linux/openwrt/trunk$vi./package/base-files/files/lib/functions/uci-defaults.sh
新版本在目录:
./package/base-files/files/bin/config_generate
然后我们就可以在该脚本程序中看到,它的IP地址设置为192.168.1.1,将它改成你希望的IP就可以了。
更改了IP之后,可能还是无法上网,可以按照下面的流程检查:
1.网络设置有问题
因为openwrt配置是按照路由器的方式配置的,连上网线后可能与当前路由器冲突。例如:我是使用ssh远程登录树莓派,如果不关闭dhcp,就会出现树莓派和原本的路由器两边给我的主机分配ip使得主机这边冲突而无法上网。所以需要关闭openwrt中的dhcp。
如何关闭openwrt上的dhcp服务:
#./etc/init.d/dnsmasq stop
#./etc/init.d/dnsmasq disable
但是这样树莓派上的openwrt还是不能上网,原因是openwrt上的网络设置是路由器的设置,因此,他是没有设置网关,但是现在我不把他当作路由来用,只是使用它的系统,就要修改网络配置。
很简单,在/etc/config/network里面有树莓派的网络配置,跟正常的设置比较一下发现没有网关的设置,于是加上
option gateway '192.168.2.1'
这样ping 202.108.22.5就可以ping通。
2.dns有问题
但是,有了上面的设置你会发现"ping www.baidu.com"还是ping不通。这说明dns的配置有问题。
先介绍一个工具用来检查dns,就是nslookup命令。
nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。而且,它在linux下和windows下面都能用。
用法参考:blog.csdn.net/violet_echo_0908/article/details/52033725
那么如何配置dns呢?
首先最直接的方法在/etc/resolv.conf中添加dns地址:
vi /etc/resolv.conf nameserver 8.8.8.8
nameserver 8.8.4.4
但是这样只能使用一时,你会发现每次重启网络或重启系统就要重新添加上面的dns地址。
那么怎样永久的添加dns的地址呢?
从文件的链接关系可以看出来dns地址是记录在/tmp/resolv.conf.auto里面的,其他/etc/resolv.conf和/tmp/resolv.conf都是/tmp/resolv.conf.auto的链接,正常的思路是在/tmp/resolv.conf.auto里面添加dns地址就可以保证dns正常,但是实际上,在这里添加后,重启系统/tmp/resolv.conf.auto就会被清空,正确说应该是每次重启系统/tmp/resolv.conf.auto都会重新新建一次,你可以尝试删除它,重启后还是会恢复。
这样只要找到创建改文件的脚本然后不让它重新创建,后者创建后自动添加dns就可以了,但是可惜我没有找到脚本的位置,没办法我尝试在编译的时候就将dns的地址写进去,可不可以这样做呢?
我在下面这五个文件(整个编译的代码里面只有这个五个文件有直接设置dns的)中添加了dns的地址,这是我的思路不能保证都成功:
/home/openwrt/openwrt-master/staging_dir/target-arm_cortex-a53+neon-vfpv4_musl-1.1.14_eabi/root-brcm2708/etc/init.d/dnsmasq:
/home/openwrt/openwrt-master/build_dir/target-arm_cortex-a53+neon-vfpv4_musl-1.1.14_eabi/root-brcm2708/etc/init.d/dnsmasq:
/home/openwrt/openwrt-master/build_dir/target-arm_cortex-a53+neon-vfpv4_musl-1.1.14_eabi/dnsmasq-nodhcpv6/dnsmasq-2.75/ipkg-brcm2708/dnsmasq/etc/init.d/dnsmasq:
/home/openwrt/openwrt-master/package/network/services/dnsmasq/files/dnsmasq.init:
/home/openwrt/openwrt-master/build_dir/target-arm_cortex-a53+neon-vfpv4_musl-1.1.14_eabi/root-brcm2708/etc/rc.d/S60dnsmasq:
/home/openwrt/openwrt-master/package/network/services/ipset-dns/files/ipset-dns.config:(改文件是配置文件可以不用添加dns的地址)
3.扩展SD卡空间
处理好上面的问题,也还不能开始使用openwrt系统,因为,你运行#df -h命令,发现它的磁盘空间只有几百M,但是TF卡是有几十G的,这是怎么回事呢?
熟悉树莓派的就知道,树莓派第一次安装系统也是这样,需要在配置选项里面选择扩展SD卡空间,才能使他的空间和SD的实际空间一样大,但是openwrt里面没有这样的配置选项,那么如何扩充空间呢?
实际上可以下载一个工具gparted,通过那个工具来扩充SD卡的空间。网上有教程我这里就不赘述了,操作也很简单,可以参考这篇博客:
http://blog.csdn.net/eric_lmy/article/details/51785912
其他
上面是安装openwrt但是不使用它路由器的功能,而是使用它的SDK的一些设置,但实际上你就是想做个路由器,那可以参考下面的几篇博客:
http://shumeipai.nxez.com/2015/07/28/install-openwrt-will-be-transformed-into-a-versatile-router-raspberry-pi.html
http://blog.csdn.net/AGrapier/article/details/51971535
配置树莓派3的openwrt中的网络的更多相关文章
- 已禁用对分布式事务管理器(MSDTC)的网络访问。请使用组件服务管理工具启用 DTC 以便在 MSDTC 安全配置中进行网络访问。
今天写ASP.NET程序,在网页后台的c#代码里写了个事务,事务内部对一张表进行批量插入,对另外一张表进行查询与批量插入. 结果第二张表查询后foreach迭代操作时报错:已禁用对分布式事务管理器(M ...
- L04-VirtualBox中CentOS7网络配置(可连外网)
本文所述的方法在RHEL6.5.RHEL7和CentOS6.5中同样适用. 1.工具:VirtualBox,虚拟机:CentOS7 2.VirtualBox工具中的网络配置 (1)VirtualBox ...
- 基于MACVLAN配置VMWARE虚拟机中容器网络
基于MACVLAN配置VMWARE虚拟机中容器网络 测试部环境组 201711 0 文档说明 MACVLAN是docker的一种支持跨主机网络的driver.macvlan本身是linux kerne ...
- Docker 中的网络功能介绍 外部访问容器 容器互联 配置 DNS
Docker 中的网络功能介绍 | Docker 从入门到实践 https://vuepress.mirror.docker-practice.com/network/ Docker 允许通过外部访问 ...
- 树莓派3B安装OpenWrt打造超级路由器
网上有很多树莓派安装OpenWrt的教程,我这里写一下个人安装体验以及踩过的坑
- 配置树莓派3和局域网NTP服务器实现内网时间校准
一.配置局域网NTP服务器 1.安装ntp-4.2.8p5-win32-setup.exe 下载地址:https://www.meinbergglobal.com/english/sw/ntp.htm ...
- 树莓派开发板入门学习笔记2:[转]树莓派系统在VM中能做什么
问"树莓派系统在VM中能做什么"不如问"树莓派能做什么":(参考:树莓派实验室) 普通难度的DIY 较高难度的DIY 用树莓派打造一个家庭影院 给树莓派安装摄像 ...
- OpenWrt中开启usb存储和samba服务
在从官网安装的WNDR3800 15.05.1版本OpenWrt中, 不带usb存储支持以及samba, 需要另外安装 1. 启用usb支持 USB Basic Support https://wik ...
- Neutron VxLAN + Linux Bridge 环境中的网络 MTU
1. 基础知识 1.1 MTU 一个网络接口的 MTU 是它一次所能传输的最大数据块的大小.任何超过MTU的数据块都会在传输前分成小的传输单元.MTU 有两个测量层次:网络层和链路层.比如,网络层 ...
随机推荐
- python对接常用数据库,快速上手!
python对接常用数据库,快速上手! 很多同学在使用python进行自动化测试的时候,会涉及到数据库数据校验的问题,因为不知道如何在python中如何对数据库,这个时候会一脸茫然,今天在这里给大家汇 ...
- Jupter NotebooK学习
1.参考资料 B站上学习视频 Jupyter 安装与使用 2.安装 在cmd窗口中输入(创建的文件会再当前的目录下):pip install jupyter 然后输入:jupyter notebook ...
- Spring入门(十一):Spring AOP使用进阶
在上篇博客中,我们了解了什么是AOP以及在Spring中如何使用AOP,本篇博客继续深入讲解下AOP的高级用法. 1. 声明带参数的切点 假设我们有一个接口CompactDisc和它的实现类Blank ...
- 【转】python爬虫之腾讯视频vip下载
本文转自如下:作者:jia666666 原文:https://blog.csdn.net/jia666666/article/details/82466553 版权声明:本文为博主原创文章,转载请附上 ...
- JavaScript String 字符串方法
JavaScript String 字符串方法汇总 1.str.indexOf() 方法查找字符串中的字符串 返回 字符串中指定文本首次出现的索引(位置) JavaScript ...
- 浅谈JavaWeb发展
真的认认真真了解JavaWeb的发展,还是因为突然帮朋友弄个没什么功能的小网站时的突然奇想.但是上来就搭SSM的框架,搭到一半却想起来没什么功能那么麻烦干嘛.干脆不用框架,可是又蒙了,不用框架怎么写. ...
- MySQL之PXC集群搭建
一.PXC 介绍 1.1 PXC 简介 PXC 是一套 MySQL 高可用集群解决方案,与传统的基于主从复制模式的集群架构相比 PXC 最突出特点就是解决了诟病已久的数据复制延迟问题,基本上可以达到实 ...
- CF1009B Minimum Ternary String 思维
Minimum Ternary String time limit per test 1 second memory limit per test 256 megabytes input standa ...
- CF 990D Graph And Its Complement 第十八 构造、思维
Graph And Its Complement time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- HDU 5793 A Boring Question 多校训练
There are an equation. ∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1000000007=?∑0≤k1,k2,⋯km≤n∏1⩽j<m(kj+1kj)%1 ...