mirror of
https://github.com/GNS3/gns3-server
synced 2024-11-24 17:28:08 +00:00
Merge pull request #462 from GNS3/remote_improved
Add IOU support and install config in /etc
This commit is contained in:
commit
e167a81080
@ -24,6 +24,7 @@
|
|||||||
function help {
|
function help {
|
||||||
echo "Usage:" >&2
|
echo "Usage:" >&2
|
||||||
echo "--with-openvpn: Install Open VPN" >&2
|
echo "--with-openvpn: Install Open VPN" >&2
|
||||||
|
echo "--with-iou: Install IOU" >&2
|
||||||
echo "--help: This help" >&2
|
echo "--help: This help" >&2
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -42,8 +43,9 @@ fi
|
|||||||
|
|
||||||
# Read the options
|
# Read the options
|
||||||
USE_VPN=0
|
USE_VPN=0
|
||||||
|
USE_IOU=0
|
||||||
|
|
||||||
TEMP=`getopt -o h --long with-openvpn,help -n 'gns3-remote-install.sh' -- "$@"`
|
TEMP=`getopt -o h --long with-openvpn,with-iou,help -n 'gns3-remote-install.sh' -- "$@"`
|
||||||
if [ $? != 0 ]
|
if [ $? != 0 ]
|
||||||
then
|
then
|
||||||
help
|
help
|
||||||
@ -58,6 +60,10 @@ while true ; do
|
|||||||
USE_VPN=1
|
USE_VPN=1
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
--with-iou)
|
||||||
|
USE_IOU=1
|
||||||
|
shift
|
||||||
|
;;
|
||||||
-h|--help)
|
-h|--help)
|
||||||
help
|
help
|
||||||
exit 1
|
exit 1
|
||||||
@ -73,17 +79,16 @@ set -e
|
|||||||
export DEBIAN_FRONTEND="noninteractive"
|
export DEBIAN_FRONTEND="noninteractive"
|
||||||
|
|
||||||
log "Add GNS3 repository"
|
log "Add GNS3 repository"
|
||||||
cat > /etc/apt/sources.list.d/gns3.list << EOF
|
cat <<EOFLIST > /etc/apt/sources.list.d/gns3.list
|
||||||
deb http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
|
deb http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
|
||||||
deb-src http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
|
deb-src http://ppa.launchpad.net/gns3/ppa/ubuntu trusty main
|
||||||
deb http://ppa.launchpad.net/gns3/qemu/ubuntu trusty main
|
deb http://ppa.launchpad.net/gns3/qemu/ubuntu trusty main
|
||||||
deb-src http://ppa.launchpad.net/gns3/qemu/ubuntu trusty main
|
deb-src http://ppa.launchpad.net/gns3/qemu/ubuntu trusty main
|
||||||
EOF
|
EOFLIST
|
||||||
|
|
||||||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2E3EF7B
|
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys A2E3EF7B
|
||||||
|
|
||||||
log "Update system packages"
|
log "Update system packages"
|
||||||
dpkg --add-architecture i386
|
|
||||||
apt-get update
|
apt-get update
|
||||||
|
|
||||||
log "Upgrade packages"
|
log "Upgrade packages"
|
||||||
@ -107,41 +112,31 @@ fi
|
|||||||
log "Add GNS3 to the docker group"
|
log "Add GNS3 to the docker group"
|
||||||
usermod -aG docker gns3
|
usermod -aG docker gns3
|
||||||
|
|
||||||
log "IOU setup"
|
if [ $USE_IOU == 1 ]
|
||||||
#apt-get install -y gns3-iou
|
then
|
||||||
|
log "IOU setup"
|
||||||
|
dpkg --add-architecture i386
|
||||||
|
apt-get update
|
||||||
|
|
||||||
# Force the host name to gns3vm
|
apt-get install -y gns3-iou
|
||||||
hostnamectl set-hostname gns3vm
|
|
||||||
|
|
||||||
# Force hostid for IOU
|
# Force the host name to gns3vm
|
||||||
dd if=/dev/zero bs=4 count=1 of=/etc/hostid
|
hostnamectl set-hostname gns3vm
|
||||||
|
|
||||||
# Block iou call. The server is down
|
# Force hostid for IOU
|
||||||
echo "127.0.0.254 xml.cisco.com" | tee --append /etc/hosts
|
dd if=/dev/zero bs=4 count=1 of=/etc/hostid
|
||||||
|
|
||||||
|
# Block iou call. The server is down
|
||||||
|
echo "127.0.0.254 xml.cisco.com" | tee --append /etc/hosts
|
||||||
|
fi
|
||||||
|
|
||||||
log "Add gns3 to the kvm group"
|
log "Add gns3 to the kvm group"
|
||||||
usermod -aG kvm gns3
|
usermod -aG kvm gns3
|
||||||
|
|
||||||
log "Setup VDE network"
|
|
||||||
|
|
||||||
apt-get install -y vde2 uml-utilities
|
|
||||||
|
|
||||||
usermod -a -G vde2-net gns3
|
|
||||||
|
|
||||||
cat <<EOF > /etc/network/interfaces.d/qemu0.conf
|
|
||||||
# A vde network
|
|
||||||
auto qemu0
|
|
||||||
iface qemu0 inet static
|
|
||||||
address 172.16.0.1
|
|
||||||
netmask 255.255.255.0
|
|
||||||
vde2-switch -t qemu0
|
|
||||||
EOF
|
|
||||||
|
|
||||||
log "Setup GNS3 server"
|
log "Setup GNS3 server"
|
||||||
|
|
||||||
|
mkdir -p /etc/gns3
|
||||||
#TODO: 1.4.5 allow /etc/gns3/gns3_server.conf it's cleaner
|
cat <<EOFC > /etc/gns3/gns3_server.conf
|
||||||
cat <<EOF > /opt/gns3/gns3_server.conf
|
|
||||||
[Server]
|
[Server]
|
||||||
host = 0.0.0.0
|
host = 0.0.0.0
|
||||||
port = 8000
|
port = 8000
|
||||||
@ -151,9 +146,12 @@ report_errors = True
|
|||||||
|
|
||||||
[Qemu]
|
[Qemu]
|
||||||
enable_kvm = True
|
enable_kvm = True
|
||||||
EOF
|
EOFC
|
||||||
|
|
||||||
cat <<EOF > /etc/init/gns3.conf
|
chown -R gns3:gns3 /etc/gns3
|
||||||
|
chmod -R 700 /etc/gns3
|
||||||
|
|
||||||
|
cat <<EOFI > /etc/init/gns3.conf
|
||||||
description "GNS3 server"
|
description "GNS3 server"
|
||||||
author "GNS3 Team"
|
author "GNS3 Team"
|
||||||
|
|
||||||
@ -175,7 +173,7 @@ end script
|
|||||||
pre-stop script
|
pre-stop script
|
||||||
echo "[`date`] GNS3 Stopping"
|
echo "[`date`] GNS3 Stopping"
|
||||||
end script
|
end script
|
||||||
EOF
|
EOFI
|
||||||
|
|
||||||
chown root:root /etc/init/gns3.conf
|
chown root:root /etc/init/gns3.conf
|
||||||
chmod 644 /etc/init/gns3.conf
|
chmod 644 /etc/init/gns3.conf
|
||||||
@ -193,7 +191,7 @@ if [ $USE_VPN == 1 ]
|
|||||||
then
|
then
|
||||||
log "Setup VPN"
|
log "Setup VPN"
|
||||||
|
|
||||||
cat <<EOF > /opt/gns3/gns3_server.conf
|
cat <<EOFSERVER > /etc/gns3/gns3_server.conf
|
||||||
[Server]
|
[Server]
|
||||||
host = 172.16.253.1
|
host = 172.16.253.1
|
||||||
port = 8000
|
port = 8000
|
||||||
@ -203,7 +201,7 @@ report_errors = True
|
|||||||
|
|
||||||
[Qemu]
|
[Qemu]
|
||||||
enable_kvm = True
|
enable_kvm = True
|
||||||
EOF
|
EOFSERVER
|
||||||
|
|
||||||
log "Install packages for Open VPN"
|
log "Install packages for Open VPN"
|
||||||
|
|
||||||
@ -221,7 +219,7 @@ UUID=$(uuid)
|
|||||||
|
|
||||||
log "Update motd"
|
log "Update motd"
|
||||||
|
|
||||||
cat <<EOF > /etc/update-motd.d/70-openvpn
|
cat <<EOFMOTD > /etc/update-motd.d/70-openvpn
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
echo ""
|
echo ""
|
||||||
echo "_______________________________________________________________________________________________"
|
echo "_______________________________________________________________________________________________"
|
||||||
@ -232,7 +230,7 @@ echo "And add it to your openvpn client."
|
|||||||
echo ""
|
echo ""
|
||||||
echo "apt-get remove nginx-light to disable the HTTP server."
|
echo "apt-get remove nginx-light to disable the HTTP server."
|
||||||
echo "And remove this file with rm /etc/update-motd.d/70-openvpn"
|
echo "And remove this file with rm /etc/update-motd.d/70-openvpn"
|
||||||
EOF
|
EOFMOTD
|
||||||
chmod 755 /etc/update-motd.d/70-openvpn
|
chmod 755 /etc/update-motd.d/70-openvpn
|
||||||
|
|
||||||
|
|
||||||
@ -250,7 +248,7 @@ chmod 600 /etc/openvpn/key.pem
|
|||||||
[ -f /etc/openvpn/cert.pem ] || openssl x509 -req -in /etc/openvpn/csr.pem -out /etc/openvpn/cert.pem -signkey /etc/openvpn/key.pem -days 24855
|
[ -f /etc/openvpn/cert.pem ] || openssl x509 -req -in /etc/openvpn/csr.pem -out /etc/openvpn/cert.pem -signkey /etc/openvpn/key.pem -days 24855
|
||||||
|
|
||||||
log "Create client configuration"
|
log "Create client configuration"
|
||||||
cat <<EOF > /root/client.ovpn
|
cat <<EOFCLIENT > /root/client.ovpn
|
||||||
client
|
client
|
||||||
nobind
|
nobind
|
||||||
comp-lzo
|
comp-lzo
|
||||||
@ -302,7 +300,7 @@ server {
|
|||||||
listen 8003;
|
listen 8003;
|
||||||
root /usr/share/nginx/openvpn;
|
root /usr/share/nginx/openvpn;
|
||||||
}
|
}
|
||||||
EOF
|
EOFCLIENT
|
||||||
[ -f /etc/nginx/sites-enabled/openvpn ] || ln -s /etc/nginx/sites-available/openvpn /etc/nginx/sites-enabled/
|
[ -f /etc/nginx/sites-enabled/openvpn ] || ln -s /etc/nginx/sites-available/openvpn /etc/nginx/sites-enabled/
|
||||||
service nginx stop
|
service nginx stop
|
||||||
service nginx start
|
service nginx start
|
||||||
|
Loading…
Reference in New Issue
Block a user