Merge branch 'GNS3:master' into firewalls

This commit is contained in:
saviodsouza 2023-07-08 11:05:37 +05:30 committed by GitHub
commit e270c5bfd3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
11 changed files with 3 additions and 225 deletions

View File

@ -18,14 +18,13 @@ ovs-snmp ovs-snmp --platform=linux/arm64
pyats pyats
ubuntu:focal ubuntu
# Tests
xeyes xeyes
#
# The following images are not used by any appliance
#
# Replaced by https://github.com/adosztal/gns3-containers
#network_automation network_automation
#python-go-perl-php python-go-perl-php
# AJ Nouri
#endhost endhost
#haproxy haproxy
@ -35,7 +34,3 @@ ubuntu:focal ubuntu
# GNS3 Developers
#dhcp dhcp
#snmpsimulator snmpsimulator
# Tests
#iou iou
#xeyes xeyes

View File

@ -1,4 +0,0 @@
iou.bin
iourc.txt
NETMAP
iouyap.ini

View File

@ -1,31 +0,0 @@
FROM ubuntu:14.04
ENV DEBIAN_FRONTEND noninteractive
RUN dpkg --add-architecture i386
RUN apt-get update
RUN apt-get install python3
RUN apt-get install -y lib32z1
RUN apt-get install -y libssl1.0.0
RUN apt-get install -y 'libssl1.0.0:i386'
RUN ln -s /lib/i386-linux-gnu/libcrypto.so.1.0.0 /lib/i386-linux-gnu/libcrypto.so.4
VOLUME /data
ADD iouyap /bin
RUN chmod 700 /bin/iouyap
RUN mkdir /images
ADD iourc.txt /images
ADD iou.bin /images
RUN chmod 700 /images/iou.bin
ADD boot.sh /
ADD netmap.py /
ENV HOSTNAME=gns3vm
CMD /bin/bash ./boot.sh

View File

@ -1,19 +0,0 @@
Docker IOU
----------
**Warning not working for the moment**
This repository is a trial to make IOU work inside a docker container.
If it's work with GNS3 1.5 docker support it can allow running IOU
on any computer supporting Docker without dependencies issues.
Building the container
#######################
* Put in the directory an IOU image and name it iou.bin
* Put in the directory a valid iourc.txt file
.. code:: bash
docker build -t iou

View File

@ -1,14 +0,0 @@
#!/bin/bash
export IOURC=/images/iourc.txt
dd if=/dev/zero bs=4 count=1 of=/etc/hostid
cd /data
python3 /netmap.py
/bin/iouyap 513 &
/images/iou.bin 1 || /bin/bash -i

Binary file not shown.

View File

@ -1,64 +0,0 @@
#!/usr/bin/env python
#
# Copyright (C) 2016 GNS3 Technologies Inc.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import configparser
bays = 16
units = 4
ethernet_adapters = 0
with open("/proc/net/dev") as f:
for line in f.readlines():
if "eth" in line:
ethernet_adapters += 1
with open("NETMAP", "w", encoding="utf-8") as f:
ethernet_id = 0
for bay in range(0, bays):
for unit in range(0, units):
if ethernet_id >= ethernet_adapters:
break
f.write("{iouyap_id}:{bay}/{unit}{iou_id:>5d}:{bay}/{unit}\n".format(iouyap_id=str(1 + 512),
bay=bay,
unit=unit,
iou_id=1))
ethernet_id += 1
iouyap_ini = "iouyap.ini"
config = configparser.ConfigParser()
config["default"] = {"netmap": "NETMAP",
"base_port": "49000"}
ethernet_id = 0
for bay_id in range(0, bays):
for unit_id in range(0, units):
if ethernet_id >= ethernet_adapters:
break
connection = {"eth_dev": "eth{ethernet_id}".format(ethernet_id=ethernet_id)}
ethernet_id += 1
interface = "{iouyap_id}:{bay}/{unit}".format(iouyap_id=str(1 + 512), bay=bay_id, unit=unit_id)
config[interface] = connection
unit_id += 1
bay_id += 1
with open(iouyap_ini, "w", encoding="utf-8") as config_file:
config.write(config_file)

View File

@ -1,22 +0,0 @@
# docker base image for Netmiko, NAPALM, Pyntc, and Ansible
FROM ubuntu:bionic
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y --no-install-recommends \
install telnet curl openssh-client nano vim-tiny iputils-ping build-essential \
libssl-dev libffi-dev python3-pip python3-dev python3-setuptools \
net-tools python3 software-properties-common \
&& apt-add-repository -y ppa:ansible/ansible-2.8 \
&& apt-get update && apt-get -y --no-install-recommends install ansible \
&& rm -rf /var/lib/apt/lists/* \
&& pip3 install --no-cache-dir wheel \
&& pip3 install --no-cache-dir cryptography netmiko napalm pyntc \
&& pip3 install --no-cache-dir --upgrade paramiko && mkdir /scripts \
&& mkdir /root/.ssh/ \
&& echo "KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1" > /root/.ssh/config \
&& echo "Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr" >> /root/.ssh/config \
&& chown -R root /root/.ssh/
VOLUME [ "/root","/usr", "/scripts" ]
CMD [ "sh", "-c", "cd; exec bash -i" ]

View File

@ -1,19 +0,0 @@
# Ubuntu - Network Automation Toolbox
This appliance contains the following network automation tools:
- Netmiko
- NAPALM
- Pyntc
- Ansible
The /root folder is mount by default
## Build and publish the Images
First the base image has to be created:
```
docker build -t gns3/network_automation:latest .
docker push gns3/network_automation:latest (optional)
```

View File

@ -1,20 +0,0 @@
# docker base image for basic programming tools
FROM ubuntu:xenial
RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y --no-install-recommends install \
net-tools telnet traceroute openssh-client nano vim-tiny iputils-ping php php-ldap php-json \
php-mail php-mcrypt php-mysql php-pgsql php-snmp php-sqlite3 php-ssh2 php-xmlrpc php7.0 \
php7.0-ldap php7.0-mysql php7.0-pgsql php7.0-snmp php7.0-sqlite3 php7.0-xmlrpc \
golang-go golang-github-go-sql-driver-mysql-dev golang-github-mattn-go-sqlite3-dev \
golang-github-go-ldap-ldap-dev golang-github-kolo-xmlrpc-dev \
python python3 python-pymysql python3-pymysql python-pygresql python3-postgresql \
python-pysnmp4 python3-pysnmp4 python-ldap3 python3-ldap3 python-paramiko python3-paramiko \
python-mailer python3-aioxmlrpc \
perl perl-modules-5.22 libdbd-mysql-perl libdbd-sqlite3-perl libsnmp-session-perl \
libdbd-ldap-perl libnet-ssh2-perl\
&& rm -rf /var/lib/apt/lists/*
VOLUME [ "/root" ]
CMD [ "sh", "-c", "cd; exec bash -i" ]

View File

@ -1,24 +0,0 @@
# Ubuntu - Programming Toolbox
This appliance contains the following networking tools:
- net-tools (basic network administration tools)
- ping
- ssh client
- telnet
- Python 2
- Python 3
- Perl
- Go
- PHP
The /root folder is mounted by default
## Build and publish the Images
First the base image has to be created:
```
docker build -t gns3/python-go-perl-php:latest .
docker push gns3/python-go-perl-php:latest (optional)
```