FRR(1):Ubuntu环境上在LXC内安装FRR
新建一个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相关推荐
- Ubuntu20.04环境上在LXC内安装FRR
由于学习需要,在LXC内配FRR. 首先进入FRR官网找到Ubuntu20.04版本操作指南 Ubuntu 20.04 LTS - FRR latest documentation 1.安装环境依赖 ...
- [FirefoxOS_开发环境]Linux和Ubuntu环境下B2G(Firefox OS)安装、编译、测试教程集合
1在ubuntu上测试Firefox OS(B2G)系统 Firefox OS,项目代号为"Boot 2 Gecko",是一个开放的完全基于WEB标准的智能手机操作系统,由Mozi ...
- 如何安装linux_在Ubuntu系统上如何制作Linux安装U盘
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要讲解如何在Ubuntu系统中制作Linux启动 ...
- linux可以下编辑器吗,在Ubuntu系统上也可以下载安装深度编辑器
深度编辑器(Deepin Editor)不止可以在Deepin系统安装,也可以在如Ubuntu.Debian系统上安装. 简介 深度编辑器首个正式版本发布于2018年10月11日,它是一款简单的文本编 ...
- linux 显卡扩展坞,Ubuntu18.04上外接显卡扩展坞安装Nvidia驱动和CUDA10.0及cuDNN
前言 一通折腾,算是把显卡扩展坞给接上用起来了.能找到的Ubuntu外接显卡扩展坞配置深度学习环境的资料比较少,乱折腾一番总算是能用了.现努力回忆过程,尽可能完整地记录下来配置环境的过程. ----- ...
- 怎么在linux上装java,如何在Ubuntu Linux上安装Java
介绍 如何在Ubuntu Linux上安装Java?尽管对于一个经验丰富的Linux系统管理员来说,这个主题是一个很容易理解的话题,但是对于初学者而言,在我需要什么版本的Java,如何安装它或如何在多 ...
- 使用SSH服务搭建Win10远程连接Ubuntu环境(Ubuntu 20.04版本)
使用SSH搭建Win连接Linux 下载Ubuntu 20.04 制作U盘启动盘安装Ubuntu 搭建Ubuntu环境 连接无线网 更换源 安装SSH服务 Windows下安装MobaXterm 下载 ...
- gflags学习笔记(一)gflags的介绍和安装(ubuntu环境)
文章目录 前言 什么是GFLAGS gflags的优势 gflags安装和使用(ubuntu环境) 下载 配置 编译 安装 前言 什么是GFLAGS Gflags是一种命令行解析工具,主要用于解析用命 ...
- Ubuntu 环境下使用中文输入法
Ubuntu 环境下使用中文输入法 安装fcitx 1.进入系统设置–>语言支持,将汉语(中国)拖到最上面.如果列表中没有,选择"添加或删除语言-"来添加. 2.切换键盘输入 ...
最新文章
- 预训练语言模型(PLM)必读论文清单(附论文PDF、源码和模型链接)
- InsightFace笔记
- 写给java初学者,从零开始学习java开发的完整学习路线
- 傅里叶变化的本质:复数的实部和虚部的对应关系
- 【正一专栏】亚冠抽签点评——上港令人期待
- 如何在word中像LaTeX一样键入公式
- 2018在职计算机科学硕士申请,2018年计算机专业硕士在职研究生备考指导
- linux centos 6.3 下载,CentOS 6.3发布 附ISO下载地址
- Windows API封装:LoadLibrary/FreeLibrary
- 简记Inception系列
- 利率模型暗示美国股市是合理价值(仅做参考)
- 【opencv450-samples】digits_svm 手写数字识别SVM vs KNearest (SVM and KNearest digit recognition)
- 基于SSM的校园二手交易平台
- ES基于Hbase二级索引
- react-navigation之navigate
- 设计方面的优秀网站推荐QWQ
- 【Python机器学习及实践】实战篇:泰坦尼克号罹难乘客预测
- 【知识分享】HTML 与 CSS
- git add . 报错‘xxx/’does not have a commit checked out,fatal: adding files failed
- 随手记——Moment.js