fixes network mistakes

This commit is contained in:
waldek 2021-05-05 10:26:31 +02:00
parent 3a8735e420
commit e0a4b57d55
3 changed files with 2526 additions and 3 deletions

View File

@ -54,24 +54,35 @@ Who gave you this second address?
Can the client ping both IP addresses? Can the client ping both IP addresses?
Can the client now ping outside of the network? 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 1. IP forwarding needs to be setup on the router
2. NAT needs to be enabled 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 ```bash
sysctl net.ipv4.ip_forward=1 sysctl net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -j MASQUERADE iptables -t nat -A POSTROUTING -j MASQUERADE
``` ```
These settings won't save themselves so next time you reboot they'll be missing. These settings won't save themselves so next time you reboot they'll be missing.
There are multiple ways of setting this up. For the kernel option you should have a look at `/etc/sysctl.conf`.
Have a look around and find me a good solution! 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 ### Extra Challenge
Your client machines are now behind a NAT. Your client machines are now behind a NAT.
Can you think of a way to ssh into them? 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 ## DHCP

File diff suppressed because it is too large Load Diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

After

Width:  |  Height:  |  Size: 27 KiB