首先声明,在实际使用时,不会用到这么奇怪的网络方案,这个方案只适用于折腾。如果你没有用过OpenWrt,准备买个路由器或者软路由,在买之前想去了解它的功能,那你可以尝试折腾一下。

如果你不知道什么是单臂路由的话,可以看看这里:

https://en.wikipedia.org/wiki/One-armed_router (维基百科)

单臂路由_百度百科 (百度百科)

如果你不知道什么是OpenWrt的话,可以看看这里:

https://zh.wikipedia.org/wiki/OpenWrt (维基百科)

openWRT_百度百科 (百度百科)

1. 下载

目前(20200420)的最新版本是19.07.1,这个版本非常新,有些软件还来不及移植,例如系统的中文包。如果你的英文不是很好,对中文界面有强烈的需求,或者对其他特定软件有需求的话,建议使用稍微旧一点的版本,例如18.06.7

在这里下载:https://archive.openwrt.org/releases/18.06.7/targets/x86/64/openwrt-18.06.7-x86-64-combined-ext4.img.gz

2. 安装

首先你需要准备好一个可以运行的vmware linux环境,然后另外再创建一个Linux虚拟机




openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_02


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_03


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_04


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_05


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_06


核心数量可以随意,看自己的机器配置,量力而行。


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_07


内存也一样


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_08


选择使用桥接网络,直接使用物理网卡


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_09


openwrt 空间 docker openwrt 空间不够_openwrt nas_10


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_11


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_12


这里8G已经够了,如果你不放心的话可以调大一点。


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_13


openwrt 空间 docker openwrt 空间不够_openwrt nas_14


删掉打印机,CD/DVD,声卡之类的不必要的东西


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_15


先不启动它,配置事先准备好的linux虚拟机(注意必须在关机情况下才能配置)


openwrt 空间 docker openwrt 空间不够_openwrt nas_16


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_17


openwrt 空间 docker openwrt 空间不够_openwrt nas_18


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_19


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_20


选取刚刚创建好的vmdk磁盘文件。

启动linux,将下载的img.gz文件解压,并且写入vmdk磁盘文件中:


gunzip openwrt-19.07.1-x86-64-combined-ext4.img.gz
sudo dd if=openwrt-19.07.1-x86-64-combined-ext4.img of=/dev/sdb
sudo poweroff #关机


开启刚刚创建的 OpenWrt 虚拟机


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_21


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_22


openwrt 空间 docker openwrt 空间不够_openwrt nas_23


这里可能会出现假卡的情况,回车即可。

3. 配置

首先配置LAN口


vim /etc/config/network #修改网络配置w文件,这里只列出 lan 部分


config interface 'lan'
  #option type 'bridge' 关闭桥接模式
  option ifname 'eth0'
  option proto 'static' # 静态IP
  option ipaddr '192.168.2.240' # LAN口IP,与物理路由在同一个网段
  option netmask '255.255.255.0' # LAN的掩码
  option gateway '192.168.2.1' # 物理网关(一般情况是路由)地址
  option ipassign '60' # ipv6,可以不管


保存后,执行 reboot 重启,不出意外这时候通过浏览器打开 http://192.168.2.240/ 访问它了。


openwrt 空间 docker openwrt 空间不够_openwrt 空间 docker_24


打开 Network - Interfaces,创建一个WAN口


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_25


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_26


选择协议为 DHCP client,保存。

此时,这个软路由就搭建完毕了。在宿主机上,设置网络连接属性:


openwrt 空间 docker openwrt 空间不够_openwrt 打印 APP_27


保存后,就能正常上网了。此时,这个OpenWrt就作为一个单臂路由了。接下来就可以尝试在上面安装各种你懂的服务。