Cercando di scoprire dove è memorizzata la configurazione di instradamento iniziale per OS X (plist, o dovunque), e cosa succede all'avvio per leggere quella configurazione e configurare le interfacce di rete.
Cercando di scoprire dove è memorizzata la configurazione di instradamento iniziale per OS X (plist, o dovunque), e cosa succede all'avvio per leggere quella configurazione e configurare le interfacce di rete.
In OS X, la tabella di routing è gestita principalmente da configd
, in base alle impostazioni di rete in / Library / Preferences / SystemConfiguration / * e allo stato live delle interfacce di rete (es. c'è qualcosa collegato alla presa ethernet al momento?).
Le impostazioni di rete possono essere esaminate cercando in /Library/Preferences/SystemConfiguration/preferences.plist, ma il formato è molto difficile da capire; Consiglio di utilizzare il pannello Preferenza rete o il comando networksetup
per visualizzare & cambia impostazioni.
La configurazione del routing è piuttosto semplice: ogni interfaccia configurata ottiene un percorso verso la sua sottorete locale e, per le destinazioni non presenti su alcuna sottorete locale, viene impostata una route predefinita in base all'impostazione "Router" per la priorità più alta interfaccia "live" (vedi l'ordine delle interfacce in Network prefs, oppure usa networksetup -listnetworkserviceorder
e poi cerca la prima interfaccia "live" su quell'elenco).
A partire dal 10.6, le cose sono diventate un po 'più complicate, perché Apple ha aggiunto percorsi predefiniti basati su sorgenti per i router definiti delle interfacce tutte . In sostanza, ciò significa che se il traffico proveniente da un particolare indirizzo IP arriva su un'interfaccia inattesa, verrà risposto tramite il router definito su tale interfaccia.