Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Assegnare indirizzo in base alla rete e interfaccia

4 views
Skip to first unread message

Leonardo Boselli

unread,
Jan 31, 2024, 8:10:05 AMJan 31
to
Ho un portatile [bookworm], che ha anche dei servizi da server, quindi ha
un indirizzo registrato.
Questa macchina di solito sta sulla scrivania, ma potrebbe spostarsi nello
stesso edificio o altrove.
Le connessioni possibili sono:
Wifi, ethernet onboard, ethernet su docking station.
Quello che vorrei fare è che se la macchina riconosce di essere in una
certa sottorete (che riconosce dal prefisso IPv6 assegnato dal router)
debba fare la seguente operazione:
tra tutte le reti connesse deve assegnare un determinato indirizzo IPv6
nell'ordine [se attive] a docking station; wifi; ethernet interna.
e un determinato indirizzo IPv4 come sopra.
Il router [che non controllo] ha riservato un indirizzo per ciascuna
interfaccia, ma io vorrei che uno di questi tre [quello pubblicato sul
DNS] fosse assegnato alla prima della lista suddetta e quindi un altro se
ci fossere due interfacce collegate (le due ethernet
cablate contemporaneamente non sono previste)


--
Leonardo Boselli
Firenze, Toscana, Europa

Piviul

unread,
Jan 31, 2024, 8:50:06 AMJan 31
to
Ciao Leonardo, non ho ben capito: vuoi fare in modo che il tuo notebook
sia accessibile dalla LAN a cui è collegato indipendentemente
dall'interfaccia attiva? La butto lì: perché non fai un bond con le tue
interfacce di rete e fai prendere un ip dal dhcp al bond?

> --
> Leonardo Boselli
> Firenze, Toscana, Europa

Non vorrei generare un flame, è solo una curiosità... come mai hai
omesso Italia?

Un saluto

Piviul

Leonardo Boselli

unread,
Jan 31, 2024, 1:00:05 PMJan 31
to
On Wed, 31 Jan 2024, Piviul wrote:
> Ciao Leonardo, non ho ben capito: vuoi fare in modo che il tuo notebook sia
> accessibile dalla LAN a cui è collegato indipendentemente dall'interfaccia
> attiva? La butto lì: perché non fai un bond con le tue interfacce di rete e
> fai prendere un ip dal dhcp al bond?

ossia tutte le interfacce prendono lo stesso indirizzo, anche se ce ne
sono due attive ? a parte che dovresti spiegare come fare (fra l'altro che
è "a casa" lo riconosce solo dal fatto che il router gli offre un
determinato prefisso IPv6, se questo non viene offerto o è diverso, allora
si comporta "normalmente".
Quello che mi serve è che se sono attive una interfaccia cablata e una
wireless l'indirizzo "ufficiale" venga assegnato alla cablata, mentre la
altra resta attiva autonomamente; ma se c'è attiva solo una intefaccia
wifi questa prenda tale indirizzo. il router assegna gli indirizzi
basandosi sul mac, non su quale è la interfaccia che funziona meglio in
quel momento.

Piviul

unread,
Feb 1, 2024, 2:30:05 AMFeb 1
to
con il bond crei un'interfaccia che dietro ha più interfacce di rete;
come il traffico venga gestito sulle schede di rete fisiche dipende dal
bond-mode.

Prova a dare un'occhiata all'esempio 2 del https://wiki.debian.org/Bonding

Piviul

Leonardo Boselli

unread,
Feb 1, 2024, 5:30:03 AMFeb 1
to
On Thu, 1 Feb 2024, Piviul wrote:
> On 1/31/24 18:34, Leonardo Boselli wrote:
>> On Wed, 31 Jan 2024, Piviul wrote:
>>> Ciao Leonardo, non ho ben capito: vuoi fare in modo che il tuo notebook
>>> sia accessibile dalla LAN a cui è collegato indipendentemente
>>> dall'interfaccia attiva? La butto lì: perché non fai un bond con le tue
>>> interfacce di rete e fai prendere un ip dal dhcp al bond?
> con il bond crei un'interfaccia che dietro ha più interfacce di rete; come il
> traffico venga gestito sulle schede di rete fisiche dipende dal bond-mode.
> Prova a dare un'occhiata all'esempio 2 del
> https://wiki.debian.org/Bonding

Ho guardato, ma non copre il mio caso:
nel mio caso il comportamento è diverso se sono nella rete 'home' o
altrove: Nella rete home va bene il bonding, ma altrove no.
LA regola sarebbe questa:
if (sono nella rete home, ossia il prefisso ipv6 assegnato è uno
che conosco)
{ effettuo bonding tra le due interfacce migliori attive che sono su
quella rete, assegnando indirizzo noto* } else
{ prendo gli indirizzi del router }

Il che significa che nel bond debbono andarci solo le interfacce collegate
alla rete home, e nell'esempio che citi non è spiegato come fare questo.
--
Leonardo Boselli
Firenze, Toscana, Europa
http://i.trail.it
tel:+393287329225

gianluca....@eritrium.org

unread,
Feb 1, 2024, 5:40:05 AMFeb 1
to

Il 31/01/24 14:02, Leonardo Boselli ha scritto:
> Ho un portatile [bookworm], che ha anche dei servizi da
> server, quindi ha un indirizzo registrato.
> [taglio]
> interfacce collegate (le due ethernet cablate
> contemporaneamente non sono previste)

Ciao, se ho ben capito la tua esigenza, per implementare una
configurazione dinamica degli indirizzi IP in Debian,
potresti sfruttare le funzionalità di systemd. Innanzitutto,
potresti creare uno script bash che esegua le operazioni
desiderate in base alle condizioni di rete. Questo script
potrebbe, per esempio, essere attivato utilizzando un
servizio systemd.

Nello specifico, potresti sfruttare lo script durante
l'evento (se non sbaglio) "pre-up" delle interfacce di rete.
Crea uno script bash che includa le operazioni necessarie e
un file di servizio systemd che lo eseguirà prima
dell'attivazione delle interfacce di rete.

a presto,

--
*Gianluca Francesco Signorotto*
website: https://eritrium.org
OpenPGP_signature.asc

gianluca....@eritrium.org

unread,
Feb 1, 2024, 6:10:04 AMFeb 1
to
Il 31/01/24 14:02, Leonardo Boselli ha scritto:
> Ho un portatile [bookworm], che ha anche dei servizi da
> [taglio]
> contemporaneamente non sono previste)

Chiedo scusa, partito prima del dovuto... solo per
aggiungere: tieni presente che hai da gestire le tue tre
interfacce, puoi usare if, elif ecc:

docking_station -> enx001122334455
wifi -> wlp0s1
internal_eth -> enp2s0

con

ip -6 route show dev $1 | awk '/default/ {print $3}'

ti viene restituito l'indirizzo IPv6 del gateway per una
data interfaccia.

Potresti voler separare le varie parti del tuo codice in
"funzioni" per leggibilità o organizzazione del codice.

A presto,
OpenPGP_signature.asc

Piviul

unread,
Feb 1, 2024, 8:30:04 AMFeb 1
to
Non so, a me sembra possa funzionare con un  po' più di elasticità ma
vedi tu quale sia la cosa migliore, purtroppo non so aiutarti di più

Piviul

Leonardo Boselli

unread,
Feb 2, 2024, 4:10:06 PMFeb 2
to
On Thu, 1 Feb 2024, gianluca....@eritrium.org wrote:
> Nello specifico, potresti sfruttare lo script durante
> l'evento (se non sbaglio) "pre-up" delle interfacce di rete.
> Crea uno script bash che includa le operazioni necessarie e
> un file di servizio systemd che lo eseguirà prima
> dell'attivazione delle interfacce di rete.

Come faccio, prima di attivare le interfacce di rete, a conoscere quale è
la rete a cui mi collegherò ?
Mi spiego: la macchina può trovarsi in tre condizioni:
A. fuori dalla rete home;
B. nella rete home regolarmente funzionante;
C. nella rete home con problemi.

Al momento della accensioone tenterà di collegarsi a una o più reti.
per sdapere la rete home l'unico modo è conoscere il prefisso IPv6
assegnato, e questo fino a che non lo riceve non lo sa.
Questo influisce sia per IPv6 che per IPv4 , visto che se è nella rete
home deve attivare il bound e assegnare degli indirizzi noti, mentre se
non lo è deve affidarsi a DHCP e RAD .
Come potrebbe essere fatto ?
(ovviamante non basandosi sull'indirizzo locale del rpouter, che potrebbe
essere duplicato, e al contrario il dhcp non può basarsi sull'indirizzo
della docking station che potrebbe essere usata per una macchina
diversa...)

--
Leonardo Boselli
Firenze, Toscana, Europa
http://i.trail.it
tel:+393287329225

Gianluca Francesco Signorotto

unread,
Feb 3, 2024, 6:00:04 AMFeb 3
to
Il 02/02/2024 21:44, Leonardo Boselli ha scritto:
> Come faccio, prima di attivare le interfacce di rete, a
> conoscere quale  è la rete a cui mi collegherò ?
> Mi spiego: la macchina può trovarsi in tre condizioni:
> A. fuori dalla rete home;
> B. nella rete home regolarmente funzionante;
> C. nella rete home con problemi.
>
> Al momento della accensioone tenterà di collegarsi a una o
> più reti.
> per sdapere la rete home l'unico modo è conoscere il
> prefisso IPv6 assegnato, e questo fino a che non lo riceve
> non lo sa.
> Questo influisce sia per IPv6 che per IPv4 , visto che se è
> nella rete home deve attivare il bound e assegnare degli
> indirizzi noti, mentre se non lo è deve affidarsi a DHCP e
> RAD .
> Come potrebbe essere fatto ?

È una configurazione complessa e inusuale.

Tuttavia, penso che occorra ricorrere sia a uno (o forse
più) script Bash che a Systemd, relativamente alle sue unità
target; queste sono network.target, network-online.target, e
network-pre.target. Per esempio qui:
https://systemd.io/NETWORK_ONLINE/

Per identificare la rete a cui ci si collega, potresti
utilizzare uno script Bash che, una volta eseguito, analizza
il prefisso IPv6 del gateway. Questo script può essere
integrato in un servizio systemd che intervenga dopo
l'attivazione delle interfacce di rete. Successivamente,
potresti assegnare gli indirizzi IP desiderati in base alla
rete identificata, utilizzando un secondo script Bash
incorporato in un secondo servizio systemd che dipende dal
servizio di identificazione della rete.

È importante configurare i servizi in modo che intervengano
in sequenza, garantendo che il servizio di identificazione
della rete venga eseguito prima di quello di assegnazione
degli indirizzi. Inoltre, la configurazione del servizio di
rete di Debian può essere adattata per gestire dinamicamente
le configurazioni DHCP e RAD in base alla rete identificata.

In conclusione, la configurazione che stai cercando di
realizzare è senza dubbio complessa e pone diverse sfide.
Affrontare dinamicamente le diverse condizioni di rete e
gestire la configurazione in base a esse richiede
un'attenzione particolare e una profonda comprensione delle
dinamiche di rete coinvolte nel tuo contesto specifico.

A presto,

--
Gianluca Francesco Signorotto
website: https://eritrium.org

Davide Prina

unread,
Feb 4, 2024, 6:40:06 AMFeb 4
to
Leonardo Boselli ha scritto:

> Quello che vorrei fare è che se la macchina riconosce di essere in una
> certa sottorete (che riconosce dal prefisso IPv6 assegnato dal router)
> debba fare la seguente operazione:
> tra tutte le reti connesse deve assegnare un determinato indirizzo IPv6
> nell'ordine [se attive] a docking station; wifi; ethernet interna.
> e un determinato indirizzo IPv4 come sopra.

forse con guessnet?

Ciao
Davide

--
La mia privacy non è affar tuo
https://noyb.eu/it
- You do not have my permission to use this email to train an AI -
If you use this to train your AI than you accept to distribute under AGPL
license >= 3.0 all the model trained, all the source you have used to
training your model and all the source of the program that use that model

MAURIZI Lorenzo

unread,
Feb 9, 2024, 6:50:04 AMFeb 9
to
Un punto di aggancio per far avviare uno script in base alle connessioni di rete potrebbe essere il file

/etc/network/interfaces

Che prevede

-----------
auto eth0

iface eth0 inet dhcp

post-up /etc/network/if-post-up/post-up

post-down /etc/network/if-down.d/post-down

----------

Giocando un po' con questi punti di "reazione" alla connessione si potrebbe ottenere quel risultato.


Ciao da Lorenzo

0 new messages