OpenVswitch Bridge¶
เป้าหมาย คือต้องการที่จะใช้งาน virt-manager ให้สามารถใช้งานในรูปแบบของ Bridge mode และใช้งานร่วมกับ openvswitch (virtual switch) เพื่อให้ virtual machine ที่สร้างขึ้นสามารถมี Bride network บน Fedora 20 ได้ อะไรคือ openvswitch openvswitch คือ virtual switch รองรับการทำงาน openflow protocol เป็นมาตรฐานหลักของ SDN (Software Define networking) โดยที่ Openvswitch จะทำให้ vm ที่สร้างขึ้นสามารถที่ติดต่อกัน ทั้งที่อยู่บน Host เดียวกัน หรือต่าง Host กัน
openvswitch¶
- รองรับ VLAN tagging และ 802.1q trunk
- รองรับ standard spanning tree protocal 802.1D
- LACP
- Port mirroring (SPAN/RSPAN)
- Flow export (sflow, netflow, ipfix)
- tunneling (GRE, VXLAN, IPSEC)
- QoS control
Install Openvswitch¶
sudo su -
# dnf install openvswitch python-openvswitch openvswitch-devel
# systemctl start openvswitch
# systemctl enable openvswitch
# lsmod | grep openv
(result)
openvswitch 102400 0
libcrc32c 16384 1 openvswitch
nf_defrag_ipv6 36864 2 openvswitch,nf_conntrack_ipv6
nf_nat_ipv6 16384 2 openvswitch,ip6table_nat
nf_nat_ipv4 16384 2 openvswitch,iptable_nat
nf_nat 24576 4 openvswitch,nf_nat_ipv4,nf_nat_ipv6,nf_nat_masquerade_ipv4
nf_conntrack 106496 8 openvswitch,nf_nat,nf_nat_ipv4,nf_nat_ipv6,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_ipv4,nf_conntrack_ipv6
ให้เก็บค่า inteface name ,ip ,mac ,route ด้วยคำสั่ง
ip a
ip r
create bridge¶
# ovs-vsctl add-br ovsbr0
# ovs-vsctl show
(result)
e3aa10d9-ca5d-47e4-8eea-5f754cfae0fe
Bridge "ovsbr0"
Port "ovsbr0"
Interface "ovsbr0"
type: internal
ovs_version: "2.5.0"
นำ interface enp3s0 มาเชื่อมกับ ovsbr0
# ovs-vsctl add-port ovsbr0 enp3s0
# ovs-vsctl show
(result)
e3aa10d9-ca5d-47e4-8eea-5f754cfae0fe
Bridge "ovsbr0"
Port "ovsbr0"
Interface "ovsbr0"
type: internal
Port "enp3s0"
Interface "enp3s0"
ovs_version: "2.5.0"
หลังจากนั้นให้ แก้ config
cd /etc/sysconfig/network-scripts
cp ifcfg-enp3s0 /root
cp ifcfg-enp3s0 ifcfg-ovsbr0
edit network config
cd /etc/sysconfig/network-scripts
vim ifcfg-enp3s0
DEVICE=enp3s0
NAME=enp3s0
HWADDR=54:ee:75:8a:86:09
ONBOOT=yes
DEVICETYPE=ovs
TYPE=OVSPort
OVS_BRIDGE=ovsbr0
Note
ให้แทนค่า
- enp3s0 ด้วยชื่อของ interface ของตัวเอง
- HWADDR=54:ee:75:8a:86:09 ด้วย mac ของตัวเอง
# vim ifcfg-ovsbr0
DEVICE=ovsbr0
NAME=ovsbr0
DEVICETYPE=ovs
TYPE=OVSBridge
BOOTPROTO=static
DEFROUTE=yes
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
HOTPLUG=no
DELAY=0
IPV6INIT=no
Note
ให้แทนค่า
- 192.168.1.100 ด้วย ip เดิม ของ enp3s0
- 192.168.1.100 ด้วย gateway เดิม
ยกเลิกการทำงาน NetworkManager
rm -rf /etc/resolv.conf
systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl start network
systemctl enable network
reboot