VBox 虚拟机安装 Openwrt 做旁路由
VBox 虚拟机安装 Openwrt 做旁路由
需求:开个虚拟机做旁路由,电脑把网关设置成旁路由地址,用它跑个上网或其他什么东西。
安装及配置过程简述
这件事流程很简单,总结起来主要有以下几点:
安装 VBox 虚拟机并解决好相关驱动(如虚拟网卡)。
在配置网络中如果遇到任何问题都要先排查虚拟网卡驱动有没有问题。安装虚拟网卡驱动请到 VBox 安装路径找到以下地址,在每个文件夹中都有一个
.inf
文件,右键安装即可。下载固件文件(一般会提供
.vmdk
文件,如果只有.img
文件自行转换(StarWind V2V Converter))。创建虚拟机,创建时使用自定义的虚拟磁盘文件。(参考:附一__新建虚拟机)
配置虚拟机网卡一为“仅主机(Host-only)网络”,我们需且仅需配置虚拟电脑的网卡一,这个网卡默认作为 OpenWrt 的 LAN 口。(参考:附二__仅主机(Host-only)网络)
在首次启动前需要(物理机)先断开所有外部网络,将虚拟机设置成“仅主机(Host-only)网络”,其对应的虚拟网卡要关闭 DHCP 、IP 地址设置成与路由器管理地址同网段。
虚拟机开机后可以使用
cat /etc/config/network
查看默认的 LAN 口地址。
开机。如无特殊原因可以正常开机了,开机后在浏览器进入管理界面,依次点击 “网络 > 接口” 可以看到软路由的接口情况。正常情况下物理接口应该只有一个 LAN 口。(如果有其他的只要不影响使用也可忽略,比如我刷 keelshare 的固件就有一个 eth5的 WAN 口
配置 LAN 口,(关闭 DHCP, 修改基本设置,关闭"桥接接口")
关闭 DHCP. 进入 LAN 口配置页面,在其“DHCP 服务器”设置中勾选“忽略此接口”。
基本配置。配置 LAN 口的协议为“静态地址”,然后根据主路由设置 IPv4地址、掩码、网关、广播和DNS服务器。
注意:关于这里的DNS: 必须要设置成一个有效的 DNS, 否则路由器
curl baidu.com
无返回。(关于DNS更多知识参考:附三__DNS服务和Dnsmasq)关闭"桥接接口",这一点很重要!虽然我至今仍不明白它是什么,但它真的很重要。
“桥接网口”选项是默认勾选的,在不关闭“桥接网口”的情况下麦本本也能正常上网,但是在荣耀笔记本上国内正常,出国却慢的出奇,最高不到 700Kbps, 我尝试了各种方法未果,最终误打误撞发现在关闭“桥接网口”口出国速度飙升到 56Mbps, 与国内测速无异;关闭“桥接网口”后麦本本出国速度也有提升,从原来的 30M 涨到了 50Mbps.
保存并应用。
配置虚拟机网卡一为“桥接网卡”,桥接到物理机用来正常上网的网卡。
在完成上面的操作后继续使用默认管理地址应该已经无法进入路由器后台了,这时候可以使用命令
halt
关掉虚拟机,让后将虚拟机网络设置为桥接,桥接到物理机连接到主路由且可以正常上网的网卡。启用主路由的网络连接、开启虚拟电脑。不出意外的话这时候就可以通过前面设置过的 LAN 口 IP 正常访问软路由管理界面了,在软路由的终端中运行一下
curl baidu.com
发现软路由也可以正常上网。
设置物理机的网关和 DNS 服务器为软路由IP。修改完成后发现可以正常上网,这时候把软路由的出国插件配置好,物理机也可以正常通过软路由出国。
存在的问题
(软路由正常运行中)物理机
休眠 - 重新唤醒
后出国服务失效,虽然显示在运行但没效果,重启软路由后恢复。使用 VBox 的快速休眠 - 唤醒
没这个问题。如果需要局域网中其他设备使用虚拟机中的软路由上网,则除了将设备的网关和 DNS 设置为软路由的 IP 外还以一个需要注意点的——运行软路由的电脑不能使用无线网卡上网(当然虚拟机也必须要桥接到有线网卡上才行了)。(虽然我也不明白这是什么原因但事实的确如此,如确有这种需求但实现不了不妨切到有线网卡试一试)
附一__新建虚拟机
新建虚拟机的过程记录如下:
附二__仅主机(Host-only)网络
首先需要在虚拟机中选择这种模式。
但是有关这个虚拟网卡的进一步选项需要在“主机网络管理器”中设置。
在运行软路由系统时关于这个网卡的设置主要有两个要点:1:关闭DHCP;2:设置 IP 地址(这个地址是物理机地址)。
关闭DHCP
这个没什么多说的,关闭就行了。设置 IP 地址
这个有讲究。在设置之前先搞清楚下载的固件后台管理页面是多少,将这个 IP 地址设置成与路由器后台地址同网段但是不冲突的,我这里后台地址是
192.168.1.1
, 所以我设置为192.168.1.2
.注意:如果路由器的后台网段已接入的其他网络冲突了,那没办法只好先断开其他网络了,进去路由器后台再改路由器地址。
附三__DNS服务和Dnsmasq
这块写的一塌糊涂,我也不知道我在说什么!
将物理机的 DNS 设置为软路由当然会存在某些问题,比如无法解析我在主路由中设置的 hosts 文件,虽然之前设置 LAN 口时将那个 DNS 设置为了主路由 IP ,但也没什么鸟用。
事实上虽然将软路由器 LAN 口 IP 设置为了主路由 IP, 但就算是软路由本身也无法使用主路由的 HOSTS 解析。比如我在主路由的 HOSTS 中有一条
192.168.42.61 ds119j.nas
是用来解析我的 NAS 的,但是在软路由中ping ds119j.nas
却始终不通,通过cat /etc/resolv.conf
和nslookup www.baidu.com
命令查到的软路由本机 DNS 服务器始终是 "127.0.0.1", 真是奇哉怪哉。后来我才明白原来在 OpenWrt 中有一个本地默认的 DNS 服务叫做 Dnsmasq, 它监听本地地址(也就是 "127.0.0.1"),而你真实的 DNS 服务器地址,是被这个服务【Dnsmasq】管理维护着的。
# 解析流程
local process -> local dnsmasq -> router -> ISP dns
在 OpenWrt 的图形配置界面中 “网络 > DHCP/DNS” 实际上就是配置的 Dnsmasq.
回到最开始的问题:将物理机的 DNS 设置为软路由后就无法解析我在主路由中设置的 hosts 文件这事怎么解决?
这个问题暂未解决。除非把物理机的 DNS 设置为主路由的 IP, 但是这样虚拟机软路由上基于 DNS 的一些服务就没法发挥作用了,得不偿失。
虽然理论上有办法让 Dnsmasq 针对特定的域名使用特定的 DNS 服务,比如我想让主路由(192.168.42.1)解析我的 NAS(ds119j.nas),但我尝试了各种办法都没成功,看来只能在软路由中再设置一次 hosts 文件了。
今天一天我看的关于 Dnsmasq 的有价值的资料
VBox 虚拟机安装 Openwrt 做旁路由的更多相关文章
- 网络|N1盒子做旁路由刷OpenWRT系统(小白专用)
N1盒子做旁路由刷OpenWRT系统(小白专用) 为什么要用N1盒子 现如今新上市的路由器,市面上能买到的300元以内的路由器大多数都是双频(5G Hz和2.4G Hz)和几年前相比无论是速度还是性能 ...
- 用VBox虚拟机安装Android 屏幕90度翻转竖屏设置
在虚拟机中安装好Android之后,有一些Android应用(比如UC浏览器.UC桌面)不能安装.但更有一些程序是可以安装,却自动顺时间旋转了90度,操作和看起来非常不爽! 这个情况下,在Androi ...
- VBox虚拟机安装debian
决定在win7上装一个Linux虚拟机用作Linux开发学习,虽然win7下已经有了Cygwin,还是想在一个比较完整的环境下.前面装过Ubuntu发现界面太笨重了,考虑重新换一个,同时比较喜欢apt ...
- VBox&vmware虚拟机安装Linux及Linux基础入门学习
VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...
- Mac系统下使用VirtualBox虚拟机安装win7--第一步 安装vbox虚拟机
Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Down ...
- ubuntu安装vbox虚拟机
ubuntu安装vbox虚拟机 一.安装准备 1.查看主机配置 二.下载安装包 (建议将安装包下载并保存) a.下载virtualbox安装包 下载链接https://www.virtualbo ...
- OpenWrt——神奇的路由系统
鉴于最近大家对这个系统比较感兴趣而且疑问很多所以本渣就整理下我对这个系统的理解和最实用的802.1x认证的理解.还望大家多多互相交流. 如果您时间紧张直接看最后的步骤,时间充裕的请仔细阅读,理解. O ...
- vbox 虚拟机共享文件夹 debian
主机64位windows7 虚拟机Debian 8 64位 注意:在网络更新时,可能需要修改 etc/apt/sources.list 文件,把前几条从CD更新删除掉,这样就会从网络更新 1.vbox ...
- 基于VirtualBox虚拟机安装Ubuntu教程
基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 6.0.4 for Windows hosts ...
随机推荐
- 【笔记】KNN之网格搜索与k近邻算法中更多超参数
网格搜索与k近邻算法中更多超参数 网格搜索与k近邻算法中更多超参数 网络搜索 前笔记中使用的for循环进行的网格搜索的方式,我们可以发现不同的超参数之间是存在一种依赖关系的,像是p这个超参数,只有在 ...
- 012 基于FPGA的网口通信实例设计【转载】
一.网口通信设计分类 通过上面其他章节的介绍,网口千兆通信,可以使用TCP或者UDP协议,可以外挂PHY片或者不挂PHY片,总结下来就有下面几种方式完成通信: 图8‑17基于FPGA的网口通信实例设计 ...
- Innodb中怎么查看锁信息
一.前言 上一篇说了下innodb中锁的大概意思, 这篇说说怎么查看加的哪些锁.不然后续出现死锁或者锁等待都不知道为什么. 二.底层基础表信息 在学会如何查看有哪些锁信息时, 需要了解一些基础表信息, ...
- 网关服务Kong和konga介绍安装使用教程
介绍 Kong是一款基于OpenResty(Nginx + Lua模块)编写的高可用.易扩展的,由Mashape公司开源的API Gateway项目.Kong是基于NGINX和Apache Cassa ...
- reduce使用技巧
一.使用reduce同时执行map(循环)和filter(过滤) 例如,将数组中的项的值加倍,然后只选择那些大于50的项 const numbers = [10, 20, 30, 40]; const ...
- SpringCloud升级之路2020.0.x版-23.订制Spring Cloud LoadBalancer
本系列代码地址:https://github.com/HashZhang/spring-cloud-scaffold/tree/master/spring-cloud-iiford 我们使用 Spri ...
- 【springboot】全局异常处理
转自: https://blog.csdn.net/cp026la/article/details/86495196 前言: 开发中异常的处理必不可少,常用的就是 throw 和 try catch, ...
- 将svn项目导出,再导入到其他工作空间
方法一: 对于一致svn地址,本地没有的项目,直接eclipse中svn检出即可. 若本地有项目,但想导入到另一个工作空间(即拷贝一份,不想再从svn拉),则需要用export方法. 方法二(expo ...
- 微信小程序学习笔记五 常见组件
1. 常见组件 重点讲解小程序中常用的布局组件 1.1 view 代替 原来的div标签 <!-- pages/index/index.wxml --> <view hover-cl ...
- springboot系列总结(一)---初识springboot
Spring Boot是一个简化Spring开发的框架.用来监护spring应用开发,约定大于配置,去繁就简,just run 就能创建一个独立的,产品级的应用. 一说springboot ,Java ...