mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-05-29 15:07:51 +00:00
Merge pull request #803 from opensourcerouting/redhat-doc-fixes-master
Redhat doc fixes for master branch
This commit is contained in:
commit
888efdbb5e
@ -1,6 +1,10 @@
|
||||
Building FRR on CentOS 6 from Git Source
|
||||
========================================
|
||||
|
||||
(As an alternative to this installation, you may prefer to create a FRR
|
||||
rpm package yourself and install that package instead. See instructions
|
||||
in redhat/README.rpm_build.md on how to build a rpm package)
|
||||
|
||||
Instructions are tested with `CentOS 6.8` on `x86_64` platform
|
||||
|
||||
CentOS 6 restrictions:
|
||||
@ -16,13 +20,15 @@ Install required packages
|
||||
|
||||
Add packages:
|
||||
|
||||
sudo yum install git autoconf automake libtool make gawk readline-devel \
|
||||
texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
|
||||
flex c-ares-devel epel-release rpm-build libcap-devel texi2html
|
||||
sudo yum install git autoconf automake libtool make gawk \
|
||||
readline-devel texinfo net-snmp-devel groff pkgconfig \
|
||||
json-c-devel pam-devel flex epel-release perl-XML-LibXML \
|
||||
c-ares-devel
|
||||
|
||||
Install newer version of bison (CentOS 6 package source is too old) from
|
||||
CentOS 7
|
||||
|
||||
sudo yum install rpm-build
|
||||
curl -O http://vault.centos.org/7.0.1406/os/Source/SPackages/bison-2.7-4.el7.src.rpm
|
||||
rpmbuild --rebuild ./bison-2.7-4.el7.src.rpm
|
||||
sudo yum install ./rpmbuild/RPMS/x86_64/bison-2.7-4.el6.x86_64.rpm
|
||||
@ -46,13 +52,14 @@ Install newer version of autoconf and automake (Package versions are too old)
|
||||
sudo make install
|
||||
cd ..
|
||||
|
||||
Install `Python 2.7` in parallel to default 2.6
|
||||
Install `Python 2.7` in parallel to default 2.6.
|
||||
Make sure you've install EPEL (`epel-release` as above). Then install current
|
||||
`python2.7` and `pytest`
|
||||
`python27`, `python27-devel` and `pytest`
|
||||
|
||||
rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
|
||||
yum install python27 python27-devel python27-pip
|
||||
pip2.7 install pytest
|
||||
sudo rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
|
||||
sudo rpm -ivh https://centos6.iuscommunity.org/ius-release.rpm
|
||||
sudo yum install python27 python27-pip python27-devel
|
||||
sudo pip2.7 install pytest
|
||||
|
||||
Please note that `CentOS 6` needs to keep python pointing to version 2.6
|
||||
for `yum` to keep working, so don't create a symlink for python2.7 to python
|
||||
@ -74,17 +81,17 @@ any packages**
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
|
||||
You may want to pay special attention to `/usr/lib64` paths and change
|
||||
them if you are not building on a x86_64 architecture
|
||||
|
||||
git clone https://github.com/frrouting/frr.git frr
|
||||
cd frr
|
||||
./bootstrap.sh
|
||||
./configure \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/lib/frr \
|
||||
--sysconfdir=/etc/frr \
|
||||
--libdir=/usr/lib64/frr \
|
||||
--libexecdir=/usr/lib64/frr \
|
||||
--libdir=/usr/lib/frr \
|
||||
--libexecdir=/usr/lib/frr \
|
||||
--localstatedir=/var/run/frr \
|
||||
--with-moduledir=/usr/lib/frr/modules \
|
||||
--disable-pimd \
|
||||
--enable-snmp=agentx \
|
||||
--enable-multipath=64 \
|
||||
@ -97,7 +104,11 @@ them if you are not building on a x86_64 architecture
|
||||
--disable-exampledir \
|
||||
--enable-watchfrr \
|
||||
--enable-tcp-zebra \
|
||||
--disable-ldpd \
|
||||
--enable-fpm \
|
||||
--enable-nhrpd \
|
||||
--enable-eigrpd \
|
||||
--enable-babeld \
|
||||
--with-pkg-git-version \
|
||||
--with-pkg-extra-version=-MyOwnFRRVersion
|
||||
make
|
||||
@ -114,11 +125,23 @@ them if you are not building on a x86_64 architecture
|
||||
sudo touch /etc/frr/isisd.conf
|
||||
sudo touch /etc/frr/ripd.conf
|
||||
sudo touch /etc/frr/ripngd.conf
|
||||
sudo touch /etc/frr/nhrpd.conf
|
||||
sudo touch /etc/frr/eigrpd.conf
|
||||
sudo touch /etc/frr/babeld.conf
|
||||
sudo chown -R frr:frr /etc/frr/
|
||||
sudo touch /etc/frr/vtysh.conf
|
||||
sudo chown frr:frrvt /etc/frr/vtysh.conf
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
### Install daemon config file
|
||||
sudo install -p -m 644 redhat/daemons /etc/frr/
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
### Edit /etc/frr/daemons as needed to select the required daemons
|
||||
|
||||
Look for the section with `watchfrr_enable=...` and `zebra=...` etc.
|
||||
Enable the daemons as required by changing the value to `yes`
|
||||
|
||||
### Enable IP & IPv6 forwarding
|
||||
|
||||
Edit `/etc/sysctl.conf` and set the following values (ignore the other
|
||||
@ -131,28 +154,16 @@ settings)
|
||||
# Controls source route verification
|
||||
net.ipv4.conf.default.rp_filter = 0
|
||||
|
||||
**Reboot** or use `sysctl` to apply the same config to the running system
|
||||
Load the modifed sysctl's on the system:
|
||||
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
### Add init.d startup files
|
||||
sudo cp redhat/bgpd.init /etc/init.d/bgpd
|
||||
sudo cp redhat/isisd.init /etc/init.d/isisd
|
||||
sudo cp redhat/ospfd.init /etc/init.d/ospfd
|
||||
sudo cp redhat/ospf6d.init /etc/init.d/ospf6d
|
||||
sudo cp redhat/ripngd.init /etc/init.d/ripngd
|
||||
sudo cp redhat/ripd.init /etc/init.d/ripd
|
||||
sudo cp redhat/zebra.init /etc/init.d/zebra
|
||||
sudo chkconfig --add zebra
|
||||
sudo chkconfig --add ripd
|
||||
sudo chkconfig --add ripngd
|
||||
sudo chkconfig --add ospf6d
|
||||
sudo chkconfig --add ospfd
|
||||
sudo chkconfig --add bgpd
|
||||
sudo chkconfig --add isisd
|
||||
sudo install -p -m 755 redhat/frr.init /etc/init.d/frr
|
||||
sudo chkconfig --add frr
|
||||
|
||||
### Enable required daemons at startup
|
||||
Only enable zebra and the daemons which are needed for your setup
|
||||
### Enable frr daemon at startup
|
||||
sudo chkconfig frr on
|
||||
|
||||
sudo chkconfig zebra on
|
||||
sudo chkconfig ospfd on
|
||||
sudo chkconfig bgpd on
|
||||
[...] etc (as needed)
|
||||
### Start FRR manually (or reboot)
|
||||
sudo /etc/init.d/frr start
|
||||
|
@ -1,6 +1,10 @@
|
||||
Building FRR on CentOS 7 from Git Source
|
||||
========================================
|
||||
|
||||
(As an alternative to this installation, you may prefer to create a FRR
|
||||
rpm package yourself and install that package instead. See instructions
|
||||
in redhat/README.rpm_build.md on how to build a rpm package)
|
||||
|
||||
CentOS 7 restrictions:
|
||||
----------------------
|
||||
|
||||
@ -13,13 +17,10 @@ Install required packages
|
||||
|
||||
Add packages:
|
||||
|
||||
sudo yum install git autoconf automake libtool make gawk readline-devel \
|
||||
texinfo net-snmp-devel groff pkgconfig json-c-devel pam-devel \
|
||||
bison flex pytest c-ares-devel python-devel rpm-build
|
||||
|
||||
To build from git (in difference to building from distribution tar.gz as created by `make dist`), the python development libraries are needed. (Make sure you've installed EPEL libraries as shown above for this to work)
|
||||
|
||||
yum install python34-devel
|
||||
sudo yum install git autoconf automake libtool make gawk \
|
||||
readline-devel texinfo net-snmp-devel groff pkgconfig \
|
||||
json-c-devel pam-devel bison flex pytest c-ares-devel \
|
||||
perl-XML-LibXML python-devel
|
||||
|
||||
Get FRR, compile it and install it (from Git)
|
||||
---------------------------------------------
|
||||
@ -38,17 +39,18 @@ any packages**
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
|
||||
You may want to pay special attention to `/usr/lib64` paths and change
|
||||
them if you are not building on a x86_64 architecture
|
||||
|
||||
git clone https://github.com/frrouting/frr.git frr
|
||||
cd frr
|
||||
./bootstrap.sh
|
||||
./configure \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/lib/frr \
|
||||
--sysconfdir=/etc/frr \
|
||||
--libdir=/usr/lib64/frr \
|
||||
--libexecdir=/usr/lib64/frr \
|
||||
--libdir=/usr/lib/frr \
|
||||
--libexecdir=/usr/lib/frr \
|
||||
--localstatedir=/var/run/frr \
|
||||
--with-moduledir=/usr/lib/frr/modules \
|
||||
--enable-pimd \
|
||||
--enable-snmp=agentx \
|
||||
--enable-multipath=64 \
|
||||
--enable-ospfclient=yes \
|
||||
@ -60,7 +62,11 @@ them if you are not building on a x86_64 architecture
|
||||
--disable-exampledir \
|
||||
--enable-watchfrr \
|
||||
--enable-tcp-zebra \
|
||||
--disable-ldpd \
|
||||
--enable-fpm \
|
||||
--enable-nhrpd \
|
||||
--enable-eigrpd \
|
||||
--enable-babeld \
|
||||
--with-pkg-git-version \
|
||||
--with-pkg-extra-version=-MyOwnFRRVersion
|
||||
make
|
||||
@ -78,11 +84,23 @@ them if you are not building on a x86_64 architecture
|
||||
sudo touch /etc/frr/ripd.conf
|
||||
sudo touch /etc/frr/ripngd.conf
|
||||
sudo touch /etc/frr/pimd.conf
|
||||
sudo touch /etc/frr/nhrpd.conf
|
||||
sudo touch /etc/frr/eigrpd.conf
|
||||
sudo touch /etc/frr/babeld.conf
|
||||
sudo chown -R frr:frr /etc/frr/
|
||||
sudo touch /etc/frr/vtysh.conf
|
||||
sudo chown frr:frrvt /etc/frr/vtysh.conf
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
### Install daemon config file
|
||||
sudo install -p -m 644 redhat/daemons /etc/frr/
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
### Edit /etc/frr/daemons as needed to select the required daemons
|
||||
|
||||
Look for the section with `watchfrr_enable=...` and `zebra=...` etc.
|
||||
Enable the daemons as required by changing the value to `yes`
|
||||
|
||||
### Enable IP & IPv6 forwarding
|
||||
|
||||
Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the
|
||||
@ -94,33 +112,19 @@ following content:
|
||||
net.ipv4.conf.all.forwarding=1
|
||||
net.ipv6.conf.all.forwarding=1
|
||||
|
||||
**Reboot** or use `sysctl` to apply the same config to the running system
|
||||
Load the modifed sysctl's on the system:
|
||||
|
||||
### Install Service files
|
||||
sudo install -p -m 644 redhat/zebra.service /usr/lib/systemd/system/zebra.service
|
||||
sudo install -p -m 644 redhat/isisd.service /usr/lib/systemd/system/isisd.service
|
||||
sudo install -p -m 644 redhat/ripd.service /usr/lib/systemd/system/ripd.service
|
||||
sudo install -p -m 644 redhat/ospfd.service /usr/lib/systemd/system/ospfd.service
|
||||
sudo install -p -m 644 redhat/bgpd.service /usr/lib/systemd/system/bgpd.service
|
||||
sudo install -p -m 644 redhat/ospf6d.service /usr/lib/systemd/system/ospf6d.service
|
||||
sudo install -p -m 644 redhat/ripngd.service /usr/lib/systemd/system/ripngd.service
|
||||
sudo install -p -m 644 redhat/pimd.service /usr/lib/systemd/system/pimd.service
|
||||
sudo install -p -m 644 redhat/frr.sysconfig /etc/sysconfig/frr
|
||||
sudo install -p -m 644 redhat/frr.logrotate /etc/logrotate.d/frr
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
### Install frr Service and redhat init files
|
||||
sudo install -p -m 644 redhat/frr.service /usr/lib/systemd/system/frr.service
|
||||
sudo install -p -m 755 redhat/frr.init /usr/lib/frr/frr
|
||||
|
||||
### Register the systemd files
|
||||
sudo systemctl preset zebra.service
|
||||
sudo systemctl preset ripd.service
|
||||
sudo systemctl preset ospfd.service
|
||||
sudo systemctl preset bgpd.service
|
||||
sudo systemctl preset ospf6d.service
|
||||
sudo systemctl preset ripngd.service
|
||||
sudo systemctl preset pimd.service
|
||||
sudo systemctl preset frr.service
|
||||
|
||||
### Enable required daemons at startup
|
||||
Only enable zebra and the daemons which are needed for your setup
|
||||
### Enable required frr at startup
|
||||
sudo systemctl enable frr
|
||||
|
||||
sudo systemctl enable zebra
|
||||
sudo systemctl enable ospfd
|
||||
sudo systemctl enable bgpd
|
||||
[...] etc (as needed)
|
||||
### Reboot or start FRR manually
|
||||
sudo systemctl start frr
|
||||
|
@ -1,14 +1,19 @@
|
||||
Building FRR on Fedora 24 from Git Source
|
||||
=========================================
|
||||
|
||||
(As an alternative to this installation, you may prefer to create a FRR
|
||||
rpm package yourself and install that package instead. See instructions
|
||||
in redhat/README.rpm_build.md on how to build a rpm package)
|
||||
|
||||
Install required packages
|
||||
-------------------------
|
||||
|
||||
Add packages:
|
||||
|
||||
sudo dnf install git autoconf automake libtool make gawk \
|
||||
readline-devel texinfo net-snmp-devel groff pkgconfig \
|
||||
json-c-devel pam-devel c-ares-devel python3-devel
|
||||
readline-devel texinfo net-snmp-devel groff pkgconfig \
|
||||
json-c-devel pam-devel perl-XML-LibXML pytest bison flex \
|
||||
c-ares-devel python3-devel
|
||||
|
||||
Get FRR, compile it and install it (from Git)
|
||||
---------------------------------------------
|
||||
@ -27,17 +32,17 @@ using any packages**
|
||||
(You may prefer different options on configure statement. These are just
|
||||
an example.)
|
||||
|
||||
You may want to pay special attention to `/usr/lib64` paths and change
|
||||
them if you are not building on a x86_64 architecture
|
||||
|
||||
git clone https://github.com/frrouting/frr.git frr
|
||||
cd frr
|
||||
./bootstrap.sh
|
||||
./configure \
|
||||
--bindir=/usr/bin \
|
||||
--sbindir=/usr/lib/frr \
|
||||
--sysconfdir=/etc/frr \
|
||||
--libdir=/usr/lib64/frr \
|
||||
--libexecdir=/usr/lib64/frr \
|
||||
--libdir=/usr/lib/frr \
|
||||
--libexecdir=/usr/lib/frr \
|
||||
--localstatedir=/var/run/frr \
|
||||
--with-moduledir=/usr/lib/frr/modules \
|
||||
--enable-pimd \
|
||||
--enable-snmp=agentx \
|
||||
--enable-multipath=64 \
|
||||
@ -50,7 +55,11 @@ them if you are not building on a x86_64 architecture
|
||||
--disable-exampledir \
|
||||
--enable-watchfrr \
|
||||
--enable-tcp-zebra \
|
||||
--enable-ldpd \
|
||||
--enable-fpm \
|
||||
--enable-nhrpd \
|
||||
--enable-eigrpd \
|
||||
--enable-babeld \
|
||||
--with-pkg-git-version \
|
||||
--with-pkg-extra-version=-MyOwnFRRVersion
|
||||
make
|
||||
@ -70,11 +79,22 @@ them if you are not building on a x86_64 architecture
|
||||
sudo touch /etc/frr/pimd.conf
|
||||
sudo touch /etc/frr/ldpd.conf
|
||||
sudo touch /etc/frr/nhrpd.conf
|
||||
sudo touch /etc/frr/eigrpd.conf
|
||||
sudo touch /etc/frr/babeld.conf
|
||||
sudo chown -R frr:frr /etc/frr/
|
||||
sudo touch /etc/frr/vtysh.conf
|
||||
sudo chown frr:frrvt /etc/frr/vtysh.conf
|
||||
sudo chmod 640 /etc/frr/*.conf
|
||||
|
||||
### Install daemon config file
|
||||
sudo install -p -m 644 redhat/daemons /etc/frr/
|
||||
sudo chown frr:frr /etc/frr/daemons
|
||||
|
||||
### Edit /etc/frr/daemons as needed to select the required daemons
|
||||
|
||||
Look for the section with `watchfrr_enable=...` and `zebra=...` etc.
|
||||
Enable the daemons as required by changing the value to `yes`
|
||||
|
||||
### Enable IP & IPv6 forwarding (and MPLS)
|
||||
|
||||
Create a new file `/etc/sysctl.d/90-routing-sysctl.conf` with the
|
||||
@ -94,41 +114,26 @@ to `net.mpls.conf.eth0.input=1`)
|
||||
net.mpls.conf.eth2.input=1
|
||||
net.mpls.platform_labels=100000
|
||||
|
||||
Load the modifed sysctl's on the system:
|
||||
|
||||
sudo sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
|
||||
|
||||
Create a new file `/etc/modules-load.d/mpls.conf` with the following content:
|
||||
|
||||
# Load MPLS Kernel Modules
|
||||
mpls-router
|
||||
mpls-iptunnel
|
||||
|
||||
**Reboot** or use `sysctl` to apply the same config to the running system
|
||||
And load the kernel modules on the running system:
|
||||
|
||||
### Install Service files
|
||||
install -p -m 644 redhat/zebra.service /usr/lib/systemd/system/zebra.service
|
||||
install -p -m 644 redhat/isisd.service /usr/lib/systemd/system/isisd.service
|
||||
install -p -m 644 redhat/ripd.service /usr/lib/systemd/system/ripd.service
|
||||
install -p -m 644 redhat/ospfd.service /usr/lib/systemd/system/ospfd.service
|
||||
install -p -m 644 redhat/bgpd.service /usr/lib/systemd/system/bgpd.service
|
||||
install -p -m 644 redhat/ospf6d.service /usr/lib/systemd/system/ospf6d.service
|
||||
install -p -m 644 redhat/ripngd.service /usr/lib/systemd/system/ripngd.service
|
||||
install -p -m 644 redhat/pimd.service /usr/lib/systemd/system/pimd.service
|
||||
install -p -m 644 redhat/ldpd.service /usr/lib/systemd/system/ldpd.service
|
||||
install -p -m 644 redhat/frr.sysconfig /etc/sysconfig/frr
|
||||
install -p -m 644 redhat/frr.logrotate /etc/logrotate.d/frr
|
||||
sudo modprobe mpls-router mpls-iptunnel
|
||||
|
||||
### Register the systemd files
|
||||
systemctl preset zebra.service
|
||||
systemctl preset ripd.service
|
||||
systemctl preset ospfd.service
|
||||
systemctl preset bgpd.service
|
||||
systemctl preset ospf6d.service
|
||||
systemctl preset ripngd.service
|
||||
systemctl preset pimd.service
|
||||
systemctl preset ldpd.service
|
||||
### Install frr Service and redhat init files
|
||||
sudo install -p -m 644 redhat/frr.service /usr/lib/systemd/system/frr.service
|
||||
sudo install -p -m 755 redhat/frr.init /usr/lib/frr/frr
|
||||
|
||||
### Enable required daemons at startup
|
||||
Only enable zebra and the daemons which are needed for your setup
|
||||
### Enable required frr at startup
|
||||
sudo systemctl enable frr
|
||||
|
||||
systemctl enable zebra
|
||||
systemctl enable ospfd
|
||||
systemctl enable bgpd
|
||||
[...] etc (as needed)
|
||||
### Reboot or start FRR manually
|
||||
sudo systemctl start frr
|
||||
|
@ -45,8 +45,10 @@ ripd=no
|
||||
ripngd=no
|
||||
isisd=no
|
||||
ldpd=no
|
||||
pimd=no
|
||||
nhrpd=no
|
||||
eigrpd=no
|
||||
babeld=no
|
||||
#
|
||||
# Command line options for the daemons
|
||||
#
|
||||
@ -58,6 +60,8 @@ ripd_options=("-A 127.0.0.1")
|
||||
ripngd_options=("-A ::1")
|
||||
isisd_options=("-A 127.0.0.1")
|
||||
ldpd_options=("-A 127.0.0.1")
|
||||
pimd_options=("-A 127.0.0.1")
|
||||
nhrpd_options=("-A 127.0.0.1")
|
||||
eigrpd_options=("-A 127.0.0.1")
|
||||
babeld_options=("-A 127.0.0.1")
|
||||
|
||||
|
@ -33,7 +33,7 @@ V_PATH=/var/run/frr
|
||||
# Local Daemon selection may be done by using /etc/frr/daemons.
|
||||
# See /usr/share/doc/frr/README.Debian.gz for further information.
|
||||
# Keep zebra first and do not list watchfrr!
|
||||
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd ldpd nhrpd eigrpd"
|
||||
DAEMONS="zebra bgpd ripd ripngd ospfd ospf6d isisd pimd ldpd nhrpd eigrpd babeld"
|
||||
MAX_INSTANCES=5
|
||||
RELOAD_SCRIPT=/usr/lib/frr/frr-reload.py
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user