Skip to content

Commit 18cc2e8

Browse files
committed
Merge branch 'whoops'
2 parents c8c0ddc + 6504305 commit 18cc2e8

File tree

12 files changed

+336
-7
lines changed

12 files changed

+336
-7
lines changed

SUMMARY.md

+9-3
Original file line numberDiff line numberDiff line change
@@ -85,8 +85,7 @@
8585
* [Passcard](technologies/authentication/passcard/README.md)
8686
* [GPG Usage](technologies/authentication/passcard/gpg-usage.md)
8787
* [LDAP](technologies/authentication/ldap.md)
88-
* [NSS](technologies/authentication/nss.md)
89-
* [NSS LDAP](technologies/authentication/nss-ldap/README.md)
88+
* [NSS](technologies/authentication/nss-ldap/README.md)
9089
* [NSS LDAP Templates](technologies/authentication/nss-ldap/templates.md)
9190
* [SSHD](technologies/authentication/sshd.md)
9291
* [Storage](technologies/storage/README.md)
@@ -162,6 +161,12 @@
162161
* [Waitaha](machines/ceph/waitaha.md)
163162
* [Barrel](machines/ceph/barrel.md)
164163
* [Valdes](machines/ceph/valdes.md)
164+
* [Other](machines/other/README.md)
165+
* [ASM](machines/other/asm.md)
166+
* [Duke](machines/other/duke.md)
167+
* [Auckland](machines/other/auckland.md)
168+
* [Cayman](machines/other/cayman.md)
169+
* [Pitcairn](machines/other/pitcairn.md)
165170
* [Switches](machines/switches/README.md)
166171
* [Core0](machines/switches/core0.md)
167172
* [Xnor](machines/switches/xnor.md)
@@ -172,7 +177,9 @@
172177
* [History](machines/history/README.md)
173178
* [2008 Sun AEG](machines/history/2008-sun-aeg.md)
174179
* [2011 Sun Upgrades](machines/history/2011-sun-spring-upgrades.md)
180+
* [2017 VM Disaster](machines/history/2017-vm-disaster.md)
175181
* [2018 Purchases](machines/history/2018-purchases.md)
182+
* [2018 Cephpocalypse](machines/history/2018-cephpocalypse.md)
176183
* [Obsolete](machines/obsolete/README.md)
177184
* [Arcturus](machines/obsolete/arcturus.md)
178185
* [Chuku](machines/obsolete/chuku.md)
@@ -211,4 +218,3 @@
211218
* [Policies](policies/README.md)
212219
* [Data Release Policy](policies/data-release-policy.md)
213220
* [Upgrade Policy](policies/upgrade-policy.md)
214-

machines/history/2017-vm-disaster.md

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# 2017 VM Distaster
2+
3+
## What Happened
4+
We ran too much on VMs, so when we rebooted a VM server to update it the entire lab went down. Specifically, NS1 was the main point of failure.
5+
6+
## What resulted
7+
* NS1 is on a physical machine
8+
* We use IPs instead of hostnames in QEMU configs
+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# 2018 Cephpocalypse
2+
3+
The **Cephpocalypse** (hah, I've officially named it now, no one can stop me~) was an event occurring in the fall of the 2018-2019 school year, when the Ceph servers, then our main point of failure, went completely offline. This incident demonstrated the capability of the Sysadmin team and prompted us to start thinking about ways to remove that one point of failure (say, through a backup system).
4+
5+
The purpose of this document is to record our mistakes and remedial actions so that future generations may learn from them
6+
7+
## Conditions
8+
9+
## Cause
10+
11+
## Reaction
12+
13+
### From Sysadmins
14+
15+
### From other Students
16+
17+
### From Administration
18+
19+
## Remedial Actions
20+
21+
### Trying to fix Ceph
22+
23+
### Un-cephing everything
24+
25+
### Moving things back to new Ceph
26+
27+
## What we learned
28+
29+
## Results

machines/other/README.md

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Other Machines
2+
3+
This category is for machines that don't cleanly fall in another category. Often unused.

machines/other/asm.md

+25
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
# ASM
2+
3+
**ASM** is a machine residing in the CSL pit, right outside the machine room. It is currently being used by 2019jduvall to conduct senior research. Older brother of [Duke](duke.md)
4+
5+
## Technical specifications
6+
7+
| Field | Value |
8+
| :---- | :---- |
9+
| **Server Type** | It's a desktop, not a server dummy |
10+
| **CPU** | enough |
11+
| **RAM** | 16 GB (not enough) |
12+
| **GPU** | 2x NVIDIA GeForce TITAN |
13+
| **Hard Disks** | 1TB Samsung 860 EVO (+ an unused 1TB HDD from some company or other) |
14+
| **OS** | Arch Linux 😎 |
15+
16+
## History
17+
18+
ASM was originally part of the i7 cluster, made up of other machines named after other programming languages. At the beginning of the 2017-2018 school year, ASM was repurposed by 2017wzhang to be his personal workstation (at school). By the end of the 2017-2018, only ASM remained in the CSL as all the other gutted motherboards of the i7 cluster had been taken home by other sysadmins.
19+
20+
During the [Cephpocalypse](../history/2018-cephpocalypse.md), ASM was used as a place to put exported Ceph images, largely due to its fast (~10MB/s) uplink, ease of logging in as root, and large hard drive size. People were outraged when 2019jduvall accidentally cut ssh access to it in the middle of the crisis (I'm sorry, ok?).
21+
22+
## Trivia
23+
* ASM is currently the only computer in the CSL running Arch Linux (besides 2019jduvall's and 2019djones' and 2019ahayden's personal laptops)
24+
* Despite having two GPUs, the pioneer workstations can occasionally outperform it simply due to having newer GPUs
25+
* It is completely and utterly wrong to write ASM's name in lowercase text

machines/other/auckland.md

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Auckland
2+
3+
**Auckland** is a physical machine residing in the CSL Machine Room. It currently does nothing.
4+
5+
## Technical Specifications
6+
7+
| Field | Value |
8+
| :---- | :---- |
9+
| **Server Type** | HP Proliant DL380 G6 |
10+
| **CPU** | 2x Intel Xeon E5540 Hexa-Core @ 2.53 GHz |
11+
| **RAM** | 24 GB |
12+
| **Hard Disks** | 2x 146GB 2.5in 15K SAS, RAID 1 |
13+
| **OS** | Ubuntu |
14+
| **Purchase Date** | Unknown |
15+
16+
## History
17+
18+
Auckland was previously named Gandalf and was one of three servers running VMware ESXi used to host JCIRN (CTRL+F on <https://washingtonexec.com/2013/01/dr-glazer-principal-of-thomas-jefferson-high-school-for-science-and-technology-kicks-off-washingtonexec-stem-council-discusses-building-tomorrows-leaders/>). JCIRN was abandoned after Dr. Glazer left TJ at the end of the 2016-2017 school year.
19+
20+
In 2017-2018, Gandalf was used to run the official TJHSST Othello Tournament.

machines/other/cayman.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Cayman
2+
3+
**Cayman** is a physical machine residing in the CSL Machine Room. It currently does nothing.
4+
5+
## Technical Specifications
6+
7+
| Field | Value |
8+
| :---- | :---- |
9+
| **Server Type** | HP Proliant DL380 G6 |
10+
| **CPU** | 2x Intel Xeon E5540 Hexa-Core @ 2.53 GHz |
11+
| **RAM** | 24 GB |
12+
| **Hard Disks** | 2x 146GB 2.5in 15K SAS, RAID 1 |
13+
| **OS** | Ubuntu |
14+
| **Purchase Date** | Unknown |
15+
16+
## History
17+
18+
Cayman was previously named Saruman and was one of three servers running VMware ESXi used to host JCIRN (CTRL+F on <https://washingtonexec.com/2013/01/dr-glazer-principal-of-thomas-jefferson-high-school-for-science-and-technology-kicks-off-washingtonexec-stem-council-discusses-building-tomorrows-leaders/>). JCIRN was abandoned after Dr. Glazer left TJ at the end of the 2016-2017 school year.

machines/other/duke.md

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Duke
2+
3+
**Duke** is a custom workstation residing in Room 202. It's primary purpose is to be a high-performance workstation for senior research.
4+
5+
## Technical specifications
6+
7+
| Field | Value |
8+
| :---- | :---- |
9+
| **Server Type** | It's a workstation |
10+
| **CPU** | AMD Ryzen 7 1700 Eight-Core Processor |
11+
| **RAM** | 16 GB |
12+
| **GPU** | 2x NVIDIA GeForce 1080 Ti |
13+
| **Hard Disks** | It has one |
14+
| **OS** | Ubuntu |
15+
16+
## Software specifications
17+
18+
| Software | Version |
19+
| :------- | :------ |
20+
| **NVIDIA Drivers** | 410.66 |
21+
| **CUDA** | 9.1 |
22+
| **Tensorflow** | 1.11.0 |
23+
24+
## Notes
25+
26+
If you are interested in using Duke, please contact Mr. White.

machines/other/pitcairn.md

+18
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
# Pitcairn
2+
3+
**Pitcairn** is a physical machine residing in the CSL Machine room. It currently acts as ns1, our main [DNS] and [DHCP] server.
4+
5+
## Technical Specifications
6+
7+
| Field | Value |
8+
| :---- | :---- |
9+
| **Server Type** | HP Proliant DL380 G6 |
10+
| **CPU** | 2x Intel Xeon E5540 Hexa-Core @ 2.93 GHz |
11+
| **RAM** | 24 GB |
12+
| **Hard Disks** | 2x 146GB 2.5in 15K SAS, RAID 1 |
13+
| **OS** | Ubuntu |
14+
| **Purchase Date** | Unknown |
15+
16+
## History
17+
18+
Pitcairn was previously named Sauron and was one of three servers running VMware ESXi used to host JCIRN (CTRL+F on <https://washingtonexec.com/2013/01/dr-glazer-principal-of-thomas-jefferson-high-school-for-science-and-technology-kicks-off-washingtonexec-stem-council-discusses-building-tomorrows-leaders/>). JCIRN was abandoned after Dr. Glazer left TJ at the end of the 2016-2017 school year.

technologies/authentication/nss.md

-4
This file was deleted.

technologies/networking/dns/README.md

+122
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,126 @@
11
# DNS
22

3+
DNS (Domain Name System) is a system for resolving domain names to IP addresses, Kerberos Realms, and other information. It is currently used in the Computer Systems Lab to provide forward and reverse name resolution as well as location of Kerberos and AFS realms.
34

5+
## Structure
46

7+
DNS is structured as a hierarchical tree. At the root of the tree is a DNS Zone called . or the root zone. The root zone is managed by thirteen nameservers (creatively called a-m.root-servers.net) about half of which are anycasted to locations around the world.
8+
9+
While they form the root of DNS; the root nameservers don't actually know how to answer a query for say www.tjhsst.edu (198.38.16.47). Rather, they know where to go to find the answer. In the case of www.tjhsst.edu, the answer is to go to the EDUCAUSE nameservers which manage the .edu TLD (Top-Level Domain). The .edu nameservers in turn, still don't know the answer, but they know where the answer is, in this case, with [ns1] and [ns2] which are the Authoritative nameservers for the tjhsst.edu domain. Finally, either ns1 or ns2 will tell you that www.tjhsst.edu has the IP 198.38.16.47 (assuming that is the information you were asking for).
10+
11+
### Recursive vs Authoritative Nameservers
12+
13+
There are two types of nameservers that are generally involved in DNS. A single DNS Server can have one or both of these roles although it is considered best practice to separate them for security.
14+
15+
An authoritative nameserver has a database of some type which contains the records for a domain. In general, a domain will have one master nameserver on which the database is updated manually, and one or more slave nameservers which automatically transfer changes from the master.
16+
17+
A recursive nameserver has no knowledge or records of its own, but rather, resolves records for other systems and then caches the response so that it can respond to other queries about the same record without rerunning the lookup sequence outlined above. The amount of time records are cached is controlled by the TTL (Time To Live) which is specified by the Authoritative nameserver for the zone. A higher TTL places less load on the Authoritative nameservers but also means changes take longer to propagate. It is considered good practice to lower the TTL for a domain to around 5 minutes before making major changes to minimize the amount of time a mistake would be cached.
18+
19+
## CSL Layout
20+
21+
Both recursive and authoritative DNS for tjhsst.edu are currently provided by [ns1] and [ns2]. ns1 should always be a physical machine (we learned that the hard way), ns2 can be a VM. The both run ISC BIND (Berkeley Internet Name Daemon), sometimes called `named` which is the name of the daemon. See [DNS/Configuration](configuration.md) for details on the configuration layout and how to make changes.
22+
23+
## Record Types
24+
25+
There are a number of different record types for the various types of information that can be stored in DNS.
26+
27+
### A
28+
29+
One of if not the most common record type, an A record simply maps a domain name to an IP address.
30+
31+
```
32+
www.tjhsst.edu. IN A 198.38.16.47
33+
```
34+
35+
One domain name can have more than one A record in which case most DNS servers will alternate which IP address they return. This is called a round-robin and is frequently used for load-balancing.
36+
37+
```
38+
mail.tjhsst.edu. IN A 198.38.16.130
39+
mail.tjhsst.edu. IN A 198.38.16.131
40+
```
41+
42+
### AAAA
43+
44+
An AAAA record is almost identical to an A record except that it is used for IPv6 addresses instead.
45+
46+
```
47+
www.tjhsst.edu. IN AAAA 2001:468:cc0:1600:0:c6ff:fe26:102f
48+
```
49+
50+
### PTR
51+
52+
A PTR record functions in the reverse direction to an A record; it is used to map an IPv4 or IPv6 address back to a domain name. PTR records use a special domain (in-addr.arpa for IPv4 and ip6.arpa for IPv6) which is preceeded by the reversed IP address.
53+
54+
```
55+
47.16.38.198.in-addr.arpa. IN PTR www.tjhsst.edu.
56+
f.2.0.1.6.2.e.f.f.f.6.c.0.0.0.0.0.0.6.1.0.c.c.0.8.6.4.0.1.0.0.2.ip6.arpa. IN PTR www.tjhsst.edu.
57+
```
58+
59+
### CNAME
60+
61+
A CNAME (Canonical Name) is used to alias one domain record to another. This is frequently used together with apache name-based virtual hosting. IMPORTANT NOTE - unlike many other record types which can share the same record (for example, tjhsst.edu has A, MX, NS, and SOA records), CNAMEs cannot share a record with any other record type and will override any other record defined. This is why tjhsst.edu has an A record for www's IP instead of being CNAME'd to www.
62+
63+
```
64+
webmail.tjhsst.edu. IN CNAME www.tjhsst.edu.
65+
```
66+
67+
### NS
68+
69+
An NS (NameServer) record is used to delegate control of a subdomain to another nameserver or nameservers.
70+
71+
```
72+
tjhsst.edu. IN NS ns1.tjhsst.edu.
73+
tjhsst.edu. IN NS ns2.tjhsst.edu.
74+
```
75+
76+
### MX
77+
78+
An MX record is used to tell sending mailservers where they can find the mailservers for a particular domain. Without MX records, the default assumption is to send mail to the same address as the domain which is frequently not wanted. MX Records contain both a domain name and a priority which can be used to setup a backup mailserver while still ensuring that mail is delivered to the main server if it is up. Mail Servers with equal priority are rotated similar to A record round-robins.
79+
80+
```
81+
tjhsst.edu. IN MX 10 casey.tjhsst.edu.
82+
tjhsst.edu. IN MX 10 smith.tjhsst.edu.
83+
tjhsst.edu. IN MX 20 ananke.tjhsst.edu.
84+
```
85+
86+
### SRV
87+
88+
SRV (Service) records are used to map domain names to the servers and ports which provide a service under that domain name. Microsoft Active Directory for example, uses SRV records heavily to allow clients to locate the various Domain Services. In the CSL, we use SRV records to help systems locate our Kerberos services. Notice that these records do not have the IN (Internet) type.
89+
90+
```
91+
_kerberos._tcp.csl.tjhsst.edu. SRV 0 0 88 kdc1.tjhsst.edu.
92+
_kerberos._tcp.csl.tjhsst.edu. SRV 0 0 88 kdc2.tjhsst.edu.
93+
```
94+
95+
### AFSDB
96+
97+
AFSDB records function similar to SRV records specifically for AFS.
98+
99+
```
100+
csl.tjhsst.edu. IN AFSDB 1 openafs1.csl.tjhsst.edu.
101+
csl.tjhsst.edu. IN AFSDB 1 openafs4.csl.tjhsst.edu.
102+
csl.tjhsst.edu. IN AFSDB 1 haafs2.csl.tjhsst.edu.
103+
```
104+
105+
### TXT
106+
107+
TXT records are simply used to store text. These are frequently used to test new record ideas before an official record type is created. For example, many SFP records are still provided as TXT records.
108+
109+
```
110+
_kerberos.csl.tjhsst.edu. TXT "CSL.TJHSST.EDU"
111+
```
112+
113+
```
114+
tjhsst.edu. IN TXT "v=spf1 mx ~all"
115+
```
116+
117+
### SOA
118+
119+
The SOA record for a domain provides administrative information for the domain. These include the serial number (used to help slave nameservers know when to update from the master), the default record TTL and expiration time, and the master nameserver address and domain administrator email address.
120+
121+
```
122+
tjhsst.edu. 86400 IN SOA ns1.tjhsst.edu. hostmaster.tjhsst.edu. 2013092500 3600 600 1209600 86400
123+
```
124+
125+
[ns1]: ../../../machines/other/pitcairn.md
126+
[ns2]: ../../../machines/vm-servers/galapagos.md
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# DNS Configuration
2+
3+
## Getting DNS Configuration
4+
5+
The DNS configuration is stored in git and can be found on [gitlab]. For access to the repository ask any DNS admin. You will then want to fork the repository and clone it to your home directory.
6+
7+
## Configuration Layout
8+
9+
* db/ - contains standard Nameserver zone files
10+
* db/localhost - the zone file for the localhost zone
11+
* db/0.0.127.in-addr.arpa - the zone file for the 127.0.0.0/8 subnet
12+
* named.ca - bootstraps the nameserver with the addresses of the root nameservers
13+
* named.conf - the main named configuration file
14+
* tjhsst/ - tjhsst forward and reverse zone files
15+
* tjhsst.conf - included by named.conf; configuration for TJ zones
16+
* tjpartnershipfund/ - zone information for the TJ partnership fund domains
17+
* tjpartnershipfund.conf - included by named.conf; configuration for PF zones
18+
19+
## Editing Configuration
20+
21+
In tjhsst/ is where most changes will be made. The file named tjhsst.edu contains most of the forward records, A,AAAA,CNAME,TXT,SRV,AFSDB, etc. An example entry looks like this:
22+
23+
```
24+
galapagos.csl IN A 198.38.17.45
25+
IN AAAA 2001:468:cc0:1600:226:55ff:fe2c:2336
26+
galapagos IN CNAME galapagos.csl
27+
```
28+
29+
You will also then need to update the PTR records for those IPs. They are stored in files in tjhsst/revpub/ by netblock (/24 for an IPv4 PTR and /64 for an IPv6 PTR). So for galapagos, you would want to edit 17.38.198.in-addr.arpa and 1600.cc0.468.2001.ip6.arpa. IMPORTANT - do not forget the . at the end of the server's FQDN. Without this, BIND will automatically append the zone name to the end of the name given.
30+
31+
**17.38.198.in-addr.arpa**
32+
33+
```
34+
42 IN PTR galapagos.csl.tjhsst.edu.
35+
```
36+
37+
**1600.cc0.468.2001.ip6.arpa**
38+
39+
```
40+
6.3.3.2.c.2.e.f.f.f.5.5.6.2.2.0 IN PTR galapagos.csl.tjhsst.edu.
41+
```
42+
43+
## Committing Changes
44+
45+
Commit the file locally with git commit -a (commits all changes to files already in the index). Enter a useful commit message. If you are making many changes, consider making a series of commits. The best type of commit message starts with a short string representing what it is you changed followed by a colon, then a short description of what you've done to it. Example:
46+
47+
```
48+
shodan: make CNAME shodan -> shodan.csl
49+
```
50+
51+
Finally, you need to push your changes back to gitlab and make a merge request. One of the DNS admins will then review your changes and push them to the nameserver.
52+
53+
## Merging People's Changes to the Server
54+
55+
If everything checks out, you can merge the changes and push to gitlab. The gitlab hook should automatically check your changes and tell [ns1] to update . See `/root/update_ns1.sh` on ns1 for more details.
56+
57+
[ns1]: ../../../machines/other/pitcairn.md
58+
[ns2]: ../../../machines/vm-servers/galapagos.md

0 commit comments

Comments
 (0)