TNSR (dibaca “tensor”) adalah high-performance Software Router keluaran Netgate. High-performance maksudnya adalah TNSR didesain untuk meng-handle trafik packet dalam kecepatan tinggi hingga 100+ Gbps. TNSR dibuat di atas Linux Ubuntu, jadi untuk instalasi awalnya seperti kita sedang menginstall Ubuntu Server.
Pre-requisites
- GNS3 sudah terinstall dan berfungsi dengan normal (Tulisan ini tidak mencakup cara instalasi dan konfigurasi GNS3)
- File .iso TNSR (dikarenakan TNSR bukan free software, maka cara mendapatkannya penulis serahkan kepada pembaca.)
Actually you can download it for free somewhere on Internet
- Naikkan spek GNS3 VM. Contoh, VCPU 12 dan RAM 12GB. Karena Qemu TNSR akan kita setup di dalam GNS3 VM.
Installation
Step 1. Buka GNS3 dan Buat Project Baru
Step 2. Masuk ke Edit -> Preferences -> Qemu VMs

Step 3. Pilih New -> Run this Qemu on the GNS3 VM
Step 4. Tentukan Nama Qemu VM
Step 5. Sesuaikan RAM size (4GB)
Step 6. Next Sampai Tab Disk Image, lalu pilih empty10G.qcow2

Kemudian pilih Finish.
Step 7. Pilih Edit pada Qemu VM TNSR Yang Telah Dibuat
Ganti vCPUs menjadi 4. Sesuaikan juga Category dan Symbol seperti gambar di atas.
Step 8. Masukkan file .iso TNSR pada tab “CD/DVD”.

Step 9. Sesuaikan Konfigurasi Network Adapter

Step 10. Tambahkan Qemu Options pada Tab Advanced

-machine pc,accel=kvm -cpu qemu64,+ssse3,+sse4.1,+sse4.2 -vga virtio -usbdevice tablet -boot order=cd
Baris di atas perlu ditambahkan agar TNSR dapat membaca dan menggunakan network adapter pada VM.
Selanjutnya pilih OK. Pilih Apply pada halaman Preferences -> Qemu VMs
Step 11. Tarik Template TNSR yang Sudah Jadi dan Jalankan, Lalu Buka Console
Step 12. Lanjutkan proses instalasi dengan mengikuti panduan di bawah:





Setelah memilih Reboot Now, seharusnya VM tersebut reboot dan menampilkan halaman login. Akan tetapi yang penulis temui VM tersebut stuck. Oleh karena itu silakan klik kanan VM/node lalu pilih reload, kemudian buka console kembali. Setelah itu kita dapat melihat proses booting selama 1-3 menit sampai ke halaman login.
Konfigurasi Topologi Sederhana Menggunakan TNSR
Selanjutnya kita membuat topologi IP ptp sederhana antara TNSR dengan Mikrotik CHR seperti berikut:

Step 1. Login ke TNSR
Ada 2 user pada Router TNSR. 1 User yang dibuat saat proses instalasi untuk mengakses host, dan 1 user TNSR untuk mengakses Router.
TNSR Default Login
username: tnsr
password: tnsr-default
Step 2. Aktifkan interface yang akan digunakan oleh TNSR
tnsr tnsr# conf t
tnsr tnsr(config)# dataplane dpdk dev ?
0000:00:03.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01) ( Active Interface ens3 )
0000:00:04.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
0000:00:05.0 Ethernet controller: VMware VMXNET3 Ethernet Controller (rev 01)
default
tnsr tnsr(config)# dataplane dpdk dev
Interface dengan keterangan (Active Interface) menunjukkan bahwa interface tersebut digunakan oleh host. Jadi interface tersebut tidak bisa digunakan untuk routing oleh TNSR. Sedangkan 2 interface di bawahnya adalah ens4 dan ens5 yang statusnya disabled pada saat instalasi sebelumnya.
Kesimpulannya, agar interface dapat digunakan oleh TNSR, maka interface tersebut harus dalam keadaan mati/disabled dari sisi host.
tnsr tnsr(config)# dataplane dpdk dev 0000:00:04 network
Changes to dataplane startup settings require a dataplane restart to take effect.
tnsr tnsr(config)# dataplane dpdk dev 0000:00:05 network
Changes to dataplane startup settings require a dataplane restart to take effect.
tnsr tnsr(config)#
tnsr tnsr(config)# service dataplane restart
Command di atas mengaktifkan interface dengan kode 0000:00:04 dan 0000:00:05 agar dapat digunakan oleh TNSR. Lalu me-restart dataplane.
tnsr tnsr(config)# show interface
<cr>
GigabitEthernet0/4/0 Interface name
GigabitEthernet0/5/0 Interface name
access-list Access Control List
acl Access Control List
bond Bond interfaces
bonding Bonding status of hardware interfaces
bridge Bridge Domain
counters Interface statistics
ip IPv4
ipv4 IPv4
ipv6 IPv6
lacp LACP details
link Link status
local0 Interface name
mac-address MAC address
memif Memif interfaces
rx-queues Rx-queue / CPU
subif Subinterface
tap Tap objects
vlan VLAN
vtr VLAN Tag rewrite
tnsr tnsr(config)# show interface
Command show interface di atas menunjukkan GigabitEthernet0/4/0 (0000:00:04) dan GigabitEthernet0/5/0 (0000:00:05) sudah terdeteksi dan diambil alih oleh TNSR.
Step 3. Pasang IP pada Interface
tnsr tnsr(config)# interface GigabitEthernet0/4/0
tnsr tnsr(config-interface)# ip address 10.0.0.1/30
tnsr tnsr(config-interface)# enable
tnsr tnsr(config)# show interface GigabitEthernet0/4/0
Interface: GigabitEthernet0/4/0
Admin status: up
Link up, link-speed 10 Gbps, full duplex
Link MTU: 1500 bytes
MAC address: 0c:bd:7f:56:00:01
IPv4 MTU: 0 bytes
IPv4 Route Table: ipv4-VRF:0
IPv4 addresses:
10.0.0.1/30
tnsr tnsr(config)# ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
64 bytes from 10.0.0.2: icmp_seq=1 ttl=64 time=2.41 ms
64 bytes from 10.0.0.2: icmp_seq=2 ttl=64 time=0.835 ms
64 bytes from 10.0.0.2: icmp_seq=3 ttl=64 time=1.06 ms
64 bytes from 10.0.0.2: icmp_seq=4 ttl=64 time=0.609 ms
^C
--- 10.0.0.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3035ms
rtt min/avg/max/mdev = 0.609/1.229/2.414/0.702 ms
BGP Menggunakan TNSR
tnsr tnsr(config)# route dynamic bgp
tnsr tnsr(config-frr-bgp)# enable
tnsr tnsr(config-frr-bgp)# server vrf default
tnsr tnsr(config-bgp)# as-number 64698
tnsr tnsr(config-bgp)# router-id 10.0.0.1
tnsr tnsr(config-bgp)# neighbor 10.0.0.2
tnsr tnsr(config-bgp-neighbor)# remote-as 64699
tnsr tnsr(config-bgp-neighbor)# enable
tnsr tnsr(config-bgp-neighbor)# exit
tnsr tnsr(config-bgp)# exit
tnsr tnsr(config-frr-bgp)# exit
tnsr tnsr# show route dynamic bgp neighbors 10.0.0.2
BGP neighbor is 10.0.0.2, remote AS 64699, local AS 64698, external link
BGP version 4, remote router ID 10.0.0.2, local router ID 10.0.0.1
BGP state = Established, up for 00:03:50
Last read 00:00:50, Last write 00:00:50
Hold time is 180, keepalive interval is 60 seconds
Configured conditional advertisements interval is 60 seconds
Penutup
TNSR mampu meng-handle full Internet prefix dan jutaan pps dengan hardware yang memadai. Sehingga sangat cocok untuk jaringan skala menengah ke atas. Dari pengalaman penulis, TNSR tidak pernah menjadi titik bottleneck di saat penggunaan trafik yang tinggi atau DDoS sekalipun. Configuration style-nya pun sangat terstruktur, sehingga orang-orang yang familiar dengan Cisco, Juniper, atau Aruba, akan bisa menguasainya dengan lebih mudah.






