updates the networking doc
This commit is contained in:
parent
e0a4b57d55
commit
6f6dc51335
|
@ -29,6 +29,23 @@ If you set both machines with addresses in the same range, you should be able to
|
|||
Have a go at this until you can make it work.
|
||||
Which service do you have to restart of reload to apply your changes?
|
||||
|
||||
Restarting your network interfaces can be done in multiple ways.
|
||||
The most complete restart of all the interfaces can be done by restarting the `networking.service` run by `systemd`.
|
||||
|
||||
```bash
|
||||
sudo systemctl restart networking.service
|
||||
```
|
||||
|
||||
If this does not bring back your network settings you probably forgot to add the `auto $INTERFACENAME` line in the `/etc/network/interfaces` file.
|
||||
|
||||
A less brutal and more advised way of bringing an interface down and up is done with the following commands.
|
||||
It has the added advantage of giving a verbose output to STDOUT with what is happening which can be very handy for debugging purposes.
|
||||
|
||||
```bash
|
||||
sudo ifdown $INTERFACENAME
|
||||
sudo ifup $INTERFACENAME
|
||||
```
|
||||
|
||||
## Forwarding traffic
|
||||
|
||||
One of our machines is supposed to be a router and the other a client.
|
||||
|
@ -86,9 +103,53 @@ On Debian this is done with [iptables](https://serverfault.com/questions/532569/
|
|||
|
||||
## DHCP
|
||||
|
||||
We'll start from scratch again now.
|
||||
I would like you to create a new mini network of machines.
|
||||
You can install a few new Debian machines, each with a different `hostname`
|
||||
It gets real tiring real quick to fix the IP address for every new machine we add to the network.
|
||||
A solution for this is to install a [DHCP](https://en.wikipedia.org/wiki/Dynamic_Host_Configuration_Protocol) server onto our network.
|
||||
It can be installed onto any machine or ever a new machine but I advise you to install the DHCP server onto the router.
|
||||
|
||||
As with most thing Linux there are multiple servers to choose from.
|
||||
The two most popular ones are:
|
||||
|
||||
* [isc-dhcp-server](https://wiki.debian.org/DHCP_Server)
|
||||
* [dnsmasq](https://wiki.debian.org/dnsmasq)
|
||||
|
||||
We'll start with isc-dhcp-server because it's an industry standard for large scale networks.
|
||||
The other one, dnsmasq, is lighter and easier to use but consequently it has less features.
|
||||
It does however has the added benefit of being a [DNS](https://en.wikipedia.org/wiki/Domain_Name_System) server as well!
|
||||
If you want to use isc-dhcp-server and add a DNS server to your network as well you'll have to install a secondary service.
|
||||
Large scale networks often combine it with [bind9](https://wiki.debian.org/Bind9) which is a very powerful, but pretty complicated to configure, server.
|
||||
For our long term purposes dnsmasq is a better option but we'll start with isc-dhcp-server non the less.
|
||||
|
||||
### isc-dhcp-server
|
||||
|
||||
Installing isc-dhcp-server is pretty straight forward.
|
||||
An `sudo apt install isc-dhcp-server` should sort you out but you'll get a bunch of errors.
|
||||
Don't panic, this is pretty normal because we haven't configured the server yet.
|
||||
A handy new command you'll learn here is `journalctl`.
|
||||
This is the main interface towards all logging done by all services `systemd` manages.
|
||||
The `-x` option will 'Augment log lines with explanation texts from the message catalog.' so will be more verbosen and the `-e` will jump to the end of the logs.
|
||||
|
||||
```bash
|
||||
sudo journalctl -xe
|
||||
```
|
||||
|
||||
We need to edit two files to successfully start the DHCP server.
|
||||
First we need to specify which interface the server should listen on because by default it listens on no interface.
|
||||
This first file can be found at `/etc/default/isc-dhcp-server`.
|
||||
Have a read of this configuration file and you'll quickly understand *where* the second file we need to edit is located.
|
||||
|
||||
In this second file we need to add a subnet on which the server will distribute IP addresses.
|
||||
A simple declaration is as follows:
|
||||
|
||||
```bash
|
||||
subnet 10.0.1.0 netmask 255.255.255.0 {
|
||||
range 10.0.1.10 10.0.1.100;
|
||||
}
|
||||
```
|
||||
|
||||
This suffices to get the server up and running without any errors.
|
||||
|
||||
### dnsmasq
|
||||
|
||||
![big network](./network_big.png)
|
||||
|
||||
|
|
Loading…
Reference in New Issue