From 34c2a7cb71d3999b5f602002bde8a77d714b6106 Mon Sep 17 00:00:00 2001 From: Juno Date: Mon, 25 Sep 2023 09:16:30 -0400 Subject: [PATCH 1/8] add hydra and fsu to ip allocations --- src/infrastructure/network/ip_allocations.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/infrastructure/network/ip_allocations.md b/src/infrastructure/network/ip_allocations.md index e3df118..e677ca6 100644 --- a/src/infrastructure/network/ip_allocations.md +++ b/src/infrastructure/network/ip_allocations.md @@ -36,8 +36,11 @@ _updated: Sept 4 2022_ | 2 | [Ziltoid](../servers/ziltoid.md) | | 3 | [Talos](../servers/talos.md) | | 4 | [Atlas](../vms.md#atlas) | -| 179 | [hbox](../servers/hbox.md) | +| 42 | [Hydra](../servers/hydra.md) | | 53 | [Unbound](../vms.md#unbound) | +| 179 | [hbox](../servers/hbox.md) | +| 219 | [fsu](../vms.md#fsu) | + ### Layout From ce6252a66a79288cc34e782a0899eb2acb532ec5 Mon Sep 17 00:00:00 2001 From: Juno Date: Mon, 25 Sep 2023 09:25:52 -0400 Subject: [PATCH 2/8] add hardware info and link to fsu to hydra.md --- src/infrastructure/servers/hydra.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/infrastructure/servers/hydra.md b/src/infrastructure/servers/hydra.md index e6dfc8d..9424738 100644 --- a/src/infrastructure/servers/hydra.md +++ b/src/infrastructure/servers/hydra.md @@ -1,6 +1,6 @@ # Hydra -_updated: Jan 31st 2023_ +_updated: Sep 25, 2023_ Hydra is COSI's default VM host. @@ -14,10 +14,10 @@ Hydra is COSI's default VM host. | | | | :--- | :--- | -| CPU | AMD Opteron 6376 -| RAM | ? -| STORAGE | ? -| CONNECTIVITY | ? +| CPU | AMD Opteron 6376 (x2) +| RAM | 64 GB +| STORAGE | 10TB (5x2TB) +| CONNECTIVITY | 10Gbps ## Operating System @@ -41,6 +41,7 @@ _updated: Sept 18th 2022_ - [gitea](../vms.md#gitea) - [unbound](../vms.md#unbound) - [voip](../vms.md#voip) +- [fsu](../vms.md#fsu) ## Notes From 82739f4f5c026d17a0fb915afc7987c87ff6a450 Mon Sep 17 00:00:00 2001 From: Juno Date: Mon, 25 Sep 2023 09:26:25 -0400 Subject: [PATCH 3/8] bump updated tag on ip_allocations.md --- src/infrastructure/network/ip_allocations.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/infrastructure/network/ip_allocations.md b/src/infrastructure/network/ip_allocations.md index e677ca6..075c46a 100644 --- a/src/infrastructure/network/ip_allocations.md +++ b/src/infrastructure/network/ip_allocations.md @@ -4,7 +4,7 @@ All links on this page should point at the underlying physical (or virtual) _inf ## IP Address Listing for 128.153.144.1/24 subnet -_updated: Sept 4 2022_ +_updated: Sep 25, 2023_ | 128.153.144.# | Name | | :--- | :--- From 5b32fcb23cf755263617f263541bae89ec82ce96 Mon Sep 17 00:00:00 2001 From: Juno Date: Mon, 25 Sep 2023 09:33:20 -0400 Subject: [PATCH 4/8] add fsu to vms.md --- src/infrastructure/vms.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/src/infrastructure/vms.md b/src/infrastructure/vms.md index cd5de42..17a5f27 100644 --- a/src/infrastructure/vms.md +++ b/src/infrastructure/vms.md @@ -1,6 +1,6 @@ # Virtual Machines -_updated: Sept 17th 2022_ +_updated: Sep 25, 2023_ This chapter contains an alphabetically ordered list of all of COSI's virtual machines. @@ -129,6 +129,28 @@ It is important that no two services use the same port. Everything running on dubsdot2 should be a [docker](https://www.docker.com) container using docker-compose. All of the containers are stored in `/opt`. Use the `readme` to keep track of port allocations and check other compose to learn how to let SSL be auto configured. +## fsu + +_updated: Sept 25, 2023_ + +fsu provides the Floating Soda Unit bank (Mount Fsuvius) for the labs. + +| | | +| :--- | :--- | +| Host | [hydra](./servers/hydra.md) +| IP Addresses | 128.153.145.219 +| OS | GNU/Linux +| Distro | Ubuntu 22.04 LTS +| Last updated | ? +| End of life | Apr 2027 +| Enrolled in COSI auth | false +| NFS Mount | false + +**Services:** +| Service | Port | +| :--- | :--- | +| [Mount Fsuvius](http://fsu.cslabs.clarkson.edu) | 80 + ## gitea ## unbound From db4cc2448421af33b7d12b4667310bfdaa82d5b1 Mon Sep 17 00:00:00 2001 From: Juno Date: Tue, 28 Nov 2023 13:55:56 -0500 Subject: [PATCH 5/8] Update hydra, tiamat, dhcp/dns, add TalDos --- src/SUMMARY.md | 1 + src/infrastructure/servers/hydra.md | 1 - src/infrastructure/servers/taldos.md | 38 +++++++++ src/infrastructure/servers/talos.md | 10 ++- src/infrastructure/servers/tiamat.md | 26 +++++-- src/services/authoritative_dns.md | 4 +- src/services/dhcp.md | 110 ++++++++++++++++++++++++++- src/websites/book.md | 3 - 8 files changed, 174 insertions(+), 19 deletions(-) create mode 100644 src/infrastructure/servers/taldos.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index 43f4a10..31bdb3c 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -18,6 +18,7 @@ - [Eldwyn](./infrastructure/servers/eldwyn.md) - [Hydra](./infrastructure/servers/hydra.md) - [Talos](./infrastructure/servers/talos.md) + - [TalDos](./infrastructure/servers/taldos.md) - [Tiamat](./infrastructure/servers/tiamat.md) - [Ziltoid](./infrastructure/servers/ziltoid.md) diff --git a/src/infrastructure/servers/hydra.md b/src/infrastructure/servers/hydra.md index 9424738..53ade57 100644 --- a/src/infrastructure/servers/hydra.md +++ b/src/infrastructure/servers/hydra.md @@ -41,7 +41,6 @@ _updated: Sept 18th 2022_ - [gitea](../vms.md#gitea) - [unbound](../vms.md#unbound) - [voip](../vms.md#voip) -- [fsu](../vms.md#fsu) ## Notes diff --git a/src/infrastructure/servers/taldos.md b/src/infrastructure/servers/taldos.md new file mode 100644 index 0000000..6ca39ac --- /dev/null +++ b/src/infrastructure/servers/taldos.md @@ -0,0 +1,38 @@ +# TalDos + +_updated: November 27, 2023_ + +TalDos is COSI's primary DNS server, replacing Talos. + +| | | +| :--- | :--- | +| Location | [Server Room - Network 1](../racks.md#network-1) | +| IP Addresses | 128.153.145.3, 128.153.145.53 | +| Deployed | true | + +## Hardware + +| | | +| :--- | :--- | +| CPU | Intel Xeon E5620 (x2) +| RAM | 12 GB +| STORAGE | 300 GB +| CONNECTIVITY | 1 Gbps + +## Operating System + +| | | +| :--- | :--- | +| OS | GNU/Linux +| Distro | Debian 12 Bookworm +| Last updated | Nov 2023 +| End of life | unknown +| Enrolled in COSI auth | false +| NFS Mount | false + +## Services + +[Authoritative DNS](../../services/authoritative_dns.md) +[DHCP](../../services/dhcp.md) + +## Notes diff --git a/src/infrastructure/servers/talos.md b/src/infrastructure/servers/talos.md index 7c86cb0..b1a17d1 100644 --- a/src/infrastructure/servers/talos.md +++ b/src/infrastructure/servers/talos.md @@ -1,14 +1,15 @@ # Talos -_updated: September 30th, 2022_ +_updated: November 27th, 2023_ -Will be summuarized later +Talos is COSI's old primary DNS server, and is currently planned to be set up +in place of Atlas as our secondary DNS server. | | | | :--- | :--- | | Location | [Server Room - Network 3](../racks.md#network-3) | -| IP Addresses | 128.153.145.3 | -| Deployed | true | +| IP Addresses | N/A | +| Deployed | false | ## Hardware @@ -40,3 +41,4 @@ Kerberos ## Notes +Talos was replaced by TalDos in Fall 2023 after it crashed due to memory errors. diff --git a/src/infrastructure/servers/tiamat.md b/src/infrastructure/servers/tiamat.md index 0aab61a..be27800 100644 --- a/src/infrastructure/servers/tiamat.md +++ b/src/infrastructure/servers/tiamat.md @@ -1,6 +1,10 @@ # Tiamat -_updated: September 27, 2022_ +_updated: November 27, 2023_ + +Tiamat is COSI's web / container host, and is home to the CSlabs website, Talks, +Book, and others. Tiamat uses NGINX to proxy connections to each website and +container. | | | | :--- | :--- | @@ -12,10 +16,10 @@ _updated: September 27, 2022_ | | | | :--- | :--- | -| CPU | -| RAM | -| STORAGE | -| CONNECTIVITY | +| CPU | AMD Opteron 6220 +| RAM | 64 GB +| STORAGE | 1TB +| CONNECTIVITY | 10 Gbps ## Operating System @@ -23,14 +27,22 @@ _updated: September 27, 2022_ | :--- | :--- | | OS | GNU/Linux | Distro | Ubuntu 22.04 -| Last updated | September 27, 2022 +| Last updated | Nov 2023 | End of life | April 2027 | Enrolled in COSI auth | true | NFS Mount | false ## Services -none +Docker host + +## Websites + +[CSLabs](../../websites/cslabs.md) + +[Book](../../websites/book.md) + +[Talks](../../websites/talks.md) ## Notes diff --git a/src/services/authoritative_dns.md b/src/services/authoritative_dns.md index 8b28710..6b64455 100644 --- a/src/services/authoritative_dns.md +++ b/src/services/authoritative_dns.md @@ -21,13 +21,13 @@ When adding a new server to the network make sure you remember to add it's ip to ## NSD -COSI has one authoritative DNS server running [NSD](https://en.wikipedia.org/wiki/NSD) which is `dns1.cosi.clarkson.edu` is running on [Talos](../infrastructure/servers/talos.md). +COSI has one authoritative DNS server running [NSD](https://en.wikipedia.org/wiki/NSD) which is `dns1.cosi.clarkson.edu` is running on [Taldos](../infrastructure/servers/taldos.md). OIT's caching DNS servers are configured to cache the entire zone files over XFR. That is why we have XFR enabled for OIT's name servers. If you notice DNS results are buggy within the Clarkson network it is probably this. ## Webhook -Deploying updates to the dns zones is a great use for Webhooks. Currently there is a webhook server built into the [zones](https://gitea.cosi.clarkson.edu/COSI_Maintainers/zones) repo. +Deploying updates to the dns zones is a great use for Webhooks. Currently there is a webhook server built into the [zones](https://github.com/COSI-Lab/zones) repo. ## Current Configuration diff --git a/src/services/dhcp.md b/src/services/dhcp.md index 96d4012..5336663 100644 --- a/src/services/dhcp.md +++ b/src/services/dhcp.md @@ -6,7 +6,10 @@ Since COSI has it's own network we also run a [DHCP](https://en.wikipedia.org/wi ## isc-dhcp-server -The Internet Systems Consortium's implementation of a DHCP server is good enough. We have a single dhcp server running on [Talos](../infrastructure/servers/talos.md). In the past we had a fallback server running in a VM. This no longer exists. +The Internet Systems Consortium's implementation of a DHCP server is good +enough. We have a single dhcp server running on +[TalDos](../infrastructure/servers/taldos.md). In the past we had a fallback +server running in a VM. This no longer exists. ## DHCP information @@ -20,6 +23,109 @@ The Internet Systems Consortium's implementation of a DHCP server is good enough ## Configuration -TODO +``` +# option definitions common to all supported networks... +option domain-name "cslabs.clarkson.edu"; +option domain-name-servers 1.1.1.1, 1.0.0.1; +default-lease-time 600; +max-lease-time 7200; +# The ddns-updates-style parameter controls whether or not the server will +# attempt to do a DNS update when a lease is confirmed. We default to the +# behavior of the version 2 packages ('none', since DHCP v2 didn't +# have support for DDNS.) +ddns-update-style none; + +# If this DHCP server is the official DHCP server for the local +# network, the authoritative directive should be uncommented. +authoritative; + +# Use this to send dhcp log messages to a different log file (you also +# have to hack syslog.conf to complete the redirection). +#log-facility local7; + +# No service will be given on this subnet, but declaring it helps the +# DHCP server to understand the network topology. + +#subnet 10.152.187.0 netmask 255.255.255.0 { +#} + +# This is a very basic subnet declaration. + +subnet 128.153.144.0 netmask 255.255.254.0 { + range 128.153.144.100 128.153.144.254; + option routers 128.153.144.1; + option ntp-servers 128.153.2.253, 128.153.5.253; +} + +# This declaration allows BOOTP clients to get dynamic addresses, +# which we don't really recommend. + +#subnet 10.254.239.32 netmask 255.255.255.224 { +# range dynamic-bootp 10.254.239.40 10.254.239.60; +# option broadcast-address 10.254.239.31; +# option routers rtr-239-32-1.example.org; +#} + +# A slightly different configuration for an internal subnet. +#subnet 10.5.5.0 netmask 255.255.255.224 { +# range 10.5.5.26 10.5.5.30; +# option domain-name-servers ns1.internal.example.org; +# option domain-name "internal.example.org"; +# option routers 10.5.5.1; +# option broadcast-address 10.5.5.31; +# default-lease-time 600; +# max-lease-time 7200; +#} + +# Hosts which require special configuration options can be listed in +# host statements. If no address is specified, the address will be +# allocated dynamically (if possible), but the host-specific information +# will still come from the host declaration. + +#host passacaglia { +# hardware ethernet 0:0:c0:5d:bd:95; +# filename "vmunix.passacaglia"; +# server-name "toccata.example.com"; +#} + +# Fixed IP addresses can also be specified for hosts. These addresses +# should not also be listed as being available for dynamic assignment. +# Hosts for which fixed IP addresses have been specified can boot using +# BOOTP or DHCP. Hosts for which no fixed address is specified can only +# be booted with DHCP, unless there is an address range on the subnet +# to which a BOOTP client is connected which has the dynamic-bootp flag +# set. +#host fantasia { +# hardware ethernet 08:00:07:26:c0:a5; +# fixed-address fantasia.example.com; +#} + +# You can declare a class of clients and then do address allocation +# based on that. The example below shows a case where all clients +# in a certain class get addresses on the 10.17.224/24 subnet, and all +# other clients get addresses on the 10.0.29/24 subnet. + +#class "foo" { +# match if substring (option vendor-class-identifier, 0, 4) = "SUNW"; +#} + +#shared-network 224-29 { +# subnet 10.17.224.0 netmask 255.255.255.0 { +# option routers rtr-224.example.org; +# } +# subnet 10.0.29.0 netmask 255.255.255.0 { +# option routers rtr-29.example.org; +# } +# pool { +# allow members of "foo"; +# range 10.17.224.10 10.17.224.250; +# } +# pool { +# deny members of "foo"; +# range 10.0.29.10 10.0.29.230; +# } +#} + +``` diff --git a/src/websites/book.md b/src/websites/book.md index 55157a3..08f7a8a 100644 --- a/src/websites/book.md +++ b/src/websites/book.md @@ -46,6 +46,3 @@ Docs is clearly no longer our defacto documentation tool after lasting multiple [mdBook](https://rust-lang.github.io/mdBook/) in our opinion is the more maintainable tool for documentation. It is very feature poor, however it renders to _static_ HTML, CSS, and Javascript. There is no "mdBook server" that will memory leak. There is just some service ([NGINX](https://nginx.org/) at the time of writing) that hosts unchanging content. The longevity of Book remains to be seen. Any challenges to it's reign should carefully consider the history of documentation in the labs in an effort to not repeat the same mistakes. - - - From d224d64028b123df1df92d4e1af17e794b0b9e47 Mon Sep 17 00:00:00 2001 From: Juno Date: Tue, 28 Nov 2023 13:59:18 -0500 Subject: [PATCH 6/8] update talos and taldos IP allocations --- src/infrastructure/network/ip_allocations.md | 7 +++---- src/infrastructure/servers/talos.md | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/infrastructure/network/ip_allocations.md b/src/infrastructure/network/ip_allocations.md index 075c46a..6ba7ae8 100644 --- a/src/infrastructure/network/ip_allocations.md +++ b/src/infrastructure/network/ip_allocations.md @@ -34,12 +34,11 @@ _updated: Sep 25, 2023_ | :--- | :--- | 1 | OIT Gateway | | 2 | [Ziltoid](../servers/ziltoid.md) | -| 3 | [Talos](../servers/talos.md) | -| 4 | [Atlas](../vms.md#atlas) | +| 3 | [TalDos](../servers/taldos.md) | +| 4 | [Talos](../servers/talos.md) | | 42 | [Hydra](../servers/hydra.md) | -| 53 | [Unbound](../vms.md#unbound) | +| 53 | [TalDos](../servers/taldos.md) | | 179 | [hbox](../servers/hbox.md) | -| 219 | [fsu](../vms.md#fsu) | ### Layout diff --git a/src/infrastructure/servers/talos.md b/src/infrastructure/servers/talos.md index b1a17d1..99502c9 100644 --- a/src/infrastructure/servers/talos.md +++ b/src/infrastructure/servers/talos.md @@ -8,7 +8,7 @@ in place of Atlas as our secondary DNS server. | | | | :--- | :--- | | Location | [Server Room - Network 3](../racks.md#network-3) | -| IP Addresses | N/A | +| IP Addresses | 128.153.145.4 | | Deployed | false | ## Hardware From d97dbb0791bcaf5e529e30aa2ef119d86a4322d8 Mon Sep 17 00:00:00 2001 From: Juno Date: Tue, 28 Nov 2023 14:49:16 -0500 Subject: [PATCH 7/8] Fix failing spell check Addition from @Alextopher in _typos.toml, fix typo in README.md --- README.md | 2 +- _typos.toml | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0d3b290..b390aea 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ This repo is intended to be our new documentation solution for the labs. It's ea ## Development -The COSI book is built with [mdbook](https://github.com/rust-lang/mdBook). Skim over the [User Guide](https://rust-lang.github.io/mdBook/) to get a jist for how the tool works. Particularly the explanation on [SUMMARY.md](https://rust-lang.github.io/mdBook/format/summary.html). +The COSI book is built with [mdbook](https://github.com/rust-lang/mdBook). Skim over the [User Guide](https://rust-lang.github.io/mdBook/) to get a gist for how the tool works. Particularly the explanation on [SUMMARY.md](https://rust-lang.github.io/mdBook/format/summary.html). 1. Install the [rust](https://rustup.rs/) programming language. 2. After setting up rust run `cargo install mdbook --vers "^0.4"` to get the tool. diff --git a/_typos.toml b/_typos.toml index 4cbaaaa..2f8c317 100644 --- a/_typos.toml +++ b/_typos.toml @@ -1,3 +1,8 @@ [default.extend-words] NED = "NED" +[default] +extend-ignore-identifiers-re = [ + # Ignore mirror hard disk names + "2RW103_ZL2*", +] \ No newline at end of file From 461506b181eb8c8a8d4f8c78cfb0061f9a439952 Mon Sep 17 00:00:00 2001 From: Juno Date: Tue, 28 Nov 2023 16:59:32 -0500 Subject: [PATCH 8/8] Apply Cary's changes Co-authored-by: Cary Keesler <44330591+carykees98@users.noreply.github.com> --- src/services/dhcp.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/services/dhcp.md b/src/services/dhcp.md index 5336663..844a12b 100644 --- a/src/services/dhcp.md +++ b/src/services/dhcp.md @@ -43,13 +43,13 @@ authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). -#log-facility local7; +# log-facility local7; # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. -#subnet 10.152.187.0 netmask 255.255.255.0 { -#} +# subnet 10.152.187.0 netmask 255.255.255.0 { +# } # This is a very basic subnet declaration. @@ -80,7 +80,7 @@ subnet 128.153.144.0 netmask 255.255.254.0 { #} # Hosts which require special configuration options can be listed in -# host statements. If no address is specified, the address will be +# host statements. If no address is specified, the address will be # allocated dynamically (if possible), but the host-specific information # will still come from the host declaration. @@ -93,7 +93,7 @@ subnet 128.153.144.0 netmask 255.255.254.0 { # Fixed IP addresses can also be specified for hosts. These addresses # should not also be listed as being available for dynamic assignment. # Hosts for which fixed IP addresses have been specified can boot using -# BOOTP or DHCP. Hosts for which no fixed address is specified can only +# BOOTP or DHCP. Hosts for which no fixed address is specified can only # be booted with DHCP, unless there is an address range on the subnet # to which a BOOTP client is connected which has the dynamic-bootp flag # set. @@ -103,7 +103,7 @@ subnet 128.153.144.0 netmask 255.255.254.0 { #} # You can declare a class of clients and then do address allocation -# based on that. The example below shows a case where all clients +# based on that. The example below shows a case where all clients # in a certain class get addresses on the 10.17.224/24 subnet, and all # other clients get addresses on the 10.0.29/24 subnet.