草庐IT

VMware 虚拟机安装 OpenWrt 作旁路由 单臂路由 img 镜像转 vmdk 旁路由无法上网 没网络

GreyWang 2023-03-28 原文

重要注意事项

由于布线原因笔记本只能采用无线的方式连接路由器,在Windows10的环境下使用无线网卡桥接,结果软路由无法上网,翻阅了各种帖子最终发现跟系统底层的协议栈有关系,随即放弃使用有线网卡,不能上网等乱七八糟的问题瞬间解决,因此务必提醒各位,千万不要使用无线网卡桥接!!!
参考文章如下,讲的很详细,可以事先阅读避免踩坑。
1、 已解决关于vmware搭openwrt旁路由 无线网卡设备无法上网
2、【终极指南】关于N1做旁路由添加 iptables 自定义防火墙规则的见解

1. 安装VMware

请自行下载安装 VMware 16.2 及以上版本

2. img 镜像转 vmdk 格式

3. 创建 OpenWrt 虚拟机

  1. 创建虚拟机

  2. 使用自定义模式

  3. 使用兼容模式

  4. 稍后安装操作系统

  5. 选择Linux操作系统,内核版本根据镜像的内核来决定

  6. 虚拟机命名并选择存储位置

  7. 处理器配置

  8. 内存配置 建议2G起步

  9. 网络配置 旁路由务必选择桥接模式

  10. I/O设置

  11. 磁盘设置

  12. 选择现有磁盘创建系统,即前面生成的 vmdk 文件

  13. 保持现有格式不变

  14. 自定义硬件 删除无用硬件设备

4. 配置 OpenWrt 软路由

  1. 启动虚拟机

  2. 查看本机网络信息,确定软路由的 IP 地址及网关设置

  3. 修改软路由的 IP 地址及网关

  • vi /etc/config/network
  • 按下 i或者insert键进入编辑模式
  • 按下 esc退出编辑模式
  • 输入:wq然后回车(保存并退出编辑)
  1. 重启软路由 reboot
  2. 本机在浏览器输入软路由 IP 地址进入软路由管理界面

5. 虚拟机网络设置

  1. 修改vmware的桥接网卡设置,进入虚拟网络编辑器,将其修改为有线网卡
  2. openwrt中配置此接口的网络设置,添加主路由器为网关,关闭接口桥接
  3. 修改防火墙设置,接受转发,关闭SYN-flood防御,开启NAT
  4. 修改防火墙自定义规则,加入如下命令,添加命令后点击重启防火墙让规则生效。
    iptables -t nat -I POSTROUTING -o eth0 -j MASQUERADE

    这么设置的原因可参考恩山帖子,关于N1做旁路由添加 iptables 自定义防火墙规则的见解

6. 遇到的问题及解决方案

1. 虚拟机无法 ping 通主机

主机可以 ping 通虚拟机
虚拟机无法 ping 通主机

  • 方法1:关闭主机防火墙
  • 方法2:修改主机防火墙入站规则
    Windows安全中心 - 高级设置 - 启用虚拟机监控入站规则


2. 虚拟机无网络

  1. 因为使用的是校园网,可能涉及到设备认证问题,虚拟机无法 ping 通网关,自然无法出站,也就无法访问网络,只能换路由器网络再来解决了。
  2. Win10下使用无线网卡桥接无法上网,请检查桥接网卡,将其更换为有线网卡即可解决问题。

有关VMware 虚拟机安装 OpenWrt 作旁路由 单臂路由 img 镜像转 vmdk 旁路由无法上网 没网络的更多相关文章

  1. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  2. ruby - rails 3 redirect_to 将参数传递给命名路由 - 2

    我没有找到太多关于如何执行此操作的信息,尽管有很多关于如何使用像这样的redirect_to将参数传递给重定向的建议:action=>'something',:controller=>'something'在我的应用程序中,我在路由文件中有以下内容match'profile'=>'User#show'我的表演Action是这样的defshow@user=User.find(params[:user])@title=@user.first_nameend重定向发生在同一个用户Controller中,就像这样defregister@title="Registration"@user=Use

  3. ruby-on-rails - Rails 3,嵌套资源,没有路由匹配 [PUT] - 2

    我真的为这个而疯狂。我一直在搜索答案并尝试我找到的所有内容,包括相关问题和stackoverflow上的答案,但仍然无法正常工作。我正在使用嵌套资源,但无法使表单正常工作。我总是遇到错误,例如没有路线匹配[PUT]"/galleries/1/photos"表格在这里:/galleries/1/photos/1/edit路线.rbresources:galleriesdoresources:photosendresources:galleriesresources:photos照片Controller.rbdefnew@gallery=Gallery.find(params[:galle

  4. 在VMware16虚拟机安装Ubuntu详细教程 - 2

    在VMware16.2.4安装Ubuntu一、安装VMware1.打开VMwareWorkstationPro官网,点击即可进入。2.进入后向下滑动找到Workstation16ProforWindows,点击立即下载。3.下载完成,文件大小615MB,如下图:4.鼠标右击,以管理员身份运行。5.点击下一步6.勾选条款,点击下一步7.先勾选,再点击下一步8.去掉勾选,点击下一步9.点击下一步10.点击安装11.点击许可证12.在百度上搜索VM16许可证,复制填入,然后点击输入即可,亲测有效。13.点击完成14.重启系统,点击是15.双击VMwareWorkstationPro图标,进入虚拟机主

  5. kvm虚拟机安装centos7基于ubuntu20.04系统 - 2

    需求:要创建虚拟机,就需要给他提供一个虚拟的磁盘,我们就在/opt目录下创建一个10G大小的raw格式的虚拟磁盘CentOS-7-x86_64.raw命令格式:qemu-imgcreate-f磁盘格式磁盘名称磁盘大小qemu-imgcreate-f磁盘格式-o?1.创建磁盘qemu-imgcreate-fraw/opt/CentOS-7-x86_64.raw10G执行效果#ls/opt/CentOS-7-x86_64.raw2.安装虚拟机使用virt-install命令,基于我们提供的系统镜像和虚拟磁盘来创建一个虚拟机,另外在创建虚拟机之前,提前打开vnc客户端,在创建虚拟机的时候,通过vnc

  6. ruby-on-rails - Rails - 从命名路由中提取 HTTP 动词 - 2

    Rails中有没有一种方法可以提取与路由关联的HTTP动词?例如,给定这样的路线:将“users”匹配到:“users#show”,通过:[:get,:post]我能实现这样的目标吗?users_path.respond_to?(:get)(显然#respond_to不是正确的方法)我最接近的是通过执行以下操作,但它似乎并不令人满意。Rails.application.routes.routes.named_routes["users"].constraints[:request_method]#=>/^GET$/对于上下文,我有一个设置cookie然后执行redirect_to:ba

  7. ruby-on-rails - 如何在 Rails 中设置路由的默认格式? - 2

    路由有如下代码:resources:orders,only:[:create],defaults:{format:'json'}resources:users,only:[:create,:update],defaults:{format:'json'}resources:delivery_types,only:[:index],defaults:{format:'json'}resources:time_corrections,only:[:index],defaults:{format:'json'}是否可以使用1个字符串为所有资源设置默认格式,每行不带“默认值”散列?谢谢。

  8. ruby - cucumber 的路由问题 - 2

    我正在使用rails3和cucumber,除了这个小问题,一切都很顺利GivenIamonthe"editautomobile"pageNoroutematches{:controller=>"automobiles",:action=>"edit"}(ActionController::RoutingError)现在路径在paths.rb中设置为edit_automobile_path在routes.rb中我有汽车作为资源,我搭建了它所以请告诉我我遗漏了什么,清楚地定义了路线并且匹配,因为我运行了rake路线并看到了路线。请指出正确的方向 最佳答案

  9. ruby - Rails 路由 : Giving default values for path helpers - 2

    有什么方法可以为url/path助手提供默认值吗?我有一个可选范围环绕我的所有路线:#config/routes.rbFoo::Application.routes.drawdoscope"(:current_brand)",:constraints=>{:current_brand=>/(foo)|(bar)/}do#...allotherroutesgohereendend我希望用户能够使用这些URL访问网站:/foo/some-place/bar/some-place/some-place为了方便起见,我在我的ApplicationController中设置了一个@current

  10. ruby-on-rails - 将 Rails 路由助手作为类方法添加到类中 - 2

    我如何将像“root_path”这样的Rails路由助手作为类方法添加到像my_model.rb这样的类中?所以我的课是这样的:ClassMyModeldefself.fooreturnself.root_pathendendMyModel.foo以上不起作用,因为ClassMyModel不响应root_path这是我所知道的:我可以使用includeRails.application.routes.url_helpers,但这只会将模块的方法添加为实例方法我试过扩展Rails.application.routes.url_helpers但它没用请随时给我上课:)

随机推荐