Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.os.linux.networking > #4374

Re: Quick question about routing

From Pascal Hambourg <pascal@plouf.fr.eu.org>
Newsgroups comp.os.linux.networking
Subject Re: Quick question about routing
Date 2019-04-27 09:14 +0200
Organization Plouf !
Message-ID <qa0vg7$7av$1@saria.nerim.net> (permalink)
References <qa0e4d0egm@news2.newsguy.com>

Show all headers | View raw


Le 27/04/2019 à 04:17, szr a écrit :
> Ok, I have a LAN with the following notes:
> 
> 192.168.1.254 - Main router / default gateway for LAN
> 192.168.1.4   - Linux server (eth0)
> 192.168.1.8   - Windows laptop
> 
> Linux server (192.168.1.4) has ip(v4) forwarding enabled.

Note : IP forwarding is not involved in your scenario.

> As an experiment I added an ip, 10.0.0.4, as eth0:0.

Note : use of eth0:0 alias is deprecated. You can just add multiple 
addresses to eth0.

> Then I added a static route for 10.0.0.0/8 using 192.168.1.4 as the 
> gateway on the main router.
> 
> After that, I ran `ping 10.0.0.4` from the Windows laptop and the ping 
> was successful.
> 
> While I do have plenty of networking experience and I'm not surprised 
> that this worked, one thing sort of bugs me.
> 
> I'm able to ping an ip in the 10.0.0.0/8 subnet from a host that only 
> has an ip in the 192.168.1.0/24 subnet. I know that the laptop is using 
> the route from the default gateway (the main router)

No. A routing table is local. The laptop just uses its own routing 
table. So does any other involved node (host or router) in the path.

The laptop routing table has 2 routes :
192.168.1.0/24 direct
0.0.0.0/0 via 192.168.1.254

10.0.0.4 does not match the first route so use the default route and 
send to the router.

The router routing table has 3 routes :
192.168.1.0/24 direct
10.0.0.0/8 via 192.168.1.4
0.0.0.0/0 via some external ISP router

10.0.0.4 matches the second route so forward to 192.168.1.4 (server).

[Note : the router may also send an ICMP "redirect" message to the 
laptop to inform it that 10.0.0.4 is directly reachable on the network 
segment, and the laptop may update its routing table to reflect this so 
that it sends subsequent packets to 10.0.0.4 directly to the server.]

The server routing table has 3 routes :
192.168.1.0/24 direct
10.0.0.0/8 direct
0.0.0.0/0 via 192.168.1.254

10.0.0.4 is assigned to a local interface so accept the packet and reply 
to the source 192.168.1.8 (laptop).
192.168.1.8 matches the first route so send directly to the laptop.

> but how exactly is 
> the ping getting back when the source of the ping isn't coming from 
> another 10.0.0.0/8 address? Is this more due to ip forwarding, or 

No. As I wrote, no IP forwarding is involved on the server because the 
destination is the host itself. It is just acting as a host with 
multiple addresses.

> because it's on the same physical network segment?

Not really. It would work even if the source was in a distinct network 
segment. The server would just send the reply back to the router and the 
router would forward it to the other network segment.

Back to comp.os.linux.networking | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Quick question about routing szr <szr@sREzMOrVEoman.com> - 2019-04-26 19:17 -0700
  Re: Quick question about routing William Unruh <unruh@invalid.ca> - 2019-04-27 03:02 +0000
  Re: Quick question about routing Pascal Hambourg <pascal@plouf.fr.eu.org> - 2019-04-27 09:14 +0200
    Re: Quick question about routing Theodore Heise <theise@panix.com> - 2019-04-27 14:28 +0000
    Re: Quick question about routing szr <szr@sREzMOrVEoman.com> - 2019-04-27 08:03 -0700

csiph-web