edgerouter.md 8.4 KB


id: enrutador de borde title: "Enrutador Ubiquiti Edge" description: Uso del enrutador Edge de Ubiquiti

hide_table_of_contents: verdadero

Este documento cubre cómo configurar netboot.xyz, un servicio que proporciona instalación basada en iPXE y arranque en vivo de varios sistemas operativos, en un Ubiquiti EdgeRouter.

Gracias a Sam Kottler por escribir originalmente este tutorial. Mejore la solidez de la configuración mediante el uso del demonio TFTP integrado de dnsmasq de Yan Grunenberger en lugar del paquete TFTP externo.

suposiciones

He hecho algunas suposiciones a lo largo de este documento que probablemente serán diferentes para su configuración:

  • Hay un grupo DHCP llamado LAN
  • El grupo LAN administra 10.10.2.0/24

Configurar soporte tftp en dnsmasq

De forma predeterminada, dnsmasq se usa en Edgerouter para proporcionar servicios de DNS. Para habilitarlo:

sudo mkdir /config/user-data/tftproot
sudo chmod ugo+rX /config/user-data/tftproot

configure

establezca las opciones de reenvío de DNS del servicio enable-tftp
establezca las opciones de reenvío de DNS del servicio tftp-root=/config/user- datos/tftroot

confirmar
guardar

Configurar componentes TFTP

Descargue la imagen kpxe para netboot.xyz y establezca los permisos correctamente:

sudo curl -o /config/user-data/tftproot/netboot.xyz.kpxe https://boot.netboot.xyz/ipxe/netboot.xyz.kpxe
sudo chmod ugo+r /config/user-data/tftproot/ netboot.xyz.kpxe

En este punto, debería poder usar un cliente TFTP de un cliente en 10.10.2.0/24 para obtener la imagen:

$ tftp 10.10.2.1
tftp> obtener netboot.xyz.kpxe
Recibió 354972 bytes en 2,0 segundos

Configurar dhcpd

Vamos a configurar DHCP en EdgeRouter para servir los parámetros correctos a clientes:

configure

set service dhcp-server global-parameters "option client-arch code 93 = entero sin firmar 16;"
editar servicio dhcp-server shared-network-name LAN subnet 10.10.2.0/24
configurar bootfile-server 10.10.2.1
configurar bootfile-name netboot.xyz.kpxe

confirmar
guardar

La configuración para el grupo LAN ahora debería tener un aspecto similar al siguiente:

skottler@edge1# show service dhcp-server shared-network-name LAN
 autorización autorizada
 subred 10.10.2.0/24 {
     bootfile-name netboot.xyz.kpxe
     bootfile-server 10.10.2.1
     default-router 10.10.2.1
     servidor dns 10.10.2.1
     arrendamiento 86400
     inicio 10.10.2.100 {
         stop 10.10.2.199
     }
 }
[edit]

¡Eso es todo!

La configuración avanzada con soporte para Legacy y UEFI

Uso de ISC DHCP

Esta sección fue escrita por Skyler Mäntysaari.

Esto requiere que no use set service dhcp-server use-dnsmasq enable. Si lo usas, no funcionará.

Vamos a comenzar eliminando las cosas relacionadas con el arranque PXE de las opciones del servidor dhcp, por lo que los comandos para eso son algo como:

eliminar servicio dhcp-server shared-network-name LAN subred 10.10.2.0/24 bootfile-name netboot.xyz.kpxe
eliminar servicio dhcp-server shared-network-name LAN subred 10.10.2.0/24 bootfile-server 10.10.2.1

Ahora vamos a descargar la versión efi del archivo de arranque si aún no existe:

sudo curl -o /config/user-data/tftproot/netboot.xyz.efi https://boot.netboot.xyz/ipxe/netboot.xyz.efi
sudo chmod ugo+r /config/user-data/tftproot/ netboot.xyz.efi

A continuación, vamos a crear una carpeta de scripts para los scripts, en almacenamiento persistente (debe persistir durante las actualizaciones):

mkdir --parents /config/user-data/scripts/pxe/

A continuación, vamos a entrar en el modo de configuración e incluir el archivo de configuración principal de pxe:

establezca los parámetros globales del servidor dhcp del servicio "denegar bootp;"
configurar los parámetros globales del servidor dhcp del servicio "incluir "/config/user-data/scripts/pxe/option-space.conf";"
configurar el servicio dhcp-server shared-network-name LAN subnet 10.10.2.0/24 subnet-parameters "include "/config/user-data/scripts/pxe/pxe.conf";"

DEBE escribirse exactamente así, la parte "".

El archivo /config/user-data/scripts/pxe/pxe.conf:

permitir el arranque;
próximo servidor 10.10.2.1;

si la opción arch = 00:07 {
    nombre de archivo "netboot.xyz.efi";
} opción elsif arch = 00:00 {
    nombre de archivo "netboot.xyz.kpxe";
} else {
    nombre de archivo "netboot.xyz.efi";
}

El archivo /config/user-data/scripts/pxe/option-space.conf:

# Declare the iPXE/gPXE/Etherboot option space
option space ipxe;
option ipxe-encap-opts code 175 = encapsulate ipxe;

# iPXE options, can be set in DHCP response packet
option ipxe.priority         code   1 = signed integer 8;
option ipxe.keep-san         code   8 = unsigned integer 8;
option ipxe.skip-san-boot    code   9 = unsigned integer 8;
option ipxe.syslogs          code  85 = string;
option ipxe.cert             code  91 = string;
option ipxe.privkey          code  92 = string;
option ipxe.crosscert        code  93 = string;
option ipxe.no-pxedhcp       code 176 = unsigned integer 8;
option ipxe.bus-id           code 177 = string;
option ipxe.bios-drive       code 189 = unsigned integer 8;
option ipxe.username         code 190 = string;
option ipxe.password         code 191 = string;
option ipxe.reverse-username code 192 = string;
option ipxe.reverse-password code 193 = string;
option ipxe.version          code 235 = string;
option iscsi-initiator-iqn   code 203 = string;

# iPXE feature flags, set in DHCP request packet
option ipxe.pxeext    code 16 = unsigned integer 8;
option ipxe.iscsi     code 17 = unsigned integer 8;
option ipxe.aoe       code 18 = unsigned integer 8;
option ipxe.http      code 19 = unsigned integer 8;
option ipxe.https     code 20 = unsigned integer 8;
option ipxe.tftp      code 21 = unsigned integer 8;
option ipxe.ftp       code 22 = unsigned integer 8;
option ipxe.dns       code 23 = unsigned integer 8;
option ipxe.bzimage   code 24 = unsigned integer 8;
option ipxe.multiboot code 25 = unsigned integer 8;
option ipxe.slam      code 26 = unsigned integer 8;
option ipxe.srp       code 27 = unsigned integer 8;
option ipxe.nbi       code 32 = unsigned integer 8;
option ipxe.pxe       code 33 = unsigned integer 8;
option ipxe.elf       code 34 = unsigned integer 8;
option ipxe.comboot   code 35 = unsigned integer 8;
option ipxe.efi       code 36 = unsigned integer 8;
option ipxe.fcoe      code 37 = unsigned integer 8;
option ipxe.vlan      code 38 = unsigned integer 8;
option ipxe.menu      code 39 = unsigned integer 8;
option ipxe.sdi       code 40 = unsigned integer 8;
option ipxe.nfs       code 41 = unsigned integer 8;

# Other useful general options
# http://www.ietf.org/assignments/dhcpv6-parameters/dhcpv6-parameters.txt
option arch code 93 = unsigned integer 16;

Después de todo eso, ¡debería ser así! Espero que eso ayude.

usando dnsmasq

Esta sección fue escrita por Benjamin Reich.

Esta parte es necesaria si usa set service dhcp-server use-dnsmasq enable.

Conéctese a través de SSH y reemplace SERVERIP con la IP real.

configure
establezca el servicio dhcp-server use-dnsmasq enable
establezca las opciones de reenvío de dns del servicio "dhcp-match=set:bios,60,PXEClient:Arch:00000"
establezca las opciones de reenvío de dns del servicio "dhcp-boot=tag:bios,netboot .xyz.kpxe,,SERVERIP"
configurar las opciones de reenvío de dns del servicio "dhcp-match=set:efi32,60,PXEClient:Arch:00002"
configurar las opciones de reenvío de dns del servicio "dhcp-boot=tag:efi32,netboot.xyz. efi,,SERVERIP"
configurar las opciones de reenvío de dns del servicio "dhcp-match=set:efi32-1,60,PXEClient:Arch:00006"
configurar las opciones de reenvío de dns del servicio "dhcp-boot=tag:efi32-1,netboot.xyz .efi,,SERVERIP"
configurar las opciones de reenvío de dns del servicio "dhcp-match=set:efi64,60,PXEClient:Arch:00007"
configurar las opciones de reenvío de dns del servicio "dhcp-boot=tag:efi64,netboot.xyz.efi, ,SERVERIP"
establecer las opciones de reenvío de DNS del servicio "dhcp-match=set:efi64-1,60,PXEClient:Arch:00008"
establecer las opciones de reenvío de DNS del servicio "dhcp-boot=tag:efi64-1,netboot.xyz.efi ,,SERVERIP"
configurar las opciones de reenvío de DNS del servicio "dhcp-match=set:efi64-2,60,PXEClient:Arch:00009"
se t servicio dns opciones de reenvío "dhcp-boot=tag:efi64-2,netboot.xyz.efi,,SERVERIP"
commit; ahorrar