VBox 虚拟机安装 Openwrt 做旁路由

需求:开个虚拟机做旁路由,电脑把网关设置成旁路由地址,用它跑个上网或其他什么东西。

安装及配置过程简述

这件事流程很简单,总结起来主要有以下几点:

  1. 安装 VBox 虚拟机并解决好相关驱动(如虚拟网卡)。

    在配置网络中如果遇到任何问题都要先排查虚拟网卡驱动有没有问题。安装虚拟网卡驱动请到 VBox 安装路径找到以下地址,在每个文件夹中都有一个 .inf 文件,右键安装即可。

  2. 下载固件文件(一般会提供 .vmdk 文件,如果只有 .img 文件自行转换(StarWind V2V Converter))。

  3. 创建虚拟机,创建时使用自定义的虚拟磁盘文件。(参考:附一__新建虚拟机

  4. 配置虚拟机网卡一为“仅主机(Host-only)网络”,我们需且仅需配置虚拟电脑的网卡一,这个网卡默认作为 OpenWrt 的 LAN 口。(参考:附二__仅主机(Host-only)网络

    • 在首次启动前需要(物理机)先断开所有外部网络,将虚拟机设置成“仅主机(Host-only)网络”,其对应的虚拟网卡要关闭 DHCP 、IP 地址设置成与路由器管理地址同网段。

    • 虚拟机开机后可以使用 cat /etc/config/network 查看默认的 LAN 口地址。

  5. 开机。如无特殊原因可以正常开机了,开机后在浏览器进入管理界面,依次点击 “网络 > 接口” 可以看到软路由的接口情况。正常情况下物理接口应该只有一个 LAN 口。(如果有其他的只要不影响使用也可忽略,比如我刷 keelshare 的固件就有一个 eth5的 WAN 口

  6. 配置 LAN 口,(关闭 DHCP, 修改基本设置,关闭"桥接接口")

    1. 关闭 DHCP. 进入 LAN 口配置页面,在其“DHCP 服务器”设置中勾选“忽略此接口”。

    2. 基本配置。配置 LAN 口的协议为“静态地址”,然后根据主路由设置 IPv4地址、掩码、网关、广播和DNS服务器。

      注意:关于这里的DNS: 必须要设置成一个有效的 DNS, 否则路由器 curl baidu.com 无返回。(关于DNS更多知识参考:附三__DNS服务和Dnsmasq

    3. 关闭"桥接接口",这一点很重要!虽然我至今仍不明白它是什么,但它真的很重要。

      “桥接网口”选项是默认勾选的,在不关闭“桥接网口”的情况下麦本本也能正常上网,但是在荣耀笔记本上国内正常,出国却慢的出奇,最高不到 700Kbps, 我尝试了各种方法未果,最终误打误撞发现在关闭“桥接网口”口出国速度飙升到 56Mbps, 与国内测速无异;关闭“桥接网口”后麦本本出国速度也有提升,从原来的 30M 涨到了 50Mbps.

    4. 保存并应用。

  7. 配置虚拟机网卡一为“桥接网卡”,桥接到物理机用来正常上网的网卡。

    1. 在完成上面的操作后继续使用默认管理地址应该已经无法进入路由器后台了,这时候可以使用命令 halt 关掉虚拟机,让后将虚拟机网络设置为桥接,桥接到物理机连接到主路由且可以正常上网的网卡。

    2. 启用主路由的网络连接、开启虚拟电脑。不出意外的话这时候就可以通过前面设置过的 LAN 口 IP 正常访问软路由管理界面了,在软路由的终端中运行一下 curl baidu.com 发现软路由也可以正常上网。

  8. 设置物理机的网关和 DNS 服务器为软路由IP。修改完成后发现可以正常上网,这时候把软路由的出国插件配置好,物理机也可以正常通过软路由出国。


存在的问题

  1. (软路由正常运行中)物理机休眠 - 重新唤醒后出国服务失效,虽然显示在运行但没效果,重启软路由后恢复。使用 VBox 的快速休眠 - 唤醒没这个问题。

  2. 如果需要局域网中其他设备使用虚拟机中的软路由上网,则除了将设备的网关和 DNS 设置为软路由的 IP 外还以一个需要注意点的——运行软路由的电脑不能使用无线网卡上网(当然虚拟机也必须要桥接到有线网卡上才行了)。(虽然我也不明白这是什么原因但事实的确如此,如确有这种需求但实现不了不妨切到有线网卡试一试)


附一__新建虚拟机

新建虚拟机的过程记录如下:



附二__仅主机(Host-only)网络

首先需要在虚拟机中选择这种模式。

但是有关这个虚拟网卡的进一步选项需要在“主机网络管理器”中设置。

在运行软路由系统时关于这个网卡的设置主要有两个要点:1:关闭DHCP;2:设置 IP 地址(这个地址是物理机地址)。

  1. 关闭DHCP

    这个没什么多说的,关闭就行了。

  2. 设置 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.confnslookup 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 的有价值的资料

    nameserver 127.0.1.1 & 如何设置nameserver

    Openwrt dnsmasq 设置要点

    dnsmasq详解及配置

    OpenWrt DNS问题排查

    OpenWrt的DNS相关设置

    手动配置 OpenWrt 路由器的 DNS 服务

    dnsmasq详解及配置

VBox 虚拟机安装 Openwrt 做旁路由的更多相关文章

  1. 网络|N1盒子做旁路由刷OpenWRT系统(小白专用)

    N1盒子做旁路由刷OpenWRT系统(小白专用) 为什么要用N1盒子 现如今新上市的路由器,市面上能买到的300元以内的路由器大多数都是双频(5G Hz和2.4G Hz)和几年前相比无论是速度还是性能 ...

  2. 用VBox虚拟机安装Android 屏幕90度翻转竖屏设置

    在虚拟机中安装好Android之后,有一些Android应用(比如UC浏览器.UC桌面)不能安装.但更有一些程序是可以安装,却自动顺时间旋转了90度,操作和看起来非常不爽! 这个情况下,在Androi ...

  3. VBox虚拟机安装debian

    决定在win7上装一个Linux虚拟机用作Linux开发学习,虽然win7下已经有了Cygwin,还是想在一个比较完整的环境下.前面装过Ubuntu发现界面太笨重了,考虑重新换一个,同时比较喜欢apt ...

  4. VBox&vmware虚拟机安装Linux及Linux基础入门学习

    VBox&vmware虚拟机安装Linux及Linux基础入门学习 通过VMware workstation安装Linux 在安装虚拟机之前,我特意上网搜索了一下目前常使用的虚拟机软件,了解了 ...

  5. Mac系统下使用VirtualBox虚拟机安装win7--第一步 安装vbox虚拟机

    Mac系统下使用VirtualBox虚拟机安装win7操作步骤: 第一步 安装vbox虚拟机 1.先下载vbox,下载地址:: https://www.virtualbox.org/wiki/Down ...

  6. ubuntu安装vbox虚拟机

    ubuntu安装vbox虚拟机 一.安装准备 1.查看主机配置 二.下载安装包    (建议将安装包下载并保存) a.下载virtualbox安装包 下载链接https://www.virtualbo ...

  7. OpenWrt——神奇的路由系统

    鉴于最近大家对这个系统比较感兴趣而且疑问很多所以本渣就整理下我对这个系统的理解和最实用的802.1x认证的理解.还望大家多多互相交流. 如果您时间紧张直接看最后的步骤,时间充裕的请仔细阅读,理解. O ...

  8. vbox 虚拟机共享文件夹 debian

    主机64位windows7 虚拟机Debian 8 64位 注意:在网络更新时,可能需要修改 etc/apt/sources.list 文件,把前几条从CD更新删除掉,这样就会从网络更新 1.vbox ...

  9. 基于VirtualBox虚拟机安装Ubuntu教程

    基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 6.0.4 for Windows hosts ...

随机推荐

  1. linux虚拟机环境快速搭建redis5.x版本的主从集群总结

    文/朱季谦 我在阿里云服务器上曾参与过公司redis集群的搭建,但时间久了,都快忘记当时的搭建过程了,故而决定在虚拟机centOS 7的环境,自行搭建一套redis5.x版本的集群,该版本集群的搭建比 ...

  2. 【笔记】衡量线性回归法的指标 MSE,RMS,MAE以及评价回归算法 R Square

    衡量线性回归法的指标 MSE,RMS,MAE以及评价回归算法 R Square 衡量线性回归法的指标 对于分类问题来说,我们将原始数据分成了训练数据集和测试数据集两部分,我们使用训练数据集得到模型以后 ...

  3. SpringBoot开发十六-帖子详情

    需求介绍 实现帖子详情,在帖子标题上增加访问详情页面的链接. 代码实现 开发流程: 首先在数据访问层新增一个方法 实现查看帖子的方法 业务层同理增加查询方法 最后在表现层处理查询请求 数据访问层增加根 ...

  4. noip21

    所以分差到底要不要取绝对值啊 T1 3分钟出暴力,十分钟码好,然后样例过不去... 好吧,我是sb,求中位数之前是要排序的. 直接冲暴力,50pts. \(w=3\) 的点,开个桶记录一下又有20pt ...

  5. idea的properties文件乱码问题解决

    设置编码格式: File============>Settings,打开设置后,设置成下面的即可解决:

  6. Specification使用notin

    废话不多说直接贴代码 Specification<Employee> employeeSpecification = new Specification<Employee>() ...

  7. vue同一个页面可以有多个router-view

    参考:https://blog.csdn.net/u011615787/article/details/80075240 参考:https://router.vuejs.org/zh/guide/es ...

  8. Wiring in Spring: @Autowired, @Resource and @Inject 区别

    refer:https://www.baeldung.com/spring-annotations-resource-inject-autowire 主要是查找顺序不一致: @Resource Mat ...

  9. 未解决:为什么在struts2下新建ognl的包,会出错?

    首先开始在src下新建了一个名叫ognl的包: 发现在其中放置了一个loginAction,即使是最简单的跳转都不能实现: 直接抛出了java.lang.Exception; 传递参数更出现了异常: ...

  10. 阿里云服务器上部署java项目(安装jdk,tomcat)

    安装JDK a.执行下面的yum指令安装,无线配置环境变量. 1.yum -y update #首先更新一下YUM源2.yum list Java* ---------#列出所有的JDK 3.yum ...