基于 KVM 安装 OpenWrt

因为经常在本地 KVM 环境中做实验,需要维护针对不同实验环境的网络着实不方便,且访问一些资源需要代理,为了能够方便的管理网络,在本地 KVM 中运行一个 OpenWrt 实例是非常有必要的。

网络规划

网络的规划比较简单,一个网络可以访问外网的 WAN 口,一个或多个内部隔离的网络(不启用 DHCP)作为 LAN 口。

网卡用途网络信息
eth0LAN192.168.1.1/24 默认
eth1WAN192.168.100.66/24 根据宿主机网络来规划

部署

部署之前需要下载对应的 img,前往官网下载,当前下载的文件是
generic-ext4-combined.img.gz

下载后使用 gunzip generic-ext4-comined.img.gz 进行解压,得到 img 文件。

创建虚拟机

创建虚拟机时,选择 i440FX 而不是 QC35,因为后者网卡类型是 e1000e ,没有相应的驱动,只有 e1000 的驱动,所以网卡类型要设置为 e1000
磁盘 bus 选择 IDE ,移除不需要使用的设备,然后启动。

配置网络

启动后,按回车进入到 Shell,默认为 root 用户,且没有密码,根据前面的网络规划,对网络进行配置。

编辑 /etc/config/network 参考内容:

config interface 'wan'               
        option device 'eth1'          
        option proto 'static'         
        option ipaddr '192.168.100.66'
        option netmask '255.255.255.0'
        option gateway '192.168.100.1'
        option dns '192.168.100.1'

修改后通过 service network restart 来使配置生效。
此时还不能通过网络进行 ssh,因为默认防火墙会阻止所有访问的流量。

配置防火墙

要想从 wan 处进行 ssh 和访问 web 控制面板需要对防火墙规则进行修改。

编辑 /etc/config/firewall :

config defaults
        option syn_flood        1
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT

defaultsoption input 设置为 ACCEPT

config zone                           
        option name             wan   
        list   network          'wan' 
        list   network          'wan6'
        option input            ACCEPT
        option output           ACCEPT
        option forward          REJECT
        option masq             1     
        option mtu_fix          1

wan zone 中的 option input 也设置为 ACCEPT

使用 /etc/init.d/firewall reload 使防火墙规则生效。

此时就能使用 wan 的地址 ssh 远程和访问 Web 控制台,用户 root 默认没有密码。

发表评论

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

滚动至顶部