废物利用 Openwrt X86 刷机实战(5个千兆网口+wifi,任意分配wan和lan,使用全部硬盘空间)

最近使用中发现一般的路由器性能还是不行,例如顶级的wrt1900ac,50M跑满SS使用rc4-md5的负载约为40-50%,若使用aes256cfb负载约为70%。如果家里是100M的带宽跑满SS估计会用到100%,这时候性能就不够了,特别是如果家里有两条宽带的,那性能就更不够用了,此时就必须使用x86架构了。另外废旧的电脑可以利用起来。
网上openwrt x86攻略不多,大多数只有寥寥几句,还是自己弄吧。。。

0.准备工作
硬件配置:
处理器:Intel(R) Core(TM) i3 CPU 540 @ 3.07GHz
主板:索泰 H55 itx,板子上只有一个千兆网口Intel 82758DM,还有个mini pcie的无线网卡ralink RT2790/2720,无线网卡驱动为kmod-rt2800-pci(This package contains the Ralink Driver for WiFi, a Linux device driver for 802.11a/b/g universal NIC cards – either PCI, PCIe or MiniPCI – that use Ralink chipsets (rt2760, rt2790, rt2860, rt2890).)
内存:G skill F3-12800CL9D-4GBRL 2g*2
固态硬盘:镁光M4 CT256M4SSD2 SATA3 SSD 256GB (openwrt use all space)
四口千兆PCIE网卡:Intel I340-T4( Intel 82580 )四口PCIE网卡pci-e1000M有线千兆网卡E1G44HT(注意:之所以选择这块而不是更加新的I350-T4,是因为怕驱动找不到,而82580芯片直接有kmod-igb驱动支持(This package provides the igb kernel modules for Intel 82575/6 & 82580 Gigabit NICs))
U盘一个
显示器键盘鼠标网线
和另外一台win7电脑。。。

软件:
op官网下载的openwrt-x86-64-combined-ext4.img.gz (OpenWrt Chaos Calmer r46386 / LuCI (git-15.195.77528-e7f57e0) 2015.07.16)及其所有的packages
physdiskwrite-0.5.3 注意由于musl对chinadns极不友好,改了source code虽然能编译出来但是不能用,大伙都建议退回uclibc,所以我改刷chaos_calmer/15.05-rc3
Win32DiskImager,rc3编译package需要先apt-get install ccache
EasyWebSvr-v1.9
gparted-live-0.20.0-2-i486.iso(下载后把iso改名为img)

1.安装openwrt x86到SSD
a)把openwrt-x86-64-combined-ext4.img.gz 解压到跟physdiskwrite.exe相同的目录下,并将镁光M4 SSD挂载到PC的sata接口上,可以预先格式化成fat32.。。
b)win7 cmd下运行:

正常情况下会出现硬盘列表让你选择,千万千万不要选错,如果怕选错,可以事先把除系统盘和需要安装OP的盘外的其他所有盘数据线拔掉!!!!
选择到镁光M4 SSD后开始写入,完成后将SSD挂载到索泰主板上。

2.扩展SSD空间,使得openwrt可以使用全部硬盘空间
上述安装完成后,实际上是把镁光M4 SSD分成了2个区,第一个区只有4M,应该是引导区,第二个区是系统区,大约48M,剩下的都是未分配,太浪费了。。。。所以要想办法扩展。。。
研究了半天后发现可以用gparted实现。。。
a)将gparted-live-0.20.0-2-i486.img通过Win32DiskImager写入U盘(千万不要用ultraISO,否则无法启动gparted),这一步很简单
b)将u盘插入索泰主板usb口,并从usb启动,正常情况可以看到一个菜单,选择第一个 live default,第二个菜单选择默认的no touch,然后选择语言什么的,具体可以参考http://www.miui.com/thread-764482-1-1.html
c)进入图形界面后,选中M4的第二个分区,然后调整,使之使用全部未分配的空间,点击应用,过一会儿就可以了,然后关闭机器。。。

3.启动并设置openwrt
这里我走了一些弯路,特别是接上显示器,启动openwrt后,不插网线的话,启动信息会停留在:

其实这并不代表openwrt没有启动,而是完全正常的启动。。。我之前以为没成功,郁闷了很久。。。
出现上述字样以后:
a)可以把网线将索泰H55主板板载网口与win7电脑网口连接,把win7 电脑ip改成192.168.1.150,网关192.168.1.1
b)远程连接x86 路由,在win7电脑的cmd命令行运行

运行passwd改个密码,然后运行df -m会看见:

一个字,爽~~~

c)这时候如果运行ifconfig会发现只有一个eth0,这是因为PCIE的网卡驱动没装。。不过这没有关系,我在win7机器上用EasyWebSvr-v1.9搭了一个op源,所以要修改更新源,并安装驱动。

启动的时候需要把网线从索泰H55主板板载网口拔下来,插到pcie网卡网口最上面一个,这是因为驱动装完以后,pcie网卡最上面网口变成了eth0,依次是eth1-3,而板载网卡变成了eth4.。。
重启后就可以识别所有的网口了。。。luci下wifi也有了

4.进入luci设置wan和lan
win7电脑打开http://192.168.1.1,我是把eth0到eth2设为lan,把eth3设为wan1,eth4设为wan。。。。由于没有了switch,也没有vlan这个东东了,划分wan和lan变得异常简单。。。

root@OpenWrt:~# vi /etc/config/network

5.如果要无线支持wpa加密要另外装wpa-supplicant还有hostapd

QQ图片20150717222621
QQ图片20150717222648
QQ图片20150717222720
QQ图片20150717222754

《废物利用 Openwrt X86 刷机实战(5个千兆网口+wifi,任意分配wan和lan,使用全部硬盘空间)》有23个想法

  1. 有必要实体机整个直接上openwrt么?
    有点浪费,挂个虚拟机,实体机还可以开开迅雷放放片神马的

  2. 这个超级无敌变态的 OpenWRT,性能肯定不是问题,不过功耗应该不低。对了,请教博主,OpenWRT x86 是硬 NAT 还是软 NAT?谢谢。

  3. 我跟你基本一样的设置,但是我的LAN只有eth0工作正常,eth2 eth1都不工作,请问有什么解决办法吗?

  4. 我最近也在玩 openwrt x86, 咨询一下博主:
    我的无线网卡是 英特尔 Wireless WiFi Link 4965AGN;
    一直无法发现设备,似乎是驱动问题;
    我有安装部分驱动:
    root@OpenWrt:~# opkg install kmod-igb
    Multiple packages (kmod-igb and kmod-igb) providing same name marked HOLD or PREFER. Using latest.
    Package kmod-igb (3.18.29-1) installed in root is up to date.
    root@OpenWrt:~# opkg install kmod-rt2800-pci
    Package kmod-rt2800-pci (3.18.29+2016-01-10-1) installed in root is up to date.

    想问下如何查找相关驱动,以及如何跟踪问题?

  5. 请教一个问题,闲置的笔记本可以这么干吗?
    笔记本上一般只有一个有线口,和一个无线网卡。
    能不能有线口作为wan,无线网卡作为ap,将笔记本变成一台无线路由器呢?

发表评论

电子邮件地址不会被公开。 必填项已用*标注