Re: stretch and DNS name resolution service for other devices on a LAN
On Tue 27 Feb 2018 at 20:59:17 (+0100), Pascal Hambourg wrote:
> Le 25/02/2018 à 18:35, David Wright a écrit :
> >On Sat 24 Feb 2018 at 09:49:27 (+0100), Pascal Hambourg wrote:
> >
> >>>>On disadvantage is that these addresses are not globally unique (the
> >>>>link local prefix exists on all interfaces) and must be appended
> >>>>with an interface name.
> >>>
> >>>Not an issue here. The only change I have made since you commented
> >>>on this in August 2016 is that I now sed the output of
> >>> ip -o link show
> >>>to pick up the name of the ethernet interface. (The file that defines
> >>>my IPv6 functions is shared with wheezy/jessie/stretch hosts, and
> >>>"eth0" doesn't cut it any more.)
> >>
> >>Hackish.
> >
> >Why is this any more hackish than just setting net.ifnames=0
> >and sticking with eth0?
>
> net.ifnames=0 is system configuration. Having to extract an
> interface name by its MAC address at the application level is a
> kludge. No regular user application should need to deal with
> interface names or MAC addresses. That's what IP addresses and
> hostnames are for.
>
> >>>>The second disadvantage is that if the
> >>>>interface is replaced for whatever reason, the interface name may
> >>>>change and the MAC address will change. The link local addresses is
> >>>>based on the MAC addresses, so it will change too.
> >>>
> >>>Well, as the MAC addresses are all configured in my router,
> >>
> >>No, A MAC address is configured in the ethernet adapter NVRAM.
> >>Besides, The two interfaces we are discussing about are not
> >>connected to any router.
> >
> >AIUI the MAC addresses are "burnt" into the card.
>
> Just what I said. Programmed into an NVRAM on the card.
Yes, I'm agreeing with you, and indicating that I don't use any
methods for changing the MAC (which I have heard of people doing).
> >I then have to copy
> >the MAC addresses into the router by hand so that it can dispense the
> >correct IP numbers when devices connect to it.
>
> IIUC the ethernet interface is not connected to the router. How
> could the router dispense anything to it ?
It's not connected now. There are times when it has been.
That's not the point. You brought up the subject of replacing
interface cards. I was just saying that maintaining MAC
addresses is relatively easy on the computers and difficult
on the router. I can't just scp a file of configuration stuff
into the router.
But this is irrelevant to what I'm trying to do. Replacing
interface cards has nothing to do with why I am, or am not, using
IPv6 to transfer information through a CAT5 cable.
> >The point I am making is that were I to be replacing interfaces
> >all the time, it would still be easier to keep the MAC references
> >up to date in my bash functions than in the router configuration pages.
>
> Even easier and much cleaner would be to update the system
> configuration instead of user scripts.
So this is what I'm trying to do with your help.
> >>>>So Andy is right : you could use IPv4 for this. But rather with
> >>>>static configuration than unpredictable APIPA assignments.
> >>>
> >>>Of course I could, but then I've got to interfere with the routing
> >>>table to prevent the file transfers going through the default
> >>>wireless interface.
> >>
> >>You can't be more wrong. With the static configuration of a pair of
> >>IPv4 addresses in a distinct prefix at both ends of the ethernet
> >>link the traffic between these addresses would flow through the
> >>ethernet link.
> >
> >OK, so I would do something like this, would I?
> >
> ># cat /etc/network/interfaces.d/directcable
> >
> >auto eth0
> >iface eth0 inet static
> > address 192.168.2.123/24
>
> Of course. Just make sure the prefix is distinct from the router's
> one to avoid any routing conflict.
> No need to bother with things such as "I only need a pair of host
> addresses so I am going to define a /30 prefix". There are plenty of
> private addresses available, so keep it simple.
>
> >with the appropriate values for eth0 and 123 at each end,
> >connect a cable and then type
> >
> >$ scp /etc/network/interfaces.d/directcable username@192.168.2.222:/tmp/
> >
> >to effect a file transfer (after the ssh dialog)?
>
> Yes.
> Additionally, you can define hostnames for both addresses in
> /etc/hosts on both hosts and use these instead of the IP addresses.
That'll come later when I've succeeded with IP addresses.
> The same applies to ULA IPv6 addresses, except you have to get a
> (free) ULA prefix before.
Well, if you wean me off IPv6, I can forget about doing that.
> >>Anyway, we have a saying here which roughly translates to : "you
> >>cannot force an unthirsty donkey to drink".
> >
> >Some sort of passing insult?
>
> No, it is just an expression, like "I didn't pay good money". It
> means that I can't convince you if you don't want to be convinced.
To convince me, it's got to work. The British expression is
You can lead a horse to water but you can't make him drink.
So you're leading:
$ cat /etc/network/interfaces /etc/network/interfaces.d/directcable
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
#
# /etc/interfaces.d/directcable for west 2018-02-25
auto eth0
iface eth0 inet static
address 192.168.2.15/24
#
$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1c:23:3b:9f:34 brd ff:ff:ff:ff:ff:ff
inet6 fe80::21c:23ff:fe3b:9f34/64 scope link
valid_lft forever preferred_lft forever
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:1c:bf:d5:28:76 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.15/24 brd 192.168.1.255 scope global wlan0
valid_lft forever preferred_lft forever
inet6 fe80::21c:bfff:fed5:2876/64 scope link
valid_lft forever preferred_lft forever
$ ping6 -c 2 fe80::2c0:9fff:fe44:15b5%eth0
PING fe80::2c0:9fff:fe44:15b5%eth0(fe80::2c0:9fff:fe44:15b5) 56 data bytes
64 bytes from fe80::2c0:9fff:fe44:15b5: icmp_seq=1 ttl=64 time=0.381 ms
64 bytes from fe80::2c0:9fff:fe44:15b5: icmp_seq=2 ttl=64 time=0.407 ms
--- fe80::2c0:9fff:fe44:15b5%eth0 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 999ms
rtt min/avg/max/mdev = 0.381/0.394/0.407/0.013 ms
$ ping -c 2 192.168.2.10
PING 192.168.2.10 (192.168.2.10) 56(84) bytes of data.
← times out here
--- 192.168.2.10 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 1009ms
$ ping -c 2 -I eth0 192.168.2.10
ping: Warning: source address might be selected on device other than eth0.
PING 192.168.2.10 (192.168.2.10) from 192.168.1.15 eth0: 56(84) bytes of data.
>From 192.168.1.15 icmp_seq=1 Destination Host Unreachable
>From 192.168.1.15 icmp_seq=2 Destination Host Unreachable
--- 192.168.2.10 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1008ms
pipe 2
$
So the problem seems to be getting a 192.168.2. address onto eth0 for
IPv4 to use. Everything looks similar (and is configured similarly)
at the other end of the cable which I can log into either with
ssh -X acer.local or ssh -X fe80::2c0:9fff:fe44:15b5%eth0
Cheers,
David.
Reply to: