http://docs.frrouting.org/projects/dev-guide/en/latest/building-frr-for-centos7.html
CentOs7 :
git clone https://github.com/frrouting/frr.git frr
或者
git clone -b stable/7.0 https://github.com/frrouting/frr.git frr
安装json
yum install json-c json-c-devel
2、 一键安装解决依赖
yum install git autoconf automake libtool make \ readline-devel texinfo net-snmp-devel groff pkgconfig \ json-c-devel pam-devel bison flex pytest c-ares-devel \ python-devel systemd-devel python-sphinx libcap-devel
yum -y install cmake
安装yang
cd libyang
mkdir build; cd build
cmake -DENABLE_LYD_PRIV=ON -DCMAKE_INSTALL_PREFIX:PATH=/usr \
-D CMAKE_BUILD_TYPE:String="Release" ..
make
sudo make install
配置用户组
[root@host-10-10-18-195 yang]# vim frr.sh groupadd -g 92 frr groupadd -r -g 85 frrvty useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \ -c "FRR FRRouting suite" -d /var/run/frr frr [root@host-10-10-18-195 yang]# bash frr.sh groupadd: group 'frr' already exists groupadd: GID '85' already exists useradd: group 'frrvty' does not exist
配置
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/lib/frr \ --libexecdir=/usr/lib/frr \ --localstatedir=/var/run/frr \ --with-moduledir=/usr/lib/frr/modules \ --enable-snmp=agentx \ --enable-multipath=64 \ --enable-user=frr \ --enable-group=frr \ --enable-vty-group=frrvty \ --enable-systemd=yes \ --disable-exampledir \ --disable-ldpd \ --enable-fpm \ --with-pkg-git-version \ --with-pkg-extra-version=-MyOwnFRRVersion \ SPHINXBUILD=/usr/bin/sphinx-build
make make check sudo make install
[root@host-10-10-18-195 frr-stable-7.3]# install -p -m 644 tools/etc/frr/daemons /etc/frr/ [root@host-10-10-18-195 frr-stable-7.3]# chown frr:frr /etc/frr/daemons [root@host-10-10-18-195 frr-stable-7.3]#
[root@host-10-10-18-195 frr-stable-7.3]# touch /etc/sysctl.d/90-routing-sysctl.conf
[root@host-10-10-18-195 frr-stable-7.3]# vim /etc/sysctl.d/90-routing-sysctl.conf
# Sysctl for routing
# #
# # Routing: We need to forward packets
net.ipv4.conf.all.forwarding=1
net.ipv6.conf.all.forwarding=1
[root@host-10-10-18-195 frr-stable-7.3]# sysctl -p /etc/sysctl.d/90-routing-sysctl.conf
net.ipv4.conf.all.forwarding = 1
net.ipv6.conf.all.forwarding = 1
[root@host-10-10-18-195 frr-stable-7.3]# install -p -m 644 tools/frr.service /usr/lib/systemd/system/frr.service
[root@host-10-10-18-195 frr-stable-7.3]# systemctl preset frr.service
[root@host-10-10-18-195 frr-stable-7.3]# systemctl enable frr
Created symlink from /etc/systemd/system/multi-user.target.wants/frr.service to /usr/lib/systemd/system/frr.service.
关掉quagga
[root@host-10-10-18-195 frr-stable-7.3]# service bgpd stop
Redirecting to /bin/systemctl stop bgpd.service
[root@host-10-10-18-195 frr-stable-7.3]# service zebra stop
Redirecting to /bin/systemctl stop zebra.service
配置文件目录
--enable-vty-group=frrvty \
原来是忘记执行:
useradd -u 92 -g 92 -M -r -G frrvty -s /sbin/nologin \ -c "FRR FRRouting suite" -d /var/run/frr frr