Installazione di Linux in rete da Windows. Installazione di Windows su una rete da un server Linux. Procediamo alla configurazione del sistema installato

Chiunque, almeno occasionalmente, si occupi di amministrazione almeno una volta aveva bisogno di installare un sistema operativo su un computer. E spesso tutto accade così: l'immagine viene scaricata, scritta su un disco o su un'unità flash, caricata e installata. Ma potrebbe risultare che non c'è un'unità flash o un disco a portata di mano e l'installazione deve essere eseguita ieri ... Quindi puoi eseguire l'avvio dalla rete e non ci sono particolari problemi con Linux a questo proposito. Una configurazione tipica è un bundle DHCP, TFTP e NFS... Ma non avevo l'accordatura a portata di mano NFS, ma era Samba... Quindi ho dovuto capire come usarlo Samba invece di NFS.

Sembra non essere niente del genere, ho cambiato le impostazioni e basta, ma all'inizio qualcosa non ha funzionato, ho dovuto sciamano ...

Ma comincerò da qui fin dall'inizio. Quindi prima devi procurarti un kit di distribuzione. Dal momento che abbiamo messo Menta Linux alla ricerca di un look fresco. Scarichiamo il kit di distribuzione che fa per noi (ho installato quello con COMPAGNO, ma ovviamente non ha molta importanza). Dopo aver scaricato l'immagine, è necessario accedere ai file dell'immagine. Alcune guide consigliano di decomprimere l'immagine, ma non vedo alcun senso in questo, quindi sostengo l'opinione che dovresti montare l'immagine come ciclo continuo... Per non interferire con l'ordine esistente, creiamo semplicemente una nuova directory, dove montiamo l'immagine:

# mkdir / mnt / menta
# mount -o loop /home/utente/download/linuxmint-17-mate-64bit-v2.iso/mnt/mint

Successivamente, è necessario rendere i file disponibili sulla rete per la lettura da parte del programma di installazione. Come ho detto sopra, ho per questo scopo Samba... Pertanto, apriamo il file di configurazione e aggiungiamo una nuova pallina aggiungendo la seguente sezione:


percorso = / mnt / menta
disponibile = si
sfogliabile = si
pubblico = sì
scrivibile = n

Dovrebbe funzionare con le impostazioni predefinite Samba... Se non funziona, molto probabilmente hai cambiato qualcosa da solo, il che significa che troverai come risolvere il problema. Quindi abbiamo aggiunto la palla menta, attraverso il quale è possibile ottenere dalla rete i file per l'installazione. Ricordati di riavviare Samba per accettare nuove impostazioni.

Per Arcilinux:

# systemctl riavvia smbd
# systemctl riavvia nmbd

Per Gentoo:

# /etc/init.d/samba riavvia

Successivamente, è necessario preparare il bootloader di rete. Il programma ci aiuterà in questo. tftp-hpa... V Arcilinux e dentro Gentoo il pacchetto è chiamato in questo modo. È necessario posizionare i file del bootloader nella directory di lavoro del server ftp (in arch /srv/tftp). Copia il kernel e initrd lì dall'immagine montata:

# cp /mnt/mint/casper/(vmlinux,initrd.lz) / srv / http

# cp /usr/lib/syslinux/bios/(pxelinux.0,menu.c32,ldlinux.c32,libutil.c32) / srv / http

PREDEFINITO menu.c32
ETICHETTA LinuxMint
KERNEL vmlinuz
APPEND showmounts toram root = / dev / cifs boot = casper netboot = cifs nfsroot = // 192.168.0.1/mint NFSOPTS = -oguest, ro initrd = initrd.lz nosplash

Dove 192.168.0.1 - il nostro indirizzo IP relativo alla macchina su cui scommetteremo. Oh sì, e circa nf non c'è un errore di battitura, nella modalità di funzionamento con cif, devi passare opzioni come per nf, non posso dire perché. Particolare attenzione dovrebbe essere prestata all'opzione toram, poiché senza di essa tutto cade a metà e non possiamo avviare (forse queste sono caratteristiche del samba). Ma con questa opzione, devi ricordare che la macchina di destinazione deve avere abbastanza RAM per copiare il programma di installazione lì. Il server TFTP deve essere avviato. Per Arcilinux:

# systemctl tftpd.socket start

Per Gentoo:

# /etc/init.d/in.tftpd inizio

Ora il BIOS della macchina di destinazione deve in qualche modo dire da dove viene caricato. Questo ci aiuterà dnsmasq(sebbene non sia necessario, puoi usare un altro server DHCP, qui descrivo cosa c'era a portata di mano). Configura la distribuzione IP (opzione gamma dhcp) a sua discrezione, sotto la sua "rete" tra macchine. Per l'installazione, per noi sono importanti solo tre opzioni:

Dhcp-boot = / pxelinux.0
dhcp-opzione = fornitore: PXEClient, 6,2b
pxe-service = x86PC, "Installa Linux", pxelinux

Devono essere aggiunti alla configurazione dnsmasq, e ovviamente avviarlo (o riavviarlo).

Per Arcilinux:

# systemctl avvia dnsmasq

Per Gentoo:

# /etc/init.d/dnsmasq inizio

Ricorda, affinché tutto funzioni, è necessario che le porte siano accese DHCP(UDP 67.68), TFTP(UDP 69), Samba(UDP 137.138, TCP 139.445) deve essere aperto, assicurati di tenerne conto nella configurazione del firewall. Se non c'è un firewall o l'interfaccia è completamente aperta, va bene, dovrebbe funzionare.

Nota: a causa del fatto che i sistemi sono costantemente aggiornati, i percorsi dei file indicati potrebbero non essere validi, cioè diversi da quelli sul tuo sistema. Pertanto, dai un'occhiata da vicino alla struttura del pacchetto del tuo sistema.

Non molto tempo fa, mi sono imbattuto in una situazione in cui avevo bisogno di mettere Windows su un laptop sulla rete, perché non c'erano altre opzioni. Perché Ho già avuto un'esperienza simile, ma per molto tempo è sorta la necessità di rinfrescare le mie conoscenze, anche se alla fine si è scoperto che era necessario risolverlo di nuovo =).

introduzione

Durante la descrizione, presumo che abbiamo già un server su Linux e abbiamo implementato il download pxe da esso.

Per lavoro abbiamo bisogno del seguente software:

  • hpa-tftpd
  • samba
  • pxelinux
  • dhcpd

Ometteremo le impostazioni dhcpd, pxelinux, samba. Verranno descritte solo le modifiche che devono essere apportate alla configurazione di questi servizi.

Preparazione dei file richiesti

Per prima cosa, creiamo una struttura di directory nella directory di lavoro del server tftp.

mkdir / tftpboot / install

mkdir / tftpboot / install / win

cd/tftpboot

ln -s install / win win

Quindi, copia tutti i file e le cartelle di installazione dal disco di Windows nella cartella /tftpboot/installa/vinci... Come noterai, i nomi dei file sono tutti maiuscoli. Per correggere questa svista, eseguire quanto segue nella cartella /tftpboot/install/win/i386:

ls -1 | awk '(sistema (" mv "$ 0 ″" tolower ($ 0))) '

Successivamente, copia i seguenti file da questa cartella nella radice del server tftp: startrom.n12, SETUPLDR.BIN(devi rinominarlo in ntldr) , BOOTFONT.BIN, ntdetect.com... Possono essere imballati e quindi l'ultima lettera dell'estensione verrà sostituita con un trattino basso. Puoi decomprimerli usando l'utilità cabestratto.


senza floppy = "1"
msdosinitiated = "1"
; Necessario per la seconda fase
OriSrc = "\\ 10.0.0.254 \ WINXP \ vinci \ i386"
OriTip = "4"
LocalSourceOnCD = 1
DisableAdminAccountOnDomainJoin = 1


OsLoadOptions = "/ noguiboot / fastdetect"
; Necessario per la prima fase
SetupSourceDevice = "\ Dispositivo \ LanmanRedirector \ 10.0.0.254 \ WINXP \ vinci"


; Evita formattazione/ripartizione automatica
Ripartizione = n
UsaDisco intero = No


NomeComputer = *
ID prodotto = XXXXX-XXXXXX-XXXXX-XXXXX-XXXXX

Naturalmente indichiamo i nostri dati (percorso e server e seriale).

Successivamente, vai alla cartella i386 e decomprimi l'archivio drivers.cab

cabextract driver.cab

Configurazione del servizio BINL

Spero che tu abbia già scaricato l'archivio ris-linux dal link sopra. In caso contrario, scarica, dopodiché puoi continuare a sintonizzarti.

Servizio BINL Progettato per consentire a Windows Installer di passare i driver della scheda di rete. Sì. Ecco una situazione così paradossale: il bootloader è stato avviato dalla rete, ma non può comunicare con la rete stessa, senza questo servizio e il driver successivamente caricato.

Decomprimi l'archivio in una cartella / optare(si consiglia di inserire qualsiasi software non necessario lì). Entriamo nella cartella. Ci sono alcuni file lì dentro, ma non tutti sono necessari. Quindi, dobbiamo fornire i driver per le schede di rete. Per fare ciò, devi prima crearne un elenco. Questo è fatto in questo modo:

infparser.py / tftpboot / install / win / i386

Ora puoi avviare il servizio:

./binlsrv.py &

A proposito. Se il caricatore non viene caricato, c'è un file per portarlo nell'orario di lavoro fixloader.py.

fixloader.py/tftpboot/ntldr

Configurazione di hpa-tftpd

Perché quando si scrive il percorso di un file su Windows e Linux, vengono utilizzate barre diverse, quindi è necessario assicurarsi che tftp- il server ha capito cosa volevano da lui. Per fare ciò, crea un file /etc/tftpd.rules con il seguente contenuto:

Successivamente, questo file deve essere indicato al server. Per fare ciò, modifica il suo file di configurazione e specifica il percorso del file usando il flag -m. Gentoo chiama questo file /etc/conf.d/in.tftpd. Troviamo e portiamo alla forma seguente la linea delle opzioni di lancio:

INTFTPD_OPTS = "- c -R 4096: 32767 -s $ (INTFTPD_PATH) -v -m /etc/conf.d/tftpd.rules"

Anche il flag -v è specificato qui. È necessario per il debug. In modo che quando qualcosa va storto, puoi vedere quali file sono stati richiesti e se sono stati forniti.

Configurazione samba

La prima fase dell'installazione estrae i file tramite tftp e la seconda (che dopo un riavvio) può prelevare i file tramite una condivisione, da un disco rigido o da un CD. Naturalmente, nel nostro caso, dobbiamo creare una palla con i file di installazione.

Aggiungere a smb.conf all'incirca le seguenti righe:


commento = installa file
percorso = / tftpboot / install
pubblico = sì
scrivibile = sì
solo ospite = si

Un punto importante. L'opzione globale deve essere impostata: password nulle = true

E un altro punto importante: nota che all'interno delle sfere deve esserci almeno una directory in cui si trovano già i file di installazione. Se condividiamo immediatamente la cartella con i file di installazione, riceveremo un errore all'inizio dell'installazione.

Configurazione di pxelinux

Questa operazione è la più semplice. Devi aggiungere le seguenti righe al tuo pxelinux.cfg / default:

label WinXP Home Installa dalla rete
installazione del kernel/win/startrom.0

Qualunque cosa. È già possibile scaricare e installare.

Nell'articolo, ha menzionato la possibilità di installare "Utilizzo di un avvio di rete (avvio PXE)", quindi ho deciso di scrivere finalmente materiale sulla creazione di un server di avvio pxe.

La storia sarà basata sull'esempio dello stesso sistema operativo - Debian (quindi i tuoi percorsi e comandi potrebbero differire).
Per prima cosa, installiamo un server tftp. Esaminiamo le opzioni disponibili ( apt-cache ricerca tftp | server fgrep):

  • atftpd
  • dnsmasq
  • tftpd
  • tftpd-hpa
Per prima cosa ho installato tftpd-hpa, perché è stato descritto nel manuale con cui ho iniziato a creare il server. Poi sono passato ad atftpd perché Avevo bisogno di registrazione. Consideriamo entrambe le opzioni:
  • tftpd-hpa:
    Installa il pacchetto, modifica il file / etc / default / tftpd-hpa affinché il demonio sappia che deve vivere:

    #Predefinito per tftpd-hpa
    RUN_DAEMON = "sì"
    OPZIONI = "- l -s / var / lib / tftpboot"

    Crea la directory richiesta: mkdir/var/lib/tftpboot e avviare il servizio invoke-rc.d tftpd-hpa start

  • atftpd:
    Dopo l'installazione, scopriamo che per impostazione predefinita questo servizio funziona tramite inetd. Per qualche ragione, non sono un fan di questo metodo, quindi la prima cosa che ho fatto è stata commentare la riga corrispondente /etc/inetd.conf... Quindi modifichiamo / etc / default / atftpd:

    USE_INETD = falso
    OPZIONI = "- daemon --tftpd-timeout 1500 --no-multicast --retry-timeout 20 --logfile /var/log/atftpd.log --maxthread 100 --verbose = 5 / var / lib / tftpboot"

    --tftpd-timeout- durata del flusso, in assenza di richieste
    --retry-timeout- timeout caricamento file
    Ho grandi timeout impostati perché il servizio è trasmesso alla rete locale della città, che periodicamente si riduce a causa dell'abbondanza di abbonati e non è in grado di far fronte al flusso di richieste.
    Bene, come nel paragrafo precedente, creiamo la directory richiesta: mkdir/var/lib/tftpboot e avviare il servizio invoke-rc.d atftpd start

Ora abbiamo un server tftp. Abbiamo fatto un passo :)
Avanti - configurazione DHCP:
  • DHCP3:
    Al file di configurazione /etc/dhcp3/dhcpd.conf aggiungi informazioni di caricamento:

    Nome file "pxelinux.0";
    server successivo ;

    Se tftpd è installato sullo stesso server di dhcpd, la direttiva next-server può essere omessa. E riavvia dhcp3-server: invoke-rc.d riavvio del server dhcp3

  • dnsmasq:
    Per configurare /etc/dnsmasq.conf Inserisci:

    Dhcp-boot = pxelinux.0, ,

    Anche in questo caso, se i server tftp e dhcp sono gli stessi, gli ultimi 2 attributi possono essere lasciati vuoti. Ricomincia: invoke-rc.d dnsmasq riavvia

Il secondo passaggio è passato. Avanti: configurazione diretta di pxe-boot.
Vai su ftp.debian.org, seleziona la directory installatore- * corrispondente all'architettura richiesta. Quindi vai alla directory corrente / immagini / avvio da rete all'interno troveremo i file netboot.tar.gz e gtk / netboot.tar.gz sono rispettivamente file di installazione di testo e grafici. Scegli quello che ti piace, scaricalo e scompattalo /var/lib/tftpboot.
Resta da assicurarsi che l'accesso alla porta UDP 69 sia consentito e che sia possibile utilizzare le delizie di un'installazione di rete.

Come bonus, allego un menu che ho ricevuto a seguito di diversi giorni di bullismo:
Nella configurazione attuale è possibile installare più OS (l'installazione di Debian è possibile sia in modalità testuale che grafica), avviando xUbuntu (tramite nfs), SystemRescueCD (tramite http-boot), memtest86 (tramite tftp). L'installazione di tutti i sistemi operativi è possibile per 2 architetture: x86 e x64. Perché Ho un mirror in rete dei repository Ubuntu 8.10 e Debian 5.0, quindi i programmi di installazione non offrono la scelta di un repository, ma uniscono automaticamente tutto da esso.
Schermate.

Su Ubuntu, la connettività di rete viene configurata utilizzando il servizio Network Manager. Per connetterti alla rete, fai clic con il mouse un paio di volte, seleziona la connessione e il gioco è fatto. Lo stesso, e ancora più semplice, quando si utilizza una connessione cablata: qui Internet viene connesso automaticamente non appena l'applet viene caricata.

Ma l'interfaccia grafica non è sempre disponibile: dopo un'installazione del driver non riuscita o il successivo aggiornamento, la shell grafica non si avvia e sui server non viene affatto utilizzata. Questo breve tutorial ti guiderà attraverso la configurazione di una rete Ubuntu dalla console. Parleremo di come impostare l'ottenimento di un indirizzo IP tramite DHCP, nonché di come impostare il DNS. Considera la configurazione manuale rispetto a quella automatica , proveremo anche a farlo attraverso i file di configurazione del sistema.

Prima di passare ai comandi stessi, comprendiamo un po' la teoria del networking. Ciò è necessario per non eseguire solo alcuni comandi incomprensibili, ma comprendere l'intera essenza di ciò che faremo e come è configurata la rete locale di Ubuntu.

I computer si scambiano informazioni usando i pacchetti. Tutti i dati su Internet vengono trasmessi utilizzando piccoli pacchetti. Senza entrare nei dettagli, ogni pacchetto contiene l'indirizzo del mittente, l'indirizzo del destinatario ei dati stessi. Questi indirizzi non sono altro che gli indirizzi IP a cui siamo abituati. Oltre all'IP, un computer dispone di un indirizzo fisico utilizzato per comunicare tra computer su una rete locale. È questo l'indirizzo MAC? ed è impostato dal produttore della scheda di rete.

Una volta che un computer è connesso a una rete, sia cablata che wireless, può comunicare solo con computer sulla rete locale e solo a indirizzi fisici. Per poter accedere alla rete globale, la macchina al suo interno deve ottenere un indirizzo IP. Per questo viene utilizzato il protocollo DHCP. In breve: il nostro computer chiede a tutti i computer della rete locale chi è il server DHCP, DHCP risponde ad esso ed emette un indirizzo IP. Allo stesso modo, il computer apprende l'IP del router, attraverso il quale può accedere alla rete, quindi cerca di trovare i server DNS o apprende quelli standard dal router. Con la teoria risolta, passiamo alla pratica.

Configurazione di una rete tramite terminale in Ubuntu

Qui esamineremo la configurazione di rete automatica per Ubuntu 16.04 senza Network Manager utilizzando script di sistema standard che sono rimasti da Upstart e sono ancora in uso. Definiamo prima quali passi dobbiamo compiere per far funzionare tutto:

  • Accendere l'interfaccia di rete e connettersi alla rete;
  • Impostare l'indirizzo IP;
  • Otteniamo gli indirizzi dei server DNS.

In realtà, è pronto. Questi passaggi sono molto simbolici, perché il sistema farà tutto per noi. Abbiamo solo bisogno di effettuare le impostazioni necessarie. Ma prima, vediamo quali interfacce di rete sono collegate al sistema. Mi piace il comando:

Ma se vuoi puoi usare ifconfig:

Nel nostro sistema c'è solo un'interfaccia: questa è enp0s3, c'è anche lo, ma è virtuale e punta a questa macchina.

Le impostazioni di rete si trovano nel file /etc/rete/interfacce.

Saremo interessati alle linee auto e iface in questo file. Il primo indica che è necessario attivare l'interfaccia in fase di avvio, mentre il secondo determina le impostazioni dell'interfaccia stessa.

Configurazione dell'acquisizione IP dinamico

Aggiungi le seguenti righe a questo file per avviare l'interfaccia all'avvio e ottenere automaticamente un indirizzo IP tramite DHCP:

auto enp0s3
iface enp0s3 inet dhcp

La sintassi della stringa automatica è semplice. È costituito dal comando stesso e dal nome dell'interfaccia di rete. Diamo un'occhiata più da vicino:

$ tipo di inet dell'interfaccia iface

Il tipo di ottenimento di un indirizzo IP può avere diversi significati, ma in questo articolo ce ne interesseranno solo due: dhcp e statico.

Dopo aver completato la configurazione, salvare il file e riavviare il servizio di rete:

Tutto, se il cavo di rete è collegato e hai fatto tutto correttamente, la rete funzionerà.

Configurazione di un indirizzo Ubuntu statico

Se si configura un indirizzo IP statico, il computer non comunicherà con il server DHCP, quindi ci sono molti più parametri da specificare qui.

Il contenuto del nostro file di configurazione sarà simile a questo:

auto eth0
iface eth0 inet statico
indirizzo 192.168.1.7
gateway 192.168.1.1
maschera di rete 255.255.255.0
rete 192.168.1.0
trasmissione 192.168.1.255

Tutto è chiaro con le prime due righe e le seguenti impostano le impostazioni dell'interfaccia:

  • indirizzo- il nostro indirizzo IP;
  • gateway- il gateway attraverso il quale avremo accesso a Internet;
  • maschera di rete- maschera di rete;
  • Rete- indirizzo di rete, ha lo stesso indirizzo del gateway, solo con zero invece di uno;
  • trasmissione- l'indirizzo broadcast della rete, il pacchetto ad essa inviato arriverà a tutti i computer della rete locale.

Come puoi vedere, rete e trasmissione sono il primo e l'ultimo indirizzo IP della rete. Ora salva il file e riavvia la rete:

riavvio della rete del servizio sudo

Se tutti i parametri sono stati specificati correttamente, tutto funzionerà. Ma se viene commesso almeno un errore, non avrai accesso alla rete.

Questa era una configurazione automatica della rete locale GBuntu, ma ti dirò anche come fare tutto manualmente, senza file di configurazione.

Rete manuale in Ubuntu

L'opzione precedente è utile se la utilizzerai costantemente, ma se devi configurare la rete solo una volta attraverso il terminale, non è necessario modificare i file di configurazione. Possiamo fare tutto con il comando ip... Successivamente, considereremo la configurazione manuale di una rete in Ubuntu.

Questo comando viene utilizzato per la gestione della rete ed è incluso in tutte le distribuzioni per impostazione predefinita.

Come nell'esempio precedente, esaminiamo le interfacce di rete:

Dopo aver appreso l'interfaccia, possiamo procedere alla configurazione.

Ottenere un indirizzo IP tramite DHCP

Innanzitutto, abilita l'interfaccia:

sudo ip link set enp0s3 up

Quindi usando il comando dhclient richiesta ip:

sudo dhclient enp0s3

Ecco fatto, la configurazione della rete di Ubuntu 16.04 è completa, abbiamo un indirizzo IP e non resta che configurare il DNS, ma lo vedremo di seguito.

Configurazione IP statico

Attiva l'interfaccia:

sudo ip link set enp0s3 up

Impostiamo l'indirizzo IP, la maschera di rete e l'indirizzo di trasmissione per la nostra interfaccia:

sudo ip addr aggiungi 192.168.1.7/255.255.255.0 broadcast 192.168.1.255 dev enp0s3

Indichiamo l'indirizzo IP del gateway:

sudo ip route aggiungi predefinito tramite 192.168.1.1

Qui 192.168.1.7 è il nostro indirizzo IP, 255.255.255.0 è la maschera di rete, 192.168.1.255 è l'indirizzo di trasmissione. Sostituisci questi valori con i tuoi.

Come puoi vedere, la rete funziona. Se vuoi sperimentare su una macchina con una rete funzionante, puoi resettarla con il comando:

sudo ip -4 addr flush dev enp0s3

Configurazione DNS

Il DNS viene utilizzato per tradurre i nomi di dominio del sito in indirizzi IP. Quando otteniamo un indirizzo IP automaticamente tramite DHCP, utilizziamo i server DNS corretti, ma se scegliamo un IP statico, allora il DNS potrebbe non essere ottenuto, quindi dobbiamo fare tutto manualmente.

Se è necessario configurare il DNS in modo che non si arresti in modo anomalo dopo un riavvio, è necessario utilizzare il sistema di configurazione di rete di Ubuntu. Per fare ciò, apri il file / etc / network / interfaces e aggiungi una riga dopo le direttive per l'interfaccia richiesta:

DNS-nameserver 8.8.8.8 4.4.4.4

Qui 8.8.8.8 e 4.4.4.4 sono gli indirizzi IP dei server DNS, puoi sostituirli con i tuoi. E puoi usarne uno, non due. Quindi salva il file e riavvia la rete:

riavvio della rete del servizio sudo

Se devi configurare il DNS solo per questa sessione, aggiungi una riga a /etc/resolv.conf

sudo vi /etc/resolv.conf

server dei nomi 8.8.8.8
server dei nomi 4.4.4.4

Dopo aver salvato il file, la rete funzionerà completamente come dovrebbe. Ma l'ultimo metodo è adatto solo fino al riavvio, poiché il file /etc/resolv.conf viene generato automaticamente.

Nell'articolo, ha menzionato la possibilità di installare "Utilizzo di un avvio di rete (avvio PXE)", quindi ho deciso di scrivere finalmente materiale sulla creazione di un server di avvio pxe.

La storia sarà basata sull'esempio dello stesso sistema operativo - Debian (quindi i tuoi percorsi e comandi potrebbero differire).
Per prima cosa, installiamo un server tftp. Esaminiamo le opzioni disponibili ( apt-cache ricerca tftp | server fgrep):

  • atftpd
  • dnsmasq
  • tftpd
  • tftpd-hpa
Per prima cosa ho installato tftpd-hpa, perché è stato descritto nel manuale con cui ho iniziato a creare il server. Poi sono passato ad atftpd perché Avevo bisogno di registrazione. Consideriamo entrambe le opzioni:
  • tftpd-hpa:
    Installa il pacchetto, modifica il file / etc / default / tftpd-hpa affinché il demonio sappia che deve vivere:

    #Predefinito per tftpd-hpa
    RUN_DAEMON = "sì"
    OPZIONI = "- l -s / var / lib / tftpboot"

    Crea la directory richiesta: mkdir/var/lib/tftpboot e avviare il servizio invoke-rc.d tftpd-hpa start

  • atftpd:
    Dopo l'installazione, scopriamo che per impostazione predefinita questo servizio funziona tramite inetd. Per qualche ragione, non sono un fan di questo metodo, quindi la prima cosa che ho fatto è stata commentare la riga corrispondente /etc/inetd.conf... Quindi modifichiamo / etc / default / atftpd:

    USE_INETD = falso
    OPZIONI = "- daemon --tftpd-timeout 1500 --no-multicast --retry-timeout 20 --logfile /var/log/atftpd.log --maxthread 100 --verbose = 5 / var / lib / tftpboot"

    --tftpd-timeout- durata del flusso, in assenza di richieste
    --retry-timeout- timeout caricamento file
    Ho grandi timeout impostati perché il servizio è trasmesso alla rete locale della città, che periodicamente si riduce a causa dell'abbondanza di abbonati e non è in grado di far fronte al flusso di richieste.
    Bene, come nel paragrafo precedente, creiamo la directory richiesta: mkdir/var/lib/tftpboot e avviare il servizio invoke-rc.d atftpd start

Ora abbiamo un server tftp. Abbiamo fatto un passo :)
Avanti - configurazione DHCP:
  • DHCP3:
    Al file di configurazione /etc/dhcp3/dhcpd.conf aggiungi informazioni di caricamento:

    Nome file "pxelinux.0";
    server successivo ;

    Se tftpd è installato sullo stesso server di dhcpd, la direttiva next-server può essere omessa. E riavvia dhcp3-server: invoke-rc.d riavvio del server dhcp3

  • dnsmasq:
    Per configurare /etc/dnsmasq.conf Inserisci:

    Dhcp-boot = pxelinux.0, ,

    Anche in questo caso, se i server tftp e dhcp sono gli stessi, gli ultimi 2 attributi possono essere lasciati vuoti. Ricomincia: invoke-rc.d dnsmasq riavvia

Il secondo passaggio è passato. Avanti: configurazione diretta di pxe-boot.
Vai su ftp.debian.org, seleziona la directory installatore- * corrispondente all'architettura richiesta. Quindi vai alla directory corrente / immagini / avvio da rete all'interno troveremo i file netboot.tar.gz e gtk / netboot.tar.gz sono rispettivamente file di installazione di testo e grafici. Scegli quello che ti piace, scaricalo e scompattalo /var/lib/tftpboot.
Resta da assicurarsi che l'accesso alla porta UDP 69 sia consentito e che sia possibile utilizzare le delizie di un'installazione di rete.

Come bonus, allego un menu che ho ricevuto a seguito di diversi giorni di bullismo:
Nella configurazione attuale è possibile installare più OS (l'installazione di Debian è possibile sia in modalità testuale che grafica), avviando xUbuntu (tramite nfs), SystemRescueCD (tramite http-boot), memtest86 (tramite tftp). L'installazione di tutti i sistemi operativi è possibile per 2 architetture: x86 e x64. Perché Ho un mirror in rete dei repository Ubuntu 8.10 e Debian 5.0, quindi i programmi di installazione non offrono la scelta di un repository, ma uniscono automaticamente tutto da esso.
Schermate.

Pubblicazioni correlate