Difference between revisions of "Routing"

From Klaus' wiki
Jump to: navigation, search
(Add a new route)
(Add a new route)
Line 32: Line 32:
 
</source>
 
</source>
  
This tells the router at 192.168.10.1 the send packages destined for the 172.18.0.0 network to the gateway 192.168.20.5 - and from which we have learned from the above knows how to reach the 172.18.0.0 network.
+
This tells the router at 192.168.10.1 to send packages destined for the 172.18.0.0 network to the gateway 192.168.20.5 - and from which we have learned from the above knows how to reach the 172.18.0.0 network.

Revision as of 10:28, 23 August 2018

Basically routing is about telling your network part of the kernel where to send a packet to.

If you perform this command:

]$ ip route

you'll get the settings for your local computer.

From my home laptop it looks like this:

default via 192.168.10.1 dev enp0s25 proto static metric 100 
default via 192.168.10.1 dev wlp3s0 proto static metric 600 
192.168.10.0/24 dev enp0s25 proto kernel scope link src 192.168.10.183 metric 100 
192.168.10.0/24 dev wlp3s0 proto kernel scope link src 192.168.10.184 metric 600 
192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 

The list tells us the if a IP-packet is destined for something else than this computer send it to the 192.168.10.1 computer/router.

On another computer this result will appear:

default via 192.168.20.1 dev enp6s0 proto static metric 100 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 
172.18.0.0/16 dev br-0186fd2cabd8 proto kernel scope link src 172.18.0.1 
192.168.20.0/24 dev enp6s0 proto kernel scope link src 192.168.20.5 metric 100

From this we can see that the default gateway to send packages to is 192.168.20.1, but for packages to 172.17.0.0/16 and 172.18.0.0/16 should go through the bridges created by the docker container handler.

Add a new route

Some times we need to tell a computer to make a new route. For instance if we would like to reach the 172.18.0.3 computer residing in a container on 192.168.20.5 from 192.168.10.183 we need to tell the router at 192.168.10.1 where to send the packages. Perform this command:

]$ ip route add 172.18.0.0/16 via 192.168.20.5

This tells the router at 192.168.10.1 to send packages destined for the 172.18.0.0 network to the gateway 192.168.20.5 - and from which we have learned from the above knows how to reach the 172.18.0.0 network.