Jonathan Turner 8 years ago
parent
commit
f768a32afd

+ 1 - 1
testenv/docker/krb5kdc/kdc.conf

@@ -10,6 +10,6 @@
   acl_file = /var/kerberos/krb5kdc/kadm5.acl
   acl_file = /var/kerberos/krb5kdc/kadm5.acl
   dict_file = /usr/share/dict/words
   dict_file = /usr/share/dict/words
   admin_keytab = /opt/krb5/data/kadm5.keytab
   admin_keytab = /opt/krb5/data/kadm5.keytab
-  supported_enctypes = des3-cbc-sha1-kd:normal aes128-sha2:normal aes256-sha2:normal aes256-cts:normal aes128-cts:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
+  supported_enctypes = aes256-cts:normal aes128-cts:normal des3-cbc-sha1-kd:normal aes128-sha2:normal aes256-sha2:normal arcfour-hmac:normal des3-hmac-sha1:normal arcfour-hmac:normal camellia256-cts:normal camellia128-cts:normal des-hmac-sha1:normal des-cbc-md5:normal des-cbc-crc:normal
  }
  }
 
 

+ 2 - 0
testenv/mit-krb5kdc/.gitignore

@@ -0,0 +1,2 @@
+.vagrant
+.vagrant/*

+ 12 - 0
testenv/mit-krb5kdc/Vagrantfile

@@ -0,0 +1,12 @@
+Vagrant.configure("2") do |config|
+  config.vm.provider "virtualbox" do |v|
+    v.memory = 1024
+    v.cpus = 1
+  end
+  config.vm.define "mitkrb5kdc", primary: true do |mitkrb5kdc|
+    mitkrb5kdc.vm.hostname = "kdc.test.gokrb5"
+    mitkrb5kdc.vm.box = "centos/7"
+    mitkrb5kdc.vm.network "private_network", ip: "10.80.88.88", netmask: "255.255.0.0"
+    mitkrb5kdc.vm.provision :shell, path: "bootstrap.sh"
+  end
+end

+ 32 - 0
testenv/mit-krb5kdc/bootstrap.sh

@@ -0,0 +1,32 @@
+#!/bin/bash
+
+rm /etc/localtime
+ln -s /usr/share/zoneinfo/Europe/London /etc/localtime
+setenforce 0
+sed -i "s/SELINUX=enforcing/SELINUX=permissive/g" /etc/sysconfig/selinux
+
+yum update -y && yum clean all
+yum install -y tcpdump ntp docker net-tools
+
+systemctl stop firewalld
+systemctl disable firewalld
+systemctl enable ntpd docker
+systemctl start docker
+systemctl stop docker
+
+#Some storage issue with docker on centos 7.1 hack
+rm -f /etc/sysconfig/docker-storage
+rm -rf /var/lib/docker
+
+cat <<EOF >> /etc/sysctl.conf
+net.ipv6.conf.all.disable_ipv6 = 1
+net.ipv6.conf.default.disable_ipv6 = 1
+net.ipv6.conf.lo.disable_ipv6 = 1
+EOF
+
+cp /vagrant/*.service /etc/systemd/system/
+systemctl enable krb5kdc krb5kdc-latest krb5kdc-older httpd
+
+reboot
+
+#systemctl start docker krb5kdc krb5kdc-latest krb5kdc-older

+ 19 - 0
testenv/mit-krb5kdc/httpd.service

@@ -0,0 +1,19 @@
+[Unit]
+Description=HTTPD
+After=docker.service
+After=network.target
+Requires=docker.service
+
+[Service]
+Environment="DOCKER_IMAGE=jcmturner/gokrb5:http"
+TimeoutStartSec=0
+#Restart=always
+ExecStartPre=-/usr/bin/docker kill %n
+ExecStartPre=-/usr/bin/docker rm %n
+ExecStartPre=-/usr/bin/docker pull ${DOCKER_IMAGE}
+ExecStart=/usr/bin/docker run --add-host host.test.gokrb5:10.80.88.88 -v /etc/localtime:/etc/localtime:ro -p 80:80 -p 443:443 --rm --name gokrb5-http ${DOCKER_IMAGE}
+ExecStop=/usr/bin/docker stop --time=60 %n
+ExecStopPost=-/usr/bin/docker rm %n
+
+[Install]
+WantedBy=multi-user.target

+ 22 - 0
testenv/mit-krb5kdc/krb5kdc-latest.service

@@ -0,0 +1,22 @@
+[Unit]
+Description=Kerberos KDC Latest
+After=docker.service
+After=network.target
+Requires=docker.service
+
+[Service]
+Environment="DOCKER_IMAGE=jcmturner/gokrb5:kdc-latest"
+Environment="PORT=98"
+Environment="NAME=gokrb5-kdc-latest"
+TimeoutStartSec=0
+#Restart=always
+ExecStartPre=-/usr/bin/docker kill %n
+ExecStartPre=-/usr/bin/docker rm %n
+ExecStartPre=-/usr/bin/docker pull ${DOCKER_IMAGE}
+ExecStart=/usr/bin/docker run -h kdc.test.gokrb5 -v /etc/localtime:/etc/localtime:ro -p ${PORT}:88 -p ${PORT}:88/udp --rm --name ${NAME} ${DOCKER_IMAGE}
+ExecStartPost=/bin/sh -c "while [ ! -f ${DATA_HOST}/.initialised ]; do sleep 2; done"
+ExecStop=/usr/bin/docker stop --time=60 %n
+ExecStopPost=-/usr/bin/docker rm %n
+
+[Install]
+WantedBy=multi-user.target

+ 22 - 0
testenv/mit-krb5kdc/krb5kdc-older.service

@@ -0,0 +1,22 @@
+[Unit]
+Description=Kerberos KDC Older
+After=docker.service
+After=network.target
+Requires=docker.service
+
+[Service]
+Environment="DOCKER_IMAGE=jcmturner/gokrb5:kdc-older"
+Environment="PORT=78"
+Environment="NAME=gokrb5-kdc-older"
+TimeoutStartSec=0
+#Restart=always
+ExecStartPre=-/usr/bin/docker kill %n
+ExecStartPre=-/usr/bin/docker rm %n
+ExecStartPre=-/usr/bin/docker pull ${DOCKER_IMAGE}
+ExecStart=/usr/bin/docker run -h kdc.test.gokrb5 -v /etc/localtime:/etc/localtime:ro -p ${PORT}:88 -p ${PORT}:88/udp --rm --name ${NAME} ${DOCKER_IMAGE}
+ExecStartPost=/bin/sh -c "while [ ! -f ${DATA_HOST}/.initialised ]; do sleep 2; done"
+ExecStop=/usr/bin/docker stop --time=60 %n
+ExecStopPost=-/usr/bin/docker rm %n
+
+[Install]
+WantedBy=multi-user.target

+ 22 - 0
testenv/mit-krb5kdc/krb5kdc.service

@@ -0,0 +1,22 @@
+[Unit]
+Description=Kerberos KDC
+After=docker.service
+After=network.target
+Requires=docker.service
+
+[Service]
+Environment="DOCKER_IMAGE=jcmturner/gokrb5:kdc-centos-default"
+Environment="PORT=88"
+Environment="NAME=gokrb5-kdc-centos-default"
+TimeoutStartSec=0
+#Restart=always
+ExecStartPre=-/usr/bin/docker kill %n
+ExecStartPre=-/usr/bin/docker rm %n
+ExecStartPre=-/usr/bin/docker pull ${DOCKER_IMAGE}
+ExecStart=/usr/bin/docker run -h kdc.test.gokrb5 -v /etc/localtime:/etc/localtime:ro -p ${PORT}:88 -p ${PORT}:88/udp --rm --name ${NAME} ${DOCKER_IMAGE}
+ExecStartPost=/bin/sh -c "while [ ! -f ${DATA_HOST}/.initialised ]; do sleep 2; done"
+ExecStop=/usr/bin/docker stop --time=60 %n
+ExecStopPost=-/usr/bin/docker rm %n
+
+[Install]
+WantedBy=multi-user.target