Semester: winter 2021/22
Lectures: Wednesday, 14:00 - 15:30, S3 (Vojtěch Aschenbrenner)
Labs:
  Tuesday, 10:40 - 12:10, SU2 (Vojtěch Aschenbrenner)
  Thursday, 15:40 - 17:10, SU2 (Vojtěch Aschenbrenner)
Page in SIS: NSWI106
Grading: Graded credit
Mailing list: nswi106@d3s.mff.cuni.cz | Registration | Archive

News

Lectures

Date Topic Mandatory Before Class Preparation
29.9. Introduction, Networking basics, Test 0
6.10. Arch Linux Installation Guide, Test 1
13.10. Software Defined Networking, Test 2
20.10. Systemd, Test 3 systemd, systemd-networkd, Network Configuration, systemd-resolved, systemd/Journald, QEMU/Networking, qemu(1), vde_switch(1)
27.10. Routing, Packet filtering, DNS, Test 4 BGP, Router, Internet Sharing, NAT, DNS, Unbound, NSD
3.11. DNS cont’d, Paper, How DNSSEC Works, DNSVIZ.
10.11. DNSSEC, Test 5
24.11. E-mail, Test 6 Remind yourself how e-mail works and what MUA, MDA and MTA is. Have a practical knowledge about SMTP and IMAP. Examine headers of e-mails in your inbox. Be able to send e-mail via telnet.
1.12. E-mail Discussion Please come with questions and issues you experienced during e-mail system setup.
8.12.
(Plan)
IPv6, DNSSEC TBA
15.12.
(Plan)
Storage TBA
22.12.
(Plan)
TBA TBA
5.1.
(Plan)
TBA TBA

Labs

Date Topic Goal (Homework)
30.9.
5.10.
Introduction, SSH, text editors, efficient command line, QEMU, VNC. Pick and learn how to efficiently use a text editor and shell. SSH to {c,d,e,f} servers with a short command, e.g. ssh c. Boot QEMU VM (on one of the servers) with any Linux LiveCD and connect to it via VNC.
7.10.
12.10.
Arch Linux Installation QEMU VM with installed Arch Linux and working networking setup.
14.10.
19.10.
Backbone Connection with VDE Connect VM to the backbone switch. Be able to SSH inside the VM.
21.10.
26.10.
Subnetworks The already installed VM is a router connected to backbone. Create 2 private vde switches and connect them to the router. Add 2 more VMs (VM2, VM3) connected to each of private switches. Be able to ping between VM2 and VM3.
2.11.
4.11.
Bird, BGP, DNS Working BGP, i.e. export own routes and import all available routes. Be able to ping VMs in private subnets of other students. Install recursive DNS server unbound and use it as your default DNS server for all VMs. Bonus: Install authoritative DNS server nsd and be able to resolve router.login.una IN A, i.e. drill a router.login.una @<nsd-ip>.
9.11.
11.11.
Authoritative DNS Primary nsd installed on 10.0.X.2 and secondary on 10.0.100+X.2 with AXFR enabled. {ns1,ns2,router}.login.una. IN A records and login.una. IN TXT record. TXT record should contain your X in X=<your X> format. .una domain has a root server at 10.0.0.1. Add it as a stub to your unbound so it can resolve all .una domains. Try drill login.una @10.0.0.1 and read response carefully.
16.11.
18.11.
Management and cleanup. Come with questions about tasks we already did! Create scripts to simplify management of your infrastructure. I.e. be prepared to quickly restore your infrastructure after hypervisor shutdown. Bonus: Automate creating new VMs with Ansible (or similar technology).
23.11.
25.11.
E-mail 1/2 Deploy Postfix and Dovecot to have working mail system at least for login@login.una. Store your emails in Maildir format and use plain text files for configuration. I.e. no database deployment. TLS is not mandatory. 0. Setup DNS. 1. Receive e-mails via SMTP (port 25). 2. Get e-mails via IMAP (port 993). 3. Send e-mails via submission (port 587). 4. Be able to use Thunderbird to send/receive e-mails. 5. Configure backup mail server (just postfix with relay_domains options). Debug tools: offlineimap, msmtp, swaks, telnet
30.11.
2.12.
E-mail 2/2 This lab is intended as a consultation for your work-in-progress e-mail configuration. The e-mail task is due the upcoming labs.
7.11.
9.12.
(Plan)
IPv6, DNSSEC TBA
14.12.
16.12.
(Plan)
Storage TBA
21.12.
(Plan)
Canceled Synchronization with another group
4.1.
6.1.
(Plan)
TBA TBA

Grading

Grade Percent
1 >84%
2 75% – 84%
3 65% – 74%
4 <65%

Sources

man(1), ArchWiki, Google

25 Gigabit Linux internet router PC build How to send and reply to email

About

In the Introduction to Linux course you learned the absolute essentials for becoming a modern programmer. In this course you will learn topics, where Linux is the most advanced operating system in the world and why/where is used by companies like Google, Facebook, Microsoft, Twitter and simply said everyone.

What to expect from the class

Previous year

You can take a look at the course content from winter semester 2020/21. The content will be slightly changed.