文章大纲
因为经常在本地 KVM 环境中做实验,需要维护针对不同实验环境的网络着实不方便,且访问一些资源需要代理,为了能够方便的管理网络,在本地 KVM 中运行一个 OpenWrt 实例是非常有必要的。
网络规划
网络的规划比较简单,一个网络可以访问外网的 WAN 口,一个或多个内部隔离的网络(不启用 DHCP)作为 LAN 口。
网卡 | 用途 | 网络信息 |
---|---|---|
eth0 | LAN | 192.168.1.1/24 默认 |
eth1 | WAN | 192.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
defaults
中 option 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 默认没有密码。