Docker is an opensource tool used for virtualization and deliver software in the form of packages called Containers. It is one of the most important tools used in networking domain. Dockerfile is a template for building the image which contains commands needed to package the software. In this post, I am going to explain the commands ADD & COPY used in Dockerfile . ADD Command: ADD command is used to copy files, directories or files from remote URLS to destination path in the image. The source paths can contain wildcards. If the destination has relative path, it is relative to the Working directory of the image. Note that source path is always relative to the Docker build context. ADD command will not support authentication. So, if there are any protected files to be added in Dockerfile building, use other tools like curl or wget Dockerfile copying Single & Multiple files, directory using ADD inst...
Netopeer is a stack of open source tools built on the top of the libnetconf library. It is used to control and connect to the devices that supports Netconf protocol.
Libnetconf:
It is a library implemented in C language to support the usage of netopeer server & client. It has functions for both the server and client to communicate via Netconf messages.
Installing Netopeer:
Always, installing a software has a lot of dependencies. The dependencies for the Netopeer installation are:
- Building Libnetconf
- Building Netopeer Server
Building Libnetconf:
Libnetconf code is opensource and is available through Github. You can click here to get the URL for cloning the libnetconf. After cloning, install the below software which are dependencies for building libnetconf. Use apt-get to install the below packages.
- libtool
- libtool-bin
- libxml2-dev
- libxslt1-dev
- libcurl4-openssl-dev
- xsltproc
- python-setuptools
- cmake
- python
- zlib1g-dev
- libssl-dev
- pkg-config
- libreadline-dev
- libssh2-1-dev
Also, there is one software tool name pyang which can be cloned from Github and is used for configuring modules of the netopeer server. You can click here to get the URL for cloning pyang. Then navigate to pyang and python file setup.py with install as a command-line argument. The commands to install pyang are as below:
git clone https://github.com/mbj4668/pyang.git
cd pyang && python setup.py install
Then clone the libnetconf repository using below command
git clone https://github.com/CESNET/libnetconf.git
Then run cd libnetconf && ./configure && make && make install which builds libnetconf on your system
Building NetConf Server:
Choose the same version of netopeer from Github for compatibility issue with libnetconf. The dependencies for Netopeer-server installation are as below:
- python-libxml2
- Libssh-dev
- libdus-1-dev
- SSH Server
Then clone the Netopeer repository of the same branch of libnetconf and clone it. After that install install the netopeer-server.
The commands for this purpose are as below:
git clone https://github.com/CESNET/netopeer.git
cd netopeer/server && ./configure && make && make install
Starting Netopeer Server:
To start Netopeer Server. System dbus must be restarted. After that run the netopeer server.
service dbus --full-restart
cd <Installation-of-netopeer-server-path> && netopeer-server -v 0 1 2 3 > netopeer-server.log &
Note: -v is followed by verbose levels namely errors, warnings, verbose and debug
Automated Script to install & run the netopeer server
You can use the below code which installs the above-mentioned dependencies & build libnetconf and netopeer-server.
Code:
#Assume the path for installation is /home/user/softwares
#Dependencies for Libnetconf
apt-get update && apt-get install python python3 -y
apt-get update && apt-get install libtool libtool-bin libxml2-dev libxslt1-dev libcurl4-openssl-dev xsltproc python-setuptools cmake zlib1g-dev libssl-dev pkg-config libreadline-dev libssh2-1-dev git -y
#Install Pyang
cd /home/user/softwares && git clone https://github.com/mbj4668/pyang.git && cd pyang && python setup.py install
#Install Libnetconf of version 0.7.X
cd /home/user/softwares && git clone -b 0.7.x https://github.com/CESNET/libnetconf.git && cd libnetconf && ./configure && make && make install
#Dependeny for Netopeer-Server
apt-get update && apt install python-libxml2 libssh-dev wget libdbus-1-dev –y
#Install Netopeer with same version of libnetconf - For Compatibility
cd /home/user/softwares && git clone -b libnetconf-0.7.x https://github.com/CESNET/netopeer.git && cd netopeer/server && ./configure && make && make install && cd ..
#Restart Dbus - Run Netopeer-Server
service dbus --full-restart
cd /home/user/softwares && netopeer-server -v 0 1 2 3 > netopeer-server.log &
Note: The commands or script mentioned in the post should be run as sudo user due to the permissions constraints In Linux Operating system
Note: The commands or script mentioned in the post should be run as sudo user due to the permissions constraints In Linux Operating system
Comments
Post a Comment