From e0a4b57d5518ddbb05edfdeddd06b577d0924231 Mon Sep 17 00:00:00 2001 From: waldek Date: Wed, 5 May 2021 10:26:31 +0200 Subject: [PATCH] fixes network mistakes --- modules/resources/exercise_networking.md | 17 +- modules/resources/network_solo.dia | 2512 ++++++++++++++++++++++ modules/resources/network_solo.png | Bin 27320 -> 27269 bytes 3 files changed, 2526 insertions(+), 3 deletions(-) create mode 100644 modules/resources/network_solo.dia diff --git a/modules/resources/exercise_networking.md b/modules/resources/exercise_networking.md index 6618b9a..c531dfd 100644 --- a/modules/resources/exercise_networking.md +++ b/modules/resources/exercise_networking.md @@ -54,24 +54,35 @@ Who gave you this second address? Can the client ping both IP addresses? Can the client now ping outside of the network? -There are **two** main things you need to do in order for the router to actually route. +The *easiest* way to achieve routing between your internal network and the outside world is to enable [NAT](https://en.wikipedia.org/wiki/Network_address_translation) on your router. +In order to do this, you need to do 2 things. +First enable the kernel to actually forward packages, secondly `iptables` needs to do masquerading. +You can do both these things with just to simple commands on you router. 1. IP forwarding needs to be setup on the router 2. NAT needs to be enabled +From here on out all your clients *should* have internet access but you won't be able to `ping` your clients from outside your network. +Your clients can ping each other and the internet at large but for clients **outside** of their mini network the router will **masquerade** the IP address. +This means that from outside your network, you'll never be able to ping a specific client, just the router itself. + ```bash sysctl net.ipv4.ip_forward=1 iptables -t nat -A POSTROUTING -j MASQUERADE ``` These settings won't save themselves so next time you reboot they'll be missing. -There are multiple ways of setting this up. -Have a look around and find me a good solution! +For the kernel option you should have a look at `/etc/sysctl.conf`. +In this file you can enable, disable or set kernel values. + +To save `iptables` rules have a look online but [this](http://www.faqs.org/docs/iptables/iptables-save.html) and [this](https://zertrin.org/projects/iptables-persistent/). ### Extra Challenge Your client machines are now behind a NAT. Can you think of a way to ssh into them? +As you can only ping the router from outside of the network you'll have to setup [port forwarding](https://en.wikipedia.org/wiki/Port_forwarding). +On Debian this is done with [iptables](https://serverfault.com/questions/532569/how-to-do-port-forwarding-redirecting-on-debian#532575). ## DHCP diff --git a/modules/resources/network_solo.dia b/modules/resources/network_solo.dia new file mode 100644 index 0000000..602f2d1 --- /dev/null +++ b/modules/resources/network_solo.dia @@ -0,0 +1,2512 @@ + + + + + + + + + + + + + #A4# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #192.168.0.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #VM that does NAT for all clients behind it# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #10.10.1.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #10.10.3.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #10.10.2.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #172.10.2.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #172.10.3.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #172.10.1.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #our LAN# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #10.10.0.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #172.10.0.0/24# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #steve's LAN# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + #the interwebs# + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/modules/resources/network_solo.png b/modules/resources/network_solo.png index 86ace884674266a0c21433b29e65420fb732518e..8d2b706285267142e3db958d52c40789ff6cb880 100644 GIT binary patch delta 13568 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 uf`G>yIP@&)4PR;)DgXPDF!ppZz~#^4tah delta 13642 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