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 ...
随机推荐
- SQL注入:sqli-labs:5~6 double injection(Query)
第五题: http://127.0.0.1/sqli/Less-5/?id=1 显示:You are in--.后面发现,不管是1,2,3,4都死显示Your are in --,不打紧,继续看看 h ...
- contos7 安装weblogic10.3 _wls1036_generic.jar
环境:CentOS7+jdk1.8 weblogic下载地址1: http://www.oracle.com/technetwork/cn/middleware/weblogic/downloads/ ...
- flutter升级2.0
前言 flutter2.0版本带来了很多变化,特别是加入了空安全,升级后的大片报错,让大家望而却步. 现在距2.0发布已经快半年了,大部分插件也支持了空安全,而我们的项目却因为版本低,用不上新东西,所 ...
- 基于Vue2和Node.js的反欺诈系统设计与实现
最近包工头喊农民工小郑搬砖,小郑搬完砖后沉思片刻,决定写篇小作文分享下,作为一个初学者的全栈项目,去学习它的搭建,到落地,再到部署维护,是非常好的. ------题记 写在前面 通过本文的学习,你 ...
- NOIP 模拟 $25\; \rm queen$
题解 \(by\;zj\varphi\) 这是一道纯分类讨论,然后推式子的题,细节挺多,挺麻烦,但是很考验数学能力 不讲了,官方题解给的很清楚 Code: %: pragma GCC optimize ...
- 微信小程序 errMsg: "navigateTo:fail webview count limit exceed"
返回过多 用wx.redirectTo或者wx.reLaunch 解决
- Java:学习什么是多线程
线程是什么 进程是对CPU的抽象,而线程更细化了进程的运行流程 先看一下这个图 线程和进程的关系有 进程中就是线程在执行,所有(主)线程执行完了进程也就结束了 多个线程从1秒钟是同时运行完成,从1纳秒 ...
- WPF 自己做一个颜色选择器
程序开发过程中,经常会遇到需要支持动态配置主题颜色的问题,通常,一个程序会有多种不同的颜色风格主题供选 有时候,更细致一些的地方,会需要支持自己配置颜色,这样我们就需要一个颜色选择器啦,下面是我自己开 ...
- 一招解决下载或下拉GitHub项目速度太慢的问题
相信很多朋友都有过这样的体验,就是从Github上下载或clone别人的项目时特别慢,甚至还会出现链接意外终止的情况,那么今天就来给大家分享一个提速的方法,步骤也非常简单,亲测有效! 首先进入你的目标 ...
- sparksql解析流程
1.sparkSql处理核心:Catalyst工作流程(本质:把sql.dataframe相结合,以树tree的形式来存储.优化) 2.catalyst工作流程 1)Parser(解析器):SqlPa ...