Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update hydra, tiamat, dhcp/dns, add TalDos, update IP allocations #26

Merged
merged 8 commits into from
Nov 30, 2023
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down
5 changes: 5 additions & 0 deletions _typos.toml
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
[default.extend-words]
NED = "NED"

[default]
extend-ignore-identifiers-re = [
# Ignore mirror hard disk names
"2RW103_ZL2*",
]
1 change: 1 addition & 0 deletions src/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand Down
10 changes: 6 additions & 4 deletions src/infrastructure/network/ip_allocations.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 |
| :--- | :---
Expand Down Expand Up @@ -34,10 +34,12 @@ _updated: Sept 4 2022_
| :--- | :---
| 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 | [TalDos](../servers/taldos.md) |
| 179 | [hbox](../servers/hbox.md) |
| 53 | [Unbound](../vms.md#unbound) |


### Layout

Expand Down
10 changes: 5 additions & 5 deletions src/infrastructure/servers/hydra.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Hydra

_updated: Jan 31st 2023_
_updated: Sep 25, 2023_

Hydra is COSI's default VM host.

Expand All @@ -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

Expand Down
38 changes: 38 additions & 0 deletions src/infrastructure/servers/taldos.md
Original file line number Diff line number Diff line change
@@ -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
10 changes: 6 additions & 4 deletions src/infrastructure/servers/talos.md
Original file line number Diff line number Diff line change
@@ -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 | 128.153.145.4 |
| Deployed | false |

## Hardware

Expand Down Expand Up @@ -40,3 +41,4 @@ Kerberos

## Notes

Talos was replaced by TalDos in Fall 2023 after it crashed due to memory errors.
26 changes: 19 additions & 7 deletions src/infrastructure/servers/tiamat.md
Original file line number Diff line number Diff line change
@@ -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.

| | |
| :--- | :--- |
Expand All @@ -12,25 +16,33 @@ _updated: September 27, 2022_

| | |
| :--- | :--- |
| CPU |
| RAM |
| STORAGE |
| CONNECTIVITY |
| CPU | AMD Opteron 6220
| RAM | 64 GB
| STORAGE | 1TB
| CONNECTIVITY | 10 Gbps

## Operating System

| | |
| :--- | :--- |
| 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

24 changes: 23 additions & 1 deletion src/infrastructure/vms.md
Original file line number Diff line number Diff line change
@@ -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.

Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions src/services/authoritative_dns.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
110 changes: 108 additions & 2 deletions src/services/dhcp.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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;
lavajuno marked this conversation as resolved.
Show resolved Hide resolved

# 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 {
lavajuno marked this conversation as resolved.
Show resolved Hide resolved
#}
lavajuno marked this conversation as resolved.
Show resolved Hide resolved

# 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
lavajuno marked this conversation as resolved.
Show resolved Hide resolved
# 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
lavajuno marked this conversation as resolved.
Show resolved Hide resolved
# 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
lavajuno marked this conversation as resolved.
Show resolved Hide resolved
# 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;
# }
#}

```
3 changes: 0 additions & 3 deletions src/websites/book.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.



Loading