Tuesday, May 31, 2016

Konsep DMVPN Beserta Contoh Topologi & Konfigurasi DMVPN

Udah lama gak nulis lagi karna harus adaptasi di kantor baru dari system engineer jadi network presales engineer. Hahaha

Kali ini saya mau buat catetan tentang DMVPN di cisco router, berhubung kayanya ke depan bakal sering demo tentang ini di customer.

DMVPN (Dynamic Multipoint VPN) adalah salah satu konsep Design Private WAN Network yang merupakan evolusi dari model design Hub & Spoke tunneling konvensional. Jadi DMVPN itu bukan protokol tapi campuran dari beberapa kombinasi teknologi yaitu.
  • Multipoint GRE (mGRE).
  • Next Hop Resolution Protocol (NHRP).
  • Dynamic Routing Protocol. (OSPF, BGP, EIGRP dan teman2nya).
  • Dynamic IPSec Encryption.
  • Cisco Express Forwarding (CEF).
Meski di beberapa produk ada yang serupa namun yang perlu di catat sepertinya NHRP itu adalah teknologi cisco proprietary tecnology (CMIIW).


APA YANG MEMBUAT DMVPN BEDA DENGAN MODEL HUB & SPOKE KONVENSIONAL?

Teknik DMVPN menawarkan solusi menarik yang mampu membuat network kita menjadi lebih fleksibel dimana seluruh router akan saling terhubung seperti full mesh dalam satu subnet network dari WAN area network mereka.




Yang membedakan adalah apabila dibandingkan dengan dengan Design Hub & Spoke konvensional, maka dengan design seperti diatas memerlukan 3 buah tunnel yang terpisah dari Hub Router ke Setiap Spoke Router. Dengan teknik DMVPN kita melihat bahwa mGRE (multipoint GRE) akan memungkinkan 4 router memiliki satu buat interface dalam subnet yang sama 10.1.1.0/24.
Network subnet tersebut menggunakan jenis network NBMA (Non Broadcast Multiaccess) dan dengan dibantu protokol NHRP akan membuat multipoint tunnel tersebut terbentuk secara dynamic.

BAGAIMANA NHRP BEKERJA DALAM DMVPN?
NHRP adalah elemen penting dalam DMVPN yang memprovide tunnel-to-physical interfaces address resolution. Setiap spoke router akan berkomunikasi dengan hub router untuk mendapatkan physical address dari spoke router lainnya. 



CONTOH TOPOLOGI & KONFIGURASI
Dalam lab ini kita akan menggunakan topologi seperti dibawah ini.


Deskripsi :
Router 1 -> Akan berfungsi sebagai WAN/ISP network.
Router HUB -> Berfungsi sebagai Hub Router atau HQ.
Router 2, Router 3, Router 4 -> Berfungsi sebagai spoke router atau cabang.

Konfigurasi R1



Konfigurasi Physical Interfaces


Konfigurasi DMVPN / Tunnel Interface Config


Konfigurasi IPSEC 
Tambahkan konfigurasi ini kecuali di Router 1.








Dynamic Routing
Untuk konfigurasi bagian ini optional mau menggunakan ospf, bgp atau eigrp tapi di lab ini menggunakan eigrp. Jalankan konfigurasi di seluruh router kecuali router 1.







Verifikasi

















Done! Semoga bermanfaat....

Monday, May 16, 2016

List Openstack Command Line Interfaces

List command dibawah saya ambil dari blog relasi yang memang sehari-hari mainannnya openstack, ya karena saya udah di network biar gak lupa saya catat di blog saya (sumber tercantum dibawah). 
Yup list command ini sangat berguna dalam operational sehari-hari ketika kita menggunakan openstack.

IDENTITY (KEYSTONE)
List all users
$ keystone user-list
List Identity service catalog
$ keystone catalog

IMAGES (Glance)
List images you can access
$ glance image-list
Delete specified image
$ glance image-delete IMAGE
Describe a specific image
$ glance image-show IMAGE
Update image
$ glance image-update IMAGE
Upload kernel image
$ glance image-create --name "cirros-threepart-kernel"
  --disk-format aki --container-format aki --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-vmlinuz
Upload RAM image
$ glance image-create --name "cirros-threepart-ramdisk"
  --disk-format ari --container-format ari --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-initrd
Upload three-part image
$ glance image-create --name "cirros-threepart" --disk-format ami
  --container-format ami --is-public False
  --property kernel_id=$KID-property ramdisk_id=$RID
  --file ~/images/cirros-0.3.1~pre4-x86_64-blank.img
Register raw image
$ glance image-create --name "cirros-raw" --disk-format raw
  --container-format bare --is-public False
  --file ~/images/cirros-0.3.1~pre4-x86_64-disk.img

COMPUTE (Nova)
List instances, check status of instance
$ nova list
List images
$ nova image-list
List flavors
$ nova flavor-list
Boot an instance using flavor and image names (if names are unique)
$ nova boot --image IMAGE --flavor FLAVOR INSTANCE_NAME
$ nova boot --image cirros-0.3.1-x86_64-uec --flavor m1.tiny
  MyFirstInstance
Login to instance
# ip netns
# ip netns exec NETNS_NAME ssh USER@SERVER
# ip netns exec qdhcp-6021a3b4-8587-4f9c-8064-0103885dfba2
  ssh cirros@10.0.0.2
Note
In CirrOS the password for user cirros is “cubswin:)” tanpa quotes.

Show details of instance
$ nova show NAME
$ nova show MyFirstInstance
View console log of instance
$ nova console-log MyFirstInstance
Set metadata on an instance
$ nova meta volumeTwoImage set newmeta='my meta data'
Create an instance snapshot
$ nova image-create volumeTwoImage snapshotOfVolumeImage
$ nova image-show snapshotOfVolumeImage

PAUSE, SUSPEND, STOP, RESCUE, RESIZE, REBUILD, REBOOT INSTANCE
Pause
$ nova pause NAME
$ nova pause volumeTwoImage
Unpause
$ nova unpause NAME
Suspend
$ nova suspend NAME
Unsuspend
$ nova resume NAME
Stop
$ nova stop NAME
Start
$ nova start NAME
Rescue
$ nova rescue NAME
$ nova rescue NAME --rescue_image_ref RESCUE_IMAGE
Resize
$ nova resize NAME FLAVOR
$ nova resize my-pem-server m1.small
$ nova resize-confirm my-pem-server1
Rebuild
$ nova rebuild NAME IMAGE
$ nova rebuild newtinny cirros-qcow2
Reboot
$ nova reboot NAME
$ nova reboot newtinny
Inject user data and files into an instance
$ nova boot --user-data FILE INSTANCE
$ nova boot --user-data userdata.txt --image cirros-qcow2
  --flavor m1.tiny MyUserdataInstance2
Notes
To validate that the file was injected, use ssh to connect to the instance, and look in /var/lib/cloud for the file.
Inject a keypair into an instance and access the instance with that keypair

Create keypair
$ nova keypair-add test > test.pem
$ chmod 600 test.pem
Start an instance (boot)
$ nova boot --image cirros-0.3.0-x86_64 --flavor m1.small
  --key_name test MyFirstServer
Use ssh to connect to the instance
# ip netns exec qdhcp-98f09f1e-64c4-4301-a897-5067ee6d544f
  ssh -i test.pem cirros@10.0.0.4
Manage security groups
Add rules to default security group allowing ping and SSH between instances in the default security group
$ nova secgroup-add-group-rule default default icmp -1 -1
$ nova secgroup-add-group-rule default default tcp 22 22

NETWORKING (Neutron)
Create network
$ neutron net-create NAME
Create a subnet
$ neutron subnet-create NETWORK_NAME CIDR
$ neutron subnet-create my-network 10.0.0.0/29

BLOCK STORAGE (CINDER)
Used to manage volumes and volume snapshots that attach to instances.
Create a new volume
$ cinder create SIZE_IN_GB --display-name NAME
$ cinder create 1 --display-name MyFirstVolume
Boot an instance and attach to volume
$ nova boot --image cirros-qcow2 --flavor m1.tiny MyVolumeInstance
List volumes, notice status of volume
$ cinder list
Attach volume to instance after instance is active, and volume is available
$ nova volume-attach INSTANCE_ID VOLUME_ID auto
$ nova volume-attach MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8 auto
Note
On the Xen Hypervisor it is possible to provide a specific device name instead of automatic allocation. For example:
$ nova volume-attach MyVolumeInstance 573e024d-5235-49ce-8332-be1576d323f8 /dev/vdb
This is not currently possible when using non-Xen hypervisors with OpenStack.

Manage volumes after login into the instance.
List storage devices
# fdisk -l
Make filesystem on volume
# mkfs.ext3 /dev/vdb
Create a mountpoint
# mkdir /myspace
Mount the volume at the mountpoint
# mount /dev/vdb /myspace
Create a file on the volume
# touch /myspace/helloworld.txt
# ls /myspace
Unmount the volume
# umount /myspace

OBJECT STORAGE (Swift)
Display information for the account, container, or object
$ swift stat
$ swift stat ACCOUNT
$ swift stat CONTAINER
$ swift stat OBJECT
List containers
$ swift list

Sumber : pakguru.xyz