sebelumnya saya juga sudah pernah install OpenvSwitch pada Centos 7
pada tutorial kali ini saya mengunakan ubuntu 16.04 LTS, sebelum install openvswitch, update ubuntunya
1 2 |
apt update apt install openvswitch-switch |
kemudian setelah itu start openvswitchnya
1 2 3 4 |
root@aio:/home/aio# /etc/init.d/openvswitch-switch start * ovsdb-server is already running * ovs-vswitchd is already running * Enabling remote OVSDB managers |
melihat versi openvswitch
1 2 3 4 |
root@aio:/home/aio# ovs-vsctl -V ovs-vsctl (Open vSwitch) 2.5.0 Compiled Mar 10 2016 14:16:49 DB Schema 7.12.1 |
melihat isi openvswitch
1 2 3 |
root@aio:/home/aio# ovs-vsctl show 42e9287a-996d-4674-b26b-56840e4dec2e ovs_version: "2.5.0" |
menambahkan bridge (ovs-vsctl add-br nama_bridge)
1 2 3 4 5 6 7 8 |
root@aio:~# ovs-vsctl add-br br0 root@aio:~# ovs-vsctl show 42e9287a-996d-4674-b26b-56840e4dec2e Bridge "br0" Port "br0" Interface "br0" type: internal ovs_version: "2.5.0" |
menambahkan port pada bridge (ovs-vsctl add-port nama_bridge nama_port)
1 2 3 |
root@aio:~# ovs-vsctl add-port br0 enp0s3 root@aio:~# ovs-vsctl add-port br0 enp0s9 root@aio:~# ovs-vsctl add-port br0 enp0s10 |
pada contooh diatas saya menambahkan 3 interface fisik pada br0
1 2 3 4 5 6 7 8 9 10 11 12 13 |
root@aio:~# ovs-vsctl show 42e9287a-996d-4674-b26b-56840e4dec2e Bridge "br0" Port "br0" Interface "br0" type: internal Port "enp0s9" Interface "enp0s9" Port "enp0s3" Interface "enp0s3" Port "enp0s10" Interface "enp0s10" ovs_version: "2.5.0" |
melihat datapath pada ovs
1 2 3 4 5 6 7 8 9 10 |
root@aio:~# ovs-dpctl show system@ovs-system: lookups: hit:0 missed:0 lost:0 flows: 0 masks: hit:0 total:1 hit/pkt:0.00 port 0: ovs-system (internal) port 1: br0 (internal) port 2: enp0s3 port 3: enp0s9 port 4: enp0s10 |
Menghubungkan dua virtual mesin mengunakan OVS
pada skema diatas saya mengunkan 3 virtual mesin yang di buat diatas virtualbox yaitu
- Openvswitch (ada 2 interface ethernet dengan typer internal network)
- Blue VM (ada 1 interface ethernet dengan typer internal network “blue”)
- Green VM(ada 1 interface ethernet dengan typer internal network ” green”)
sebelumnya kita harus membuat bridge pada ovs
1 2 3 4 5 6 7 8 |
root@aio:~# ovs-vsctl add-br ofc_bridge root@aio:~# ovs-vsctl show 42e9287a-996d-4674-b26b-56840e4dec2e Bridge ofc_bridge Port ofc_bridge Interface ofc_bridge type: internal ovs_version: "2.5.0" |
kemudian kit harus mengaktifkan interface bridge tersebut dan memberikan ip 192.168.10.1/24
1 2 3 4 5 6 7 8 9 10 11 12 |
root@aio:~# ifconfig ofc_bridge up root@aio:~# ifconfig ofc_bridge 192.168.10.1/24 root@aio:~# ifconfig ofc_bridge ofc_bridge Link encap:Ethernet HWaddr 0a:f0:a3:25:8d:4e inet addr:192.168.10.1 Bcast:192.168.10.255 Mask:255.255.255.0 inet6 addr: fe80::8f0:a3ff:fe25:8d4e/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:8 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1 RX bytes:0 (0.0 B) TX bytes:648 (648.0 B) |
setelah itu memasukan interface ethernet yang akan dijadikan port pada bridge ofc_bridge (saya mengunakan ineterface enp0s9 dan enp0s10)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
root@aio:~# ovs-vsctl add-port ofc_bridge enp0s9 root@aio:~# ovs-vsctl add-port ofc_bridge enp0s10 root@aio:~# ifconfig enp0s9 up root@aio:~# ifconfig enp0s10 up root@aio:~# ovs-vsctl show 42e9287a-996d-4674-b26b-56840e4dec2e Bridge ofc_bridge Port ofc_bridge Interface ofc_bridge type: internal Port "enp0s9" Interface "enp0s9" Port "enp0s10" Interface "enp0s10" ovs_version: "2.5.0" |
setelah itu kita memberikan ip address pada blue VM(192.168.10.2/24) dan green VM(192.168.10.3/24)
hasil ping dari VM Blue
hasil ping dari VM Green
setelah itu kita melihat table forwarding database sebagai MAC learning pada virtual switch
1 2 3 4 5 |
root@aio:~# ovs-appctl fdb/show ofc_bridge port VLAN MAC Age LOCAL 0 08:00:27:1e:7d:40 8 2 0 08:00:27:8e:c3:a7 8 1 0 08:00:27:8f:ef:f4 8 |
disitu terlihat nomor port yang dipakai dengan mac address dari client (blue dan green) VM
kemudian kita juga bisa melihat dump openflow
1 2 3 |
root@aio:~# ovs-ofctl dump-flows ofc_bridge NXST_FLOW reply (xid=0x4): cookie=0x0, duration=1468.363s, table=0, n_packets=208, n_bytes=16268, idle_age=295, priority=0 actions=NORMAL |
secara default akan terbentuk 1 flow pada port LOCAL namun antar vm belum bisa PING karena belum ada flow yang terbentuk.
kemudian kita bisa melihat openvswitch datapathnya untuk bisa memulai membuat aturan flownya
1 2 3 4 5 6 7 8 9 |
root@aio:~# ovs-dpctl show system@ovs-system: lookups: hit:240 missed:125 lost:0 flows: 2 masks: hit:577 total:2 hit/pkt:1.58 port 0: ovs-system (internal) port 1: ofc_bridge (internal) port 2: enp0s9 port 3: enp0s10 |
System Engineer
Komentar