Difference between revisions of "TCP/IP: Quagga Bagaimana cara menggunakan"
Onnowpurbo (talk | contribs) |
Onnowpurbo (talk | contribs) |
||
Line 116: | Line 116: | ||
# | # | ||
vtysh_enable=yes | vtysh_enable=yes | ||
− | zebra_options=" --daemon -A " | + | zebra_options=" --daemon -A" |
− | bgpd_options=" --daemon -A " | + | bgpd_options=" --daemon -A" |
− | ospfd_options=" --daemon -A " | + | ospfd_options=" --daemon -A" |
− | ospf6d_options="--daemon -A " | + | ospf6d_options="--daemon -A" |
− | ripd_options=" --daemon -A " | + | ripd_options=" --daemon -A" |
− | ripngd_options="--daemon -A " | + | ripngd_options="--daemon -A" |
− | isisd_options=" --daemon -A " | + | isisd_options=" --daemon -A" |
+ | babeld_options=" --daemon -A" | ||
Konfigurasi "vtysh_enable=yes" dibutuhkan untuk mengakses router Quagga menggunakan vtysh. | Konfigurasi "vtysh_enable=yes" dibutuhkan untuk mengakses router Quagga menggunakan vtysh. | ||
Line 129: | Line 130: | ||
#/etc/init.d/quagga restart | #/etc/init.d/quagga restart | ||
− | |||
==VTYSH== | ==VTYSH== |
Revision as of 09:12, 13 November 2013
Daemon di Quagga
Kita harus mengaktifkan daemon di quagga sesuai dengan routing protokol yang kita inginkan di router kita.
zebra: Interface declaration and static routing bgpd: BGP routing protocol ospfd: OSPF routing protocol ospf6d: OSPF IPv6 routing protocol ripd: RIP v2 routing protocol ripngd: RIP Ipv6 routing protocol
Contoh di bawah, zebra dan IPv4 OSPF di aktifkan
# vi /etc/quagga/daemons
zebra=yes bgpd=no ospfd=yes ospf6d=no ripd=no ripngd=no isisd=no babeld=no
Restart layanan Quagga:
# /etc/init.d/quagga restart
Stopping Quagga monitor daemon: (waiting) .. watchquagga. Stopping Quagga daemons (prio:0): (ospfd) (zebra) (bgpd) (ripd) (ripngd) (ospf6d) (isisd) (babeld). Removing all routes made by zebra. Loading capability module if not yet done. Starting Quagga daemons (prio:10): zebra ospfd. Starting Quagga monitor daemon: watchquagga.
Kita dapat mencek status daemon Quagga menggunakan perintah:
# ps -ef | grep quagga
quagga 4407 1 0 14:32 ? 00:00:00 /usr/lib/quagga/zebra --daemon -A 192.168.1.255 -A 224.0.0.9 quagga 4411 1 0 14:32 ? 00:00:00 /usr/lib/quagga/ospfd --daemon -A 192.168.1.255 -A 224.0.0.9 root 4415 1 0 14:32 ? 00:00:00 /usr/lib/quagga/watchquagga --daemon zebra ospfd
Jika Quagga daemon tidak stop secara benar, kita dapat meng-kill secara manual dan men-start layanan Quagga:
# kill -9 "UID number" # /etc/init.d/quagga start
File Konfigurasi (file /etc/quagga/*.conf)
Kita harus membuat file konfigurasi (walaupun itu kosong) setiap kali kita akan mengaktifkan daemon Quagga. Setiap daemon akan membaca file tertentu:
vtysh: vtysh.conf zebra: zebra.conf bgpd: bgpd.conf ospfd: ospfd.conf ospf6d: ospf6d.conf ripd: ripd.conf ripngd: ripngd.conf isisd: isisd.conf babeld: babeld.conf
Untuk membuat file konfigurasi, yang paling sederhana adalah mengcopy file dari /usr/share/doc/quagga/examples/ sebagai berikut:
cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf cp /usr/share/doc/quagga/examples/zebra.conf.sample /etc/quagga/zebra.conf cp /usr/share/doc/quagga/examples/bgpd.conf.sample /etc/quagga/bgpd.conf cp /usr/share/doc/quagga/examples/ripd.conf.sample /etc/quagga/ripd.conf cp /usr/share/doc/quagga/examples/ripngd.conf.sample /etc/quagga/ripngd.conf cp /usr/share/doc/quagga/examples/ospfd.conf.sample /etc/quagga/ospfd.conf cp /usr/share/doc/quagga/examples/ospf6d.conf.sample /etc/quagga/ospf6d.conf cp /usr/share/doc/quagga/examples/isisd.conf.sample /etc/quagga/isisd.conf cp /usr/share/doc/quagga/examples/babeld.conf.sample /etc/quagga/babeld.conf
Sebetulnya kita dapat saja membuat file .conf kosong. Jika ini dilakukan, maka kita tidak dapat telnet ke daemon, kita perlu mengkonfigurasi ijin telnet dengan vtsh.
Selanjutnya, kita perlu memperbaiki user dan group agar sesuai dengan quagga dan quaggavty kepada file yang ada di dalam folder /etc/quagga:
chown quagga.quaggavty /etc/quagga/*.conf chmod 640 /etc/quagga/*.conf
Restart layanan Quagga :
# /etc/init.d/quagga restart
DEBIAN.CONF FILE
Default dari Quagga daemon akan mendengarkan interface loopback di 127.0.0.1. Artinya kita hanya bisa telnet di address 127.0.0.1 dan tidak bisa di akses secara remore.
Jika kita ingin telnet ke Quagga daemon dari remote, kita dapat mengedit file /etc/quagga/debian.conf. Kita dapat memasukan IP address yang di di telnet atau membuang semua opsi -A.
Contoh:
- daemon ospfd mendengarkan pada IP address 127.0.0.1 dan 192.168.1.104.
ospfd_options=" --daemon -A 127.0.0.1 192.168.1.104"
- daemon zebra mendengarkan semua IP address di interface Linux. Lebih di rekomendasikan untuk memfilter siapa yang dapat mengakses router.
zebra_options=" --daemon "
Berikut adalah rekomendasi file debian.conf:
#vim /etc/quagga/debian.conf
# If this option is set the /etc/init.d/quagga script automatically loads # the config via "vtysh -b" when the servers are started. # Check /etc/pam.d/quagga if you intend to use "vtysh"! # vtysh_enable=yes zebra_options=" --daemon -A" bgpd_options=" --daemon -A" ospfd_options=" --daemon -A" ospf6d_options="--daemon -A" ripd_options=" --daemon -A" ripngd_options="--daemon -A" isisd_options=" --daemon -A" babeld_options=" --daemon -A"
Konfigurasi "vtysh_enable=yes" dibutuhkan untuk mengakses router Quagga menggunakan vtysh.
Restart layanan Quagga
#/etc/init.d/quagga restart
VTYSH
As indicated in the Quagga introduction, you can access the daemons by telnetting their port number because each daemon has its own configuration file and terminal interface.
zebra 2601/tcp # zebra vty ripd 2602/tcp # ripd vty (zebra) ripngd 2603/tcp # ripngd vty (zebra) ospfd 2604/tcp # ospfd vty (zebra) bgpd 2605/tcp # bgpd vty (zebra) ospf6d 2606/tcp # ospf6d vty (zebra) ospfapi 2607/tcp # OSPF-API isisd 2608/tcp # ISISd vty (zebra)
By instance, to access the ospfd daemon:
# telnet localhost 2604
As it's not very practical to configure your router by telnetting its daemons separately, vtysh has been created to configure everything in one single interface.
To use vtysh, you must first create its configuration file as follows:
#cp /usr/share/doc/quagga/examples/vtysh.conf.sample /etc/quagga/vtysh.conf
/etc/quagga/vtysh.conf ! ! Sample ! ! service integrated-vtysh-config hostname quagga-router username root nopassword !
Apply correct permissions and restart Quagga:
#chown quagga.quaggavty /etc/quagga/*.conf #chmod 640 /etc/quagga/*.conf #/etc/init.d/quagga restart
In the example above the "service integrated-vtysh-config" setting has been disabled (recommended). In this case, when you save the config under vtysh, it will be stored in separate files depending on the protocols you activated. Below, an example where the Quagga configuration is saved under vtysh. (The zebra and ospfd daemons have been enabled.)
#vtysh quagga-router#write Configuration saved to /etc/quagga/zebra.conf Configuration saved to /etc/quagga/ospfd.conf
If you activate "service integrated-vtysh-config", the configuration under vtysh will be saved in one file called Quagga.conf in the /etc/quagga/ directory. With this setting, when you access a daemon via telnet, the daemon will look first to the Quagga.conf file before looking for its own file. This means that, when you telnet a device, there can be a difference between what you see after the "show run" command and the content of the associated file, for example zebra.conf.
#vtysh quagga-router#write Configuration saved to /etc/quagga/Quagga.conf
It is recommended to disable "service integrated-vtysh-config" because if this setting is enabled and in case of a syntax error in the Quagga.conf file, this can lead to all your daemons being unable to start up. This will not be case when "service integrated-vtysh-config" is disabled because the configurations are stored in separate files.
Check that the default "vtysh_enable=yes" setting are configured in your /etc/quagga/debian.conf file. You can read the previous paragraph about the debian.conf file to get more information.
Then it's useful to add the "VTYSH_PAGER=more" setting in your /etc/environment file, otherwise you will see an unfriendly "(END)" blinking in the left-down corner of the screen each time your enter a command and will need to press the "q" key to continue.
- echo VTYSH_PAGER=more > /etc/environment
Log off and log on to enable the environment setting. You can now access the Quagga router with the vtysh command:
- vtysh
Hello, this is Quagga (version 0.99.6). Copyright 1996-2005 Kunihiro Ishiguro, et al.
quagga-router#
If you want to run a Quagga command from the Linux shell:
- vtysh -c "command"
For instance, vtysh -c "show ip route" will display the Quagga routing table.
You can use Ping and traceroute to perform connectivity checks from the vtysh prompt. Of course, these two programs need to be installed on the Linux machine. Ping is generally installed by default but traceroute often not. To install traceroute:
- apt-get install traceroute
Top of the page
IP FORWARDING
IP forwarding is required to transfer packets between the network interfaces of a Linux system. See a picture of the Linux kernel routing.
#echo "1" > /proc/sys/net/ipv4/ip_forward
The command above will add the "1" value inside the /proc/sys/net/ipv4/ip_forward file and thus activate the IP forwarding. If you want to keep the IP forwarding after a Linux reboot:
#echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
It is possible to check the ip_forwarding status under the Quagga router:
#show ip forwarding
IP forwarding is on
In this case the IP forwarding is activated.
Top of the page.
SPEED/DUPLEX
It is not possible to set the duplex and speed settings on the Quagga plateform. You have to configure them at the Linux level. Use the interface configuration tutorial for assistance.