新建一个lxc的Ubuntu容器,再进行下列操作。

1 安装环境依赖

sudo apt-get install \git autoconf automake libtool make libreadline-dev texinfo \pkg-config libpam0g-dev libjson-c-dev bison flex \libc-ares-dev python3-dev python3-sphinx \install-info build-essential libsnmp-dev perl \libcap-dev python2 libelf-dev libunwind-dev

2 安装pip

curl https://bootstrap.pypa.io/pip/2.7/get-pip.py --output get-pip.pysudo python2 ./get-pip.py

查看安装是否成功

pip2 --version

3 编译libyang

git clone https://github.com/CESNET/libyang.gitcd libyanggit checkout v2.0.0mkdir buildcd buildcmake -D CMAKE_INSTALL_PREFIX:PATH=/usr \-D CMAKE_BUILD_TYPE:String="Release" ..makesudo make install

注意:在执行cmake前,要安装cmake以及libpcre2-dev工具包,命令如下:

sudo apt-get install cmake
sudo apt-get install libpcre2-dev

4 安装 Protobuf, ZeroMQ

sudo apt-get install protobuf-c-compiler libprotobuf-c-devsudo apt-get install libzmq5 libzmq3-dev

5 配置FRR用户

sudo groupadd -r -g 92 frr
sudo groupadd -r -g 85 frrvty
sudo adduser --system --ingroup frr --home /var/run/frr/ --gecos "FRR suite" --shell /sbin/nologin frr
sudo usermod -a -G frrvty frr

6 编译安装FRR

git clone https://github.com/frrouting/frr.git frrcd frr./bootstrap.sh./configure \--prefix=/usr \--includedir=\${prefix}/include \--bindir=\${prefix}/bin \--sbindir=\${prefix}/lib/frr \--libdir=\${prefix}/lib/frr \--libexecdir=\${prefix}/lib/frr \--localstatedir=/var/run/frr \--sysconfdir=/etc/frr \--with-moduledir=\${prefix}/lib/frr/modules \--with-libyang-pluginsdir=\${prefix}/lib/frr/libyang_plugins \--enable-configfile-mask=0640 \--enable-logfile-mask=0640 \--enable-snmp=agentx \--enable-multipath=64 \--enable-user=frr \--enable-group=frr \--enable-vty-group=frrvty \--with-pkg-git-version \--with-pkg-extra-version=-MyOwnFRRVersionmakesudo make install

7 安装FRR配置文件

sudo install -m 775 -o frr -g frr -d /var/log/frr
sudo install -m 775 -o frr -g frrvty -d /etc/frr
sudo install -m 640 -o frr -g frrvty tools/etc/frr/vtysh.conf /etc/frr/vtysh.conf
sudo install -m 640 -o frr -g frr tools/etc/frr/frr.conf /etc/frr/frr.conf
sudo install -m 640 -o frr -g frr tools/etc/frr/daemons.conf /etc/frr/daemons.conf
sudo install -m 640 -o frr -g frr tools/etc/frr/daemons /etc/frr/daemons

8 修改配置文件

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

执行 sysctl -p 刷新 看到net.ipv4.ip_forward=1  net.ipv6.conf.all.forwarding=1即可

9 添加MPLS内核模块

首先在宿主机上加载必要的linux内核MPLS模块,直接分别在宿主机上运行如下命令:

sudo modprobe mpls_router
sudo modprobe mpls_gso
sudo modprobe mpls_iptunnel

查看模块是否加载成功

lsmod | grep mpls

注意:以上命令在宿主机执行。

将这3个内核模块添加到容器的配置文件中,确保容器也能加载这些模块

sudo vi /etc/modules

添加如下内容:

# Load MPLS Kernel Modules
mpls_router
mpls_gso
mpls_iptunnel

在容器加载内核模块

modprobe mpls-router mpls_gso mpls-iptunnel

如果容器中执行以上命令出错,如下:

尝试使用命令

sudo apt-get install linux-modules-extra-`uname -r`-generic

如果执行失败,直接将`uname -r`直接改为报错的版本号,如下:

10 MPLS

修改配置文件,启用 MPLS 转发

sudo vi /etc/sysctl.conf

添加配置:

# Enable MPLS Label processing on all interfaces
net.mpls.conf.eth0.input=1
net.mpls.conf.eth1.input=1
net.mpls.conf.eth2.input=1
net.mpls.platform_labels=100000

注意:eth1,eth2网卡如果没有。需要注释掉

执行sysctl -p 刷新一次

11 安装服务文件

sudo install -m 644 tools/frr.service /etc/systemd/system/frr.service
# 设置开机自启
sudo systemctl enable frr

注意:命令在你创立的frr目录下进行

12 启动守护进程

修改配置文件

sudo vim /etc/frr/daemons

开启你需要的服务,设置为yes,且修改MAX_FDS=1024

13 启动FRR

# 启用
systemctl start frr
# 重启
systemctl restart frr

启动后可以使用netstat -nlpt看下端口是否正常。

默认守护程序的路径是/etc/frr/xxx.conf

14 测试frr

如果输入如下代码,可以进入编辑模式,则frr安装完毕

sudo vtysh

FRR(1):Ubuntu环境上在LXC内安装FRR相关推荐

  1. Ubuntu20.04环境上在LXC内安装FRR

    由于学习需要,在LXC内配FRR. 首先进入FRR官网找到Ubuntu20.04版本操作指南 Ubuntu 20.04 LTS - FRR latest documentation 1.安装环境依赖 ...

  2. [FirefoxOS_开发环境]Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合

    1在ubuntu上测试Firefox OS(B2G)系统 Firefox OS,项目代号为"Boot 2 Gecko",是一个开放的完全基于WEB标准的智能手机操作系统,由Mozi ...

  3. 如何安装linux_在Ubuntu系统上如何制作Linux安装U盘

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Ubuntu系统中制作Linux启动 ...

  4. linux可以下编辑器吗,在Ubuntu系统上也可以下载安装深度编辑器

    深度编辑器(Deepin Editor)不止可以在Deepin系统安装,也可以在如Ubuntu.Debian系统上安装. 简介 深度编辑器首个正式版本发布于2018年10月11日,它是一款简单的文本编 ...

  5. linux 显卡扩展坞,Ubuntu18.04上外接显卡扩展坞安装Nvidia驱动和CUDA10.0及cuDNN

    前言 一通折腾,算是把显卡扩展坞给接上用起来了.能找到的Ubuntu外接显卡扩展坞配置深度学习环境的资料比较少,乱折腾一番总算是能用了.现努力回忆过程,尽可能完整地记录下来配置环境的过程. ----- ...

  6. 怎么在linux上装java,如何在Ubuntu Linux上安装Java

    介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...

  7. 使用SSH服务搭建Win10远程连接Ubuntu环境(Ubuntu 20.04版本)

    使用SSH搭建Win连接Linux 下载Ubuntu 20.04 制作U盘启动盘安装Ubuntu 搭建Ubuntu环境 连接无线网 更换源 安装SSH服务 Windows下安装MobaXterm 下载 ...

  8. gflags学习笔记(一)gflags的介绍和安装(ubuntu环境)

    文章目录 前言 什么是GFLAGS gflags的优势 gflags安装和使用(ubuntu环境) 下载 配置 编译 安装 前言 什么是GFLAGS Gflags是一种命令行解析工具,主要用于解析用命 ...

  9. Ubuntu 环境下使用中文输入法

    Ubuntu 环境下使用中文输入法 安装fcitx 1.进入系统设置–>语言支持,将汉语(中国)拖到最上面.如果列表中没有,选择"添加或删除语言-"来添加. 2.切换键盘输入 ...

最新文章

  1. 预训练语言模型(PLM)必读论文清单(附论文PDF、源码和模型链接)
  2. InsightFace笔记
  3. 写给java初学者,从零开始学习java开发的完整学习路线
  4. 傅里叶变化的本质:复数的实部和虚部的对应关系
  5. 【正一专栏】亚冠抽签点评——上港令人期待
  6. 如何在word中像LaTeX一样键入公式
  7. 2018在职计算机科学硕士申请,2018年计算机专业硕士在职研究生备考指导
  8. linux centos 6.3 下载,CentOS 6.3发布 附ISO下载地址
  9. Windows API封装:LoadLibrary/FreeLibrary
  10. 简记Inception系列
  11. 利率模型暗示美国股市是合理价值(仅做参考)
  12. 【opencv450-samples】digits_svm 手写数字识别SVM vs KNearest (SVM and KNearest digit recognition)
  13. 基于SSM的校园二手交易平台
  14. ES基于Hbase二级索引
  15. react-navigation之navigate
  16. 设计方面的优秀网站推荐QWQ
  17. 【Python机器学习及实践】实战篇:泰坦尼克号罹难乘客预测
  18. 【知识分享】HTML 与 CSS
  19. git add . 报错‘xxx/’does not have a commit checked out,fatal: adding files failed
  20. 随手记——Moment.js

热门文章

  1. Spring面试题(2022)
  2. SQL Server数据库简单查询
  3. JS实现数学排列组合公式
  4. 谷歌词霸2.0谁用谁知道
  5. SEO搜索 优化经验
  6. PSNR评估视频方法
  7. Excel融合分析——完美融合Excel和BI,真正赋能一线用户
  8. 数学游戏 [NOI Online 2022 入门组]
  9. c语言如何找小数点后有几位皇帝,C语言中,float类型怎么储存小数点后六位的,第六位会四舍五入么?...
  10. 介绍一款绝对好用的词典,比金山词霸好n倍