diff options
Diffstat (limited to 'tools/README.md')
-rw-r--r-- | tools/README.md | 150 |
1 files changed, 0 insertions, 150 deletions
diff --git a/tools/README.md b/tools/README.md deleted file mode 100644 index 74e6977..0000000 --- a/tools/README.md +++ /dev/null @@ -1,150 +0,0 @@ -Outline: ------------------------------------------------------------------- - - 1. Install OS on three boxes - 2. Bootstrap: - * Install tgmanage on one, the bootstrap (tools, include, netlist.txt) - * Install dependencies on bootstrap - * Push SSH key key to the other boxes (init-sshkeys.sh) - * Update configuration - * Update netlist.txt - * Bootstrap the primary and secondary (make-base-requires.sh) - 3. Create new networks/scopes/zones Update during the party using - update-baseservice.sh from bootstrap - 4. Apply changes usling tools/apply-baseupdate.sh (reloads bind, restarts dhcpd) - 5. Changes to generated scopes, pools, zones are done on the primary, in the files - 6. If tools need patching, patch on boot and push with update-tools.sh - 7. Before wednesday evening, the infra.tgXX.gathering.org zone should be updated! - -**Only use make-base-requires.sh during bootstrap !!!!!!! :P** - -Detailed instructions and description: -================================================================== - -1: Install Debian ------------------------------------------------------------------- - -The following three hosts/servers are normally used: - * A 'bootstrap' box. This server will be used to configure - the first TG-servers, and may end up hosting the switch-config and NMS. - * The server to use as Primary DNS and DHCP server - * The server to use as Secondary DNS and SMTP. - -2: Perform bootstrapping ------------------------------------------------------------------- - -Start by placing the 'tgmanage' directory as '/root/tgmanage' on the bootstrap -box. Change into the 'tgmanage' directory. Next, run -'tools/install-dependencies.sh boot' - - -Edit 'include/config.local.pm' and update for this year's TG. Use -'tools/create-shellconf.pl' to extract configuration from the perl module to -create/update the 'include/tgmanage.cfg.sh' configuration script. - -Run 'tools/create-hostsfile.sh' to make sure the bootstrap-box can use -hostnames to reach the pri/sec DNS even before DNS is set up. - -The tools make extensive use of key-based SSH logins, to make this work -seamlessly, run 'tools/init-sshkeys.sh' to create an RSA priv/pub keypair, and -push the pubkey to the Primary and Secondary boxes. - - -The Network-list is _not_ automagically updated. A copy of last year's -netlist.txt should be included in the goodiebag. With that as a base, update -for this year's address plan. Remember that client nets in the hall are -supposed to be pulled from switches.txt ... -The rest of the information needed should be pulled from techwiki.g.o The -format of the file is: one net per line, lines starting with # are skipped, -format of each net-line is: - - # <network adress> <prefixlen> <network-name> - 176.110.124.0 24 noc - - -Run 'tools/make-base-requires.sh'. This script will log in on the Primary and -Secondary boxes, install dependencies and the BIND/DHCP packages, create all -needed directories, create the initial configuration files. - -A short listing of the tasks of scripts called by make-base-requires (NOTE: these -scripts are run by tools/make-base-requires.sh, you should not need to run these individually): - * tools/install-dependencies.sh - * Installs needed base software to boot, primary and secondary - * tools/make-named.pl - * Basic BIND setup (creates named.conf et.al) - * tools/make-first-zones.pl - * Creates static zone-files (tgname, infra, ipv6zone) - * tools/make-reverse4-files.pl - * Creates reverse-zones for IPv4 - * tools/make-dhcpd.pl - * Sets up the base setup for DHCP - -3++: Update during the party using update-baseservice.sh from bootstrap ------------------------------------------------------------------- - -After 'tools/make-base-requires.sh' has been run, further updating should be -managed by the following three files: - * tools/update-baseservice.sh - * Used to add/update bind and DHCP configuration - * tools/apply-baseupdate.sh - * Used to reload bind and restart DHCP - * tools/update-tools.sh - * Used to push changes to the tgmanage toolchain - -This means, after the base setup is completed, updating and managing the -configuration is done by updating netlist.txt and running tools/update-baseservice.sh -from the bootstrap box, or from the NMS box if the toolchain gets moved there during -the party. - -To create a new DHCP scope, add DNS forward and reverse zone for a new network: - - * Add the network to netlist.txt - * Run tools/update-baseservice.sh to generate new .conf and .zone files - * Run tools/apply-baseupdate.sh to load new configuration - -To do changes to DHCP config after the scope .conf file has been created -(read: later in the party), log in to the primary/dhcp server, and make -the changes in the appropriate .conf file .. - -To do DNS changes to the main DNS zone or the infra-zone, make the changes -in the appropriate zone file on the primary DNS server. - -To add DNS records to any other DNS zone (forward or reverse), you have -to use 'nsupdate'. To simplify the process, use tools/generate-dnsrr.pl -Usage on this tool is documented in the "header" of the script... - - -The update prosess is handled by a bunch of "sub-tools", these should typically -not need to be run individually: - * tools/make-bind-include.pl - * Run via update-baseservice, adds new net's to DNS include - * tools/make-dhcpd-include.pl - * Run via update-baseservice, adds new net's to DHCP include - * tools/make-missing-conf.pl - * Run via update-baseservice, adds missing net-conf to BIND/DHCP - - -7: Generation of linknet dns content ------------------------------------------------------------------- - -Format for linknet.txt is documented in make-linknet-hosts.pl - -Generate IPv4 infra hostnames and IP address assignments -by using tools/generate-dnsrr.pl - -Output from this shuld go in infra.tgXX.gathering.org.zone on primary: -> cat linknet.txt | tools/make-linknet-hosts.pl | tools/generate-dnsrr.pl --domain infra.tgXX.gathering.org - -Output from this should go as input to nsupdate, see doc in generate-dnsrr.pl: -> cat linknet.txt | tools/make-linknet-hosts.pl | tools/generate-dnsrr.pl --domain infra.tgXX.gathering.org -ns -rev - - -Other stuff.... ------------------------------------------------------------------- -Files that are not used? Need to revisit these files... - - * tools/make-switch-placements.pl - * Updates positions for switches in NMS map (png)? - * tools/make-switches.pl - * tools/fetch-portlist.sh - |