准备工作
KVM环境
- 确认宿主机支持KVM虚拟化,下面命令返回值不应该为空
#egrep '^flags.*(vmx|svm)' /proc/cpuinfo
# cat /etc/redhat-release
# yum install qemu-kvm libvirt libvirt-python libguestfs-tools virt-install -y
Linux bridge
- 该bridge用来提供VFW的管理/控制面连通性
- 创建bridge后将宿主机的管理接口加入到该bridge上
# brctl show
bridge name bridge id STP enabled interfaces
virt-mgmt-br 8000.20040fe827d4 no em1
- 在该bridge上配置宿主机原来的管理IP和需要的路由
OVS bridge
- 需要将要加入的OVS bridge建好,例如"xyzbr0"
- 后续VFW的数据口都会加入到这个bridge上
安装VFW虚机和OVS配置
文件准备
# pwd
/opt/hillstone-cmd-libvirt
# ll
total 2097760
-rw-r--r--. 1 root root 258 Jan 11 15:55 hillstone-br0
-rw-r--r--. 1 root root 135 Jan 11 14:51 hillstone-br1
-rw-r--r--. 1 root root 135 Jan 11 14:52 hillstone-br2
-rw-r--r--. 1 root root 135 Jan 11 14:52 hillstone-br3
-rw-r--r--. 1 root root 135 Jan 11 14:52 hillstone-br4
-rw-r--r--. 1 root root 135 Jan 11 14:52 hillstone-br5
-rwxrwxrwx. 1 root root 762 Jan 11 16:07 install.sh
-rw-r--r--. 1 root root 133 Jan 11 16:09 xyzbr-network.xml
-rw-r--r--. 1 qemu qemu 2148073472 Jan 12 12:17 SG6000-CloudEdge-5.5R5-VM01-v6.qcow2
```shell
* VFW的镜像文件先要准备好
```shell
# ll | grep qcow2
-rw-r--r--. 1 qemu qemu 2148073472 Jan 12 10:57 SG6000-CloudEdge-5.5R5-VM01-v6.qcow2
# cat xyzbr-network.xml
<network>
<name>xyzbr0</name>
<forward mode='bridge'/>
<bridge name='xyzbr0'/>
<virtualport type='openvswitch'/>
</network>
# virsh net-define xyzbr-network.xml
# virsh net-start xyzbr0
# virsh net-autostart xyzbr0
- 定义管理口的文件(目前使用VFW的eth0/0),指向之前创建的Linux bridge
# cat hillstone-br0
<network>
<name>hillstone-br0</name>
<bridge name='virt-mgmt-br' stp='n' delay='0' />
<forward mode='bridge'/>
<ip address='10.25.130.100' netmask='255.255.0.0'>
<dhcp>
<range start='10.25.130.100' end='10.25.130.100.'/>
</dhcp>
</ip>
</network>
- 定义其它接口的文件,以br1为例,其它只是改一下br编号
# cat hillstone-br1
<network>
<name>hillstone-br1</name>
<forward mode='bridge'/>
<bridge name='xyzbr0'/>
<virtualport type='openvswitch'/>
</network>
# cat install.sh
virt-install \
--name hillstone \
--wait 0 \
--os-type linux \
--virt-type kvm \
--accelerate \
--vnc --vnclisten 0.0.0.0 \
--ram 2048 \
--vcpus 2 \
--boot cdrom \
--disk path=/opt/hillstone-cmd-libvirt/SG6000-CloudEdge-5.5R5-VM01-v6.qcow2,device=disk,bus=ide,format=qcow2 \
--serial tcp,host=0.0.0.0:8123,mode=bind,protocol=telnet \
--network network=xyzbr0,model=virtio,target=he0 \
--network network=xyzbr0,model=virtio,target=he1 \
--network network=xyzbr0,model=virtio,target=he2 \
--network network=xyzbr0,model=virtio,target=he3 \
--network network=xyzbr0,model=virtio,target=he4 \
--network network=xyzbr0,model=virtio,target=he5 \
--network network=xyzbr0,model=virtio,target=he6
安装设置和串口登录
# ./install.sh
WARNING No operating system detected, VM performance may suffer. Specify an OS with --os-variant for optimal results.
Starting install...
Domain creation completed.
#
# virsh start hillstone
#
# virsh list
Id Name State
----------------------------------------------------
4 hillstone running
#
# virsh domiflist hillstone
Interface Type Source Model MAC
-------------------------------------------------------
he0 bridge xyzbr0 virtio 52:54:00:9a:51:32
he1 bridge xyzbr0 virtio 52:54:00:44:e3:98
he2 bridge xyzbr0 virtio 52:54:00:9c:ae:d4
he3 bridge xyzbr0 virtio 52:54:00:e8:4b:b8
he4 bridge xyzbr0 virtio 52:54:00:51:ee:11
he5 bridge xyzbr0 virtio 52:54:00:f2:84:0a
he6 bridge xyzbr0 virtio 52:54:00:74:6d:9d
- 设置OVS上接口(自然不包含连到Linux bridge)的vlan id,此处先以x来举例
ovs-vsctl set port he2 tag=x
- telnet登录console口,端口号在创建时候指定,默认用户名密码:hillstone/hillstone
# telnet localhost 8123
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
login:
VFW配置和验证
基本配置
- 管理口配置和网关配置,供远程ssh/web登录配置
configure
interface eth0/0
no ip address dhcp
ip address 10.25.130.100/16
manage ssh
manage ping
manage snmp
manage https
exit
ip vrouter trust-vr
ip route 0.0.0.0/0 10.25.0.1
exit
ha link interface ethernet0/5
ha link ip 2.2.2.1 255.255.255.0
ha group 0
ha cluster 1 node 1
- 配置业务接口,未来作为内网虚机的网关,下面是一个例子
interface eth0/1
zone trust
no ip address dhcp
ip address 10.3.3.254/254
manage ping
- 如果内网业务需要做DNAT对外网呈现,建议使用web来配置更加方便
- HA的参数配置(略)
网友评论