112 | | sudo apt-get install libssl-dev |
113 | | sudo apt-get install ncurses-dev |
114 | | sudo apt-get install libpcap-dev |
115 | | sudo apt-get install g++ traceroute |
116 | | sudo apt-get install scons |
117 | | }}} |
118 | | * Download XORP source files |
119 | | {{{ |
120 | | cd |
121 | | wget http://www.xorp.org/releases/current/xorp-1.8.5-src.tar.bz2 |
122 | | tar jvxf xorp-1.8.5-src.tar.bz2 |
123 | | }}} |
124 | | |
125 | | * Compile and build `XORP` |
126 | | {{{ |
127 | | cd xorp |
128 | | scons |
129 | | sudo scons install |
130 | | }}} |
131 | | |
132 | | * Verify the `XORP` installation (Optional) |
133 | | {{{ |
134 | | scons check |
| 112 | }}} |
| 113 | * Download Quagga source files |
| 114 | {{{ |
| 115 | sudo apt-get install quagga |
| 116 | }}} |
| 117 | |
| 118 | * Enable IPv4 and IPv6 Forwarding: |
| 119 | {{{ |
| 120 | echo "net.ipv4.conf.all.forwarding=1" | sudo tee -a /etc/sysctl.conf |
| 121 | echo "net.ipv4.conf.default.forwarding=1" | sudo tee -a /etc/sysctl.conf |
| 122 | sed 's/#net.ipv6.conf.all.forwarding=1/net.ipv6.conf.all.forwarding=1/g' /etc/sysctl.conf | sudo tee /etc/sysctl.conf |
| 123 | echo "net.ipv6.conf.default.forwarding=1" | sudo tee -a /etc/sysctl.conf |
| 124 | sudo sysctl -p |
| 125 | }}} |
| 126 | |
| 127 | * Create the configuration files: |
| 128 | {{{ |
| 129 | sudo nano /etc/quagga/babeld.conf |
| 130 | sudo nano /etc/quagga/bgpd.conf |
| 131 | sudo nano /etc/quagga/isisd.conf |
| 132 | sudo nano /etc/quagga/ospf6d.conf |
| 133 | sudo nano /etc/quagga/ospfd.conf |
| 134 | sudo nano /etc/quagga/ripd.conf |
| 135 | sudo nano /etc/quagga/ripngd.conf |
| 136 | sudo nano /etc/quagga/vtysh.conf |
| 137 | sudo nano /etc/quagga/zebra.conf |
| 140 | * Change the owner and the mode of the configuration files: |
| 141 | {{{ |
| 142 | sudo chown quagga:quagga /etc/quagga/babeld.conf && sudo chmod 640 /etc/quagga/babeld.conf |
| 143 | sudo chown quagga:quagga /etc/quagga/bgpd.conf && sudo chmod 640 /etc/quagga/bgpd.conf |
| 144 | sudo chown quagga:quagga /etc/quagga/isisd.conf && sudo chmod 640 /etc/quagga/isisd.conf |
| 145 | sudo chown quagga:quagga /etc/quagga/ospf6d.conf && sudo chmod 640 /etc/quagga/ospf6d.conf |
| 146 | sudo chown quagga:quagga /etc/quagga/ospfd.conf && sudo chmod 640 /etc/quagga/ospfd.conf |
| 147 | sudo chown quagga:quagga /etc/quagga/ripd.conf && sudo chmod 640 /etc/quagga/ripd.conf |
| 148 | sudo chown quagga:quagga /etc/quagga/ripngd.conf && sudo chmod 640 /etc/quagga/ripngd.conf |
| 149 | sudo chown quagga:quaggavty /etc/quagga/vtysh.conf && sudo chmod 660 /etc/quagga/vtysh.conf |
| 150 | sudo chown quagga:quagga /etc/quagga/zebra.conf && sudo chmod 640 /etc/quagga/zebra.conf |
| 151 | }}} |
| 152 | |
| 153 | * Edit which routing protocols are to run: |
| 154 | {{{ |
| 155 | sudo nano /etc/quagga/daemons |
| 156 | zebra=yes |
| 157 | bgpd=yes |
| 158 | ospfd=yes |
| 159 | ospf6d=yes |
| 160 | ripd=yes |
| 161 | ripngd=yes |
| 162 | isisd=yes |
| 163 | babeld=yes |
| 164 | }}} |
| 165 | |
| 166 | * Edit telnet access and the retaining of routes over restarts: |
| 167 | {{{ |
| 168 | sudo nano /etc/quagga/debian.conf |
| 169 | vtysh_enable=yes |
| 170 | zebra_options=" --daemon -A 127.0.0.1 -P 2601 -u quagga -g quagga" |
| 171 | bgpd_options=" --daemon -A 127.0.0.1 -P 2605 -u quagga -g quagga --retain -p 179" |
| 172 | ospfd_options=" --daemon -A 127.0.0.1 -P 2604 -u quagga -g quagga" |
| 173 | ospf6d_options=" --daemon -A ::1 -P 2606 -u quagga -g quagga" |
| 174 | ripd_options=" --daemon -A 127.0.0.1 -P 2602 -u quagga -g quagga" |
| 175 | ripngd_options=" --daemon -A ::1 -P 2603 -u quagga -g quagga" |
| 176 | isisd_options=" --daemon -A 127.0.0.1 -P 2608 -u quagga -g quagga" |
| 177 | babeld_options=" --daemon -A 127.0.0.1 -P 2609 -u quagga -g quagga" |
| 178 | }}} |
| 179 | |
| 180 | * Restart the daemon: |
| 181 | {{{ |
| 182 | sudo /etc/init.d/quagga restart |
| 183 | }}} |