Durante el arranque, OpenBSD detecta la gran mayoría de
dispositivos conectados a un computador. Una vez en operación
puede examinar la detección con dmesg
.
Si durante el arranque algún dispositivo no es detectado
o es detectado incorrectamente, puede intentar hacer modificaciones
durante el arranque iniciando con bsd -c
cuando
esté en el prompt de arranque del programa boot
(ver usuario_OpenBSD).
Para conectar una terminal a un sistema OpenBSD puede emplearse un módem nulo. La terminal puede ser un computador con OpenBSD o con cualquier otro sistema operativo y un programa que permita ver la información que llegue a un puerto serial y enviar la que se teclee (por ejemplo sirven varios programas para comunicarse vía módem).
Un módem nulo es un cable serial que tiene en sus extremos dos conectores hembra para puerto serial y que intercambia algunas conexiones. Si ambos conectores son de 25 pines, todos los cables deben estar sueltos excepto:
-
(DSR) 6 & (DCD) 8 -- 20,
-
(TxD) 2 -- 3,
-
(RxD) 3 -- 2,
-
(RTS) 4 -- 5,
-
(CTS) 5 -- 4,
-
(SG) 7 -- 7,
-
(DTR) 20 -- 6 & 8.
En un conector de 9 pines la nomenclatura es: 1 DCD, 2 TxD, 3 RxD, 4 DTR, 5 SG, 6 DSR, 7 RTS y 8 CTS.
Un módem nulo mínimo sólo requiere que se conecten SG - SG (tierra), TxD
- RxD (transmisión de uno con recepción del otro) y RxD - TxD. Sin embargo para poder efectuar control de flujo también deben conectarse los demás.
Aunque en el comercio es posible comprar un módem nulo, también es relativamente fácil ensamblar uno, una vez tenga conectores, cable y cautín. Si hace su propio módem nulo puede probar que la conexión haya quedado bien empleando un óhmetro.
Una vez se conecte un módem nulo puede probarlo enviando mensajes por el
puerto serial del uno y viendo lo que recibe en el otro. Por ejemplo si
conecta dos sistemas OpenBSD empleando en ambos el primer puerto serial,
en uno de los dos puede ejecutar (como usuario root
)
cat < /dev/cua00
mientras que en el otro ejecute
cat > /dev/cua00
cuando escriba en el segundo y presione ENTER, en el primero recibirá el
mensaje y líneas en blanco (cat
no es el programa apropiado para
establecer la comunicación, sólo para probar).
Con un módem nulo conectado y funcionado puede configurarse un sistema
OpenBSD como servidor para que permita conectar terminales a un puerto
serial. Debe configurarse el programa init
para que durante el
arranque ejecute un programa que reciba conexiones por el puerto serial
(tal programa normalmente es getty
).
Basta editar el archivo /etc/ttys
, quitar el comentario a la línea
apropiada para que quede:
tty00 "/usr/libexec/getty std.9600" vt220 on secure
Después puede reiniciar el sistema o reiniciar init
con:
kill -HUP 1
.
En la línea modificada a /etc/ttys
, tty00
se refiere a /dev/tty00
(i.e el dispositivo del primer puerto serial);
/usr/libexec/getty std.9600
es la orden por ejecutar al arranque
para manejar ese dispositivo1; vt220
indica el tipo de terminal que
se conectará; on
y secure
son banderas2 para init
, el primero
indica que se esperan conexiones por esa línea tty y el segundo indica
que puede iniciar conexiones el usuario root.
Una vez conectado su módem nulo a un servidor OpenBSD ya configurado para recibir conexiones por el puerto serial, puede conectar una terminal.
Si la terminal cuenta con un sistema operativo, puede emplear un programa de comunicaciones. Con este debe poder ver los mensajes de login del servidor. Desde ahí puede entrar como un usuario de ese sistema y trabajar como en una de las consolas virtuales (sin ambiente X).
Si el computador que va a conectar es un sistema OpenBSD puede emplear
el programa tip
como usuario root:
tip tty0
Es posible que tenga que intentar varias veces, si configura el servidor
con una velocidad diferente puede especificarla por ejemplo con
tip -38400 tty0
tip
empleará la descripción de tty0
disponible en /etc/remote
(que
por defecto está configurado para representar el primer puerto serial).
Le permitirá ver la información que el servidor envíe, enviar
información al servidor y hacer algunas operaciones especiales
comenzando con el caracter '~'. Por ejemplo terminar la sesión con
'~.', enviar un archivo con '~p' o recibir un archivo con '~g'.
Dado que puede haber inconvenientes enviando o recibiendo archivos de 8
bits, los archivos (especialmente binarios) que envíe o reciba con tip
debe codificarlos antes con uuencode
y decodificarlos después de
transmitidos con uudecode
. Para codificar un archivo prog.tgz
y
dejarlo codificado en prog.tgz.uue
:
uuencode prog.tgz < prog.tgz > prog.tgz.uue
posteriormente para decodificarlo:
uudecode prog.tgz.uue
El inconveniente del método descrito es que tip
no verifica la
información transmitida. Una alternativa es emplear un protocolo como
Zmodem. Para eso instale tanto en cliente como en servidor el paquete
zmtx-zmrx
(o lrzsz
). Cuando desee transmitir un archivo del servidor
al cliente, inicie la transmisión en el servidor:
zmtx Mattich2.pdf
y en el cliente desde tip
use ~C zmrx
. Para enviar un archivo del
cliente al servidor ejecute en el servidor: zmrx
y después desde tip
use: ~C zmtx miarchivo.txt
Una vez esté conectado un cliente con un servidor OpenBSD, es posible emplear el protocolo PPP3 para permitirle al computador cliente acceder a Internet o a la red a la que esté conectado el servidor.
Una forma posible para lograr conectividad a Internet en una Intranet es asignando una dirección estática de la red al cliente y empleando el servidor para que actúe como proxy a nivel ARP.
En el servidor asegúrese de tener en el archivo /etc/ppp/ppp.conf
:
default:
set log Phase Chat LCP IPCP CCP tun command
set device /dev/cua00
set speed 115200
set ctsrts on
set dial ""
modemnulo:
set timeout 0
set lqrperiod 10
enable proxy
enable lqr
accept lqr
allow users SuLogin
Remplazando SuLogin
, SuClave
y las direcciones de red por las
apropiadas. Por su parte el archivo /etc/ppp/ppp.conf
del cliente debe
contener:
default:
set log Phase Chat LCP IPCP CCP tun command
set device /dev/cua00
set speed 115200
set ctsrts on
set dial ""
modemnulo:
set dial ""
set authkey SuClave
set login "TIMEOUT 3 ogin:-\\r-login: SuLogin word: \\P $ ppp\\s\\-direct\\smodemnulo\\r"
set lqrperiod 10
set timeout 0
set ifaddr 192.168.16.20 192.168.16.131
add default HISADDR
enable lqr
accept lqr
enable dns
Después pude iniciar la comunicación desde el cliente con:
ppp -ddial modemnulo
Puede consultar más sobre la conexión física de un módem nulo en CablesModemNulo. Puede consultar sobre comunicaciones seriales en FreeBSD (similar a OpenBSD) en el capítulo "Serial Communications" de FreeBSDHandbook Para emplear un sistema OpenBSD mínimo como consola de algunos eventos de un servidor OpenBSD puede consultar SerialOpenBSD. La configuración del servidor OpenBSD que le permite atender conexiones por el puerto serial puede verse en las siguientes páginas man: init 8, ttys 5 y getty 8. La configuración de un cliente OpenBSD para funcionar como consola puede consultarse en: tip 1 y remote 5. Para conocer más sobre PPP puede consultarse el RFC 1661, la implementación particular de el protocolo de usuario en OpenBSD en la página del manual. El archivo de configuración por defecto también cuenta con comentarios que ayudan.
Es posible conectar un sistema OpenBSD a Internet empleando un módem o
un módem ISDN. Para esto el módem que se emplea debe estar soportado y
debe configurarse ppp
para realizar la conexión.
Hay diversos tipos de módems (tarjetas ISA, PCI, módems externos USB o
seriales), los módems externos que se conectan a puerto serial son los
más fáciles de configurar, algunos módems USB también son soportados
(los que tengan órdenes multiplexadas y datos --como indica la página
del manual del controlador umodem
) y eventualmente es posible hacer
funcionar tarjetas ISDN ISA o PCI
(http://people.freebsd.org/~hm/i4b-home/).
Los módems y los módems ISDN reciben órdenes AT y se configuran
empleando ppp
. Por ejemplo el archivo /etc/ppp/ppp.conf
podría
incluir porciones como las siguientes (remplazando el número de
teléfono, el nombre de la cuenta y la clave por los correctos):
default:
set log Phase Chat LCP IPCP CCP tun command
set device /dev/cua01
set speed 115200
set dial "ABORT BUSY ABORT NO\\sCARRIER TIMEOUT 5 \"\" AT \
OK-AT-OK ATE1Q0 OK \\dATDT\\T TIMEOUT 40 CONNECT"
PAP:
set phone 019478909891
set authname [email protected]
set authkey laclaveusada
set timeout 120
add default HISADDR
enable dns
Para conectarse ejecute /usr/sbin/ppp -ddial PAP
desde una cuenta que
pertenezca al grupo network
. Cuando se establezca la conexión quedará
asociada una dirección IP a una interfaz tun
(e.g a tun0
). Puede
también emplear el siguiente script para realizar la conexión:
#!/bin/sh
# Usa configuración de /etc/ppp/ppp.conf regla PAP
netw=`groups | sed -e "s/.*network.*/1/g"`;
if (test "$netw" != "1") then {
echo "Para usar PPP debe ser del grupo network";
exit 1;
} fi;
IP=`/sbin/ifconfig tun0 | tail -n 1 | sed -e "s/.*inet \([.0-9]*\) .*/\1/g"`;
esta=`echo $IP | sed -e "s/^[0-9][.0-9]*$/SI/g"`
if (test "$esta" = "SI") then {
echo "Ya está conectado, IP es $IP";
exit 0;
} fi;
/usr/sbin/ppp -ddial PAP
while (test "$esta" != "SI") ; do
sleep 1;
IP=`/sbin/ifconfig tun0 | tail -n 1 | sed -e "s/.*inet \([.0-9]*\) .*/\1/g"`;
esta=`echo $IP | sed -e "s/^[0-9][.0-9]*$/SI/g"`
done
echo "Conectado. La IP es $IP";
Y el siguiente que facilita la desconexión:
pid=`ps ax | grep "[p]pp" | sed -e "s/^[ ]*\([0-9]*\) .*$/\1/g"`;
espid=`echo $pid | sed -e "s/^[0-9][0-9]*$/SI/g"`;
if (test "$espid" != "SI") then {
echo "No está conectado";
exit 1;
} fi;
kill -HUP $pid
echo "Desconectado";
En Colombia los proveedores de acceso a Internet en planes de Banda Ancha típicamente emplean dispositivos y configuraciones que permiten conectar un computador como si fuera un equipo más en una red Ethernet. En tal caso basta conocer la IP que tendrá el computador (o si se usará dhcp), la mascara de red y la dirección de la puerta de enlace, y configurar como se explica en la sección de redes LAN Ethernet (ver xref.
Puede ocurrir que su proveedor emplee un módem que requiera el protocolo
pppoe
(e.g con un Módem Marconi). En tal caso el proveedor puede
brindar dos opciones para la configuración del módem:
-
Enrutador (router): Se conecta a un HUB o a un computador y hace NAT para todos los computadores cliente conectados. En la LAN basta configurar la IP de cada equipo para que estén en la misma subred del enrutador y que cada uno emplee como compuerta/pasarela al módem.
-
Puente (bridge): En esta configuración se requiere un servidor que haga NAT y enrute.
Si el módem ADSL se conecta con un cable Ethernet y el proveedor ofrece
ppp, no debe configurarse la tarjeta de red, sino una interfaz nueva
tun0 Por esto en el archivo de configuración de la tarjeta digamos
/etc/hostname.rl0
(reemplazar rl0
con interfaz en su caso, examinar
posibles interfaces con ifconfig
) deje:
up
Edite /etc/ppp/ppp.conf
(si no existe cópielo de
/etc/ppp/ppp.conf.smaple
), para que quede una sección como la
siguiente:
pppoe:
set log Phase Chat LCP IPCP CCP tun command
set redial 15 0
set reconnect 15 10000
set device "!/usr/sbin/pppoe -i rl0"
set mtu max 1492
set mru max 1492
set speed sync
disable acfcomp protocomp
deny acfcomp
enable lqr
set lqrperiod 5
set cd 5
set dial
set login
set timeout 0
set authname "usuario"
set authkey "miclave"
add! default HISADDR
enable mssfixup
Cambiando la interfaz de red, el usuario y la clave. Podrá probar la conexión con:
ppp -ddial -nat pppoe
Si desea que en cada arranque se conecte automáticamente, tal como se
explica en
http://www.aei.ca/~pmatulis/pub/obsd_pppoe.html
agregue a /etc/rc.local
:
IPADSL=$(netstat -rn | grep tun0 | grep ^[0-9] | awk '{print$2}')
if [ -z "$IPADSL" ]; then
echo -n "Estableciendo conexion PPPoE DSL"; ppp -ddial pppoe
for i in 10 9 8 7 6 5 4 3 2 1 0; do
sleep 5
echo -n "$i"
IPADSL=$(netstat -rn | grep tun0 | grep ^[0-9] | awk '{print$2}')
if [ -z "$IPADSL" ]; then
break
fi
done
fi
Página del manual pppoe
.
http://www.aei.ca/\~pmatulis/pub/obsd\_pppoe.html
La red local (LAN) Ethernet más simple puede conformarse con 2 computadores cada uno con tarjeta ethernet interconectados por un cable UTP cruzado. Sin embargo típicamente una red ethernet consta de varios computadores con tarjetas Ethernet interconectados por uno o más4 concentradores (también llamado hub o switch) y cables UTP directos de cada computador a algún concentrador. La velocidad de la red depende de la velocidad de las tarjetas de red, la velocidad de los concentradores y la categoría de los cables. Esta velocidad se mide en Megabits (millones de bits por segundo), y sus valores típicos son 10Mb, 100Mb, 1000Mb o 1Gb y recientemente 10Gb.
La inmensa mayoría de tarjetas Ethernet de 10MB, 100MB y 1000MB, así como algunas de 10G son soportadas por OpenBSD, la lista completa la puede consultar en: http://www.openbsd.org/amd64.html. Por su parte las tarjetas populares que hemos identificado como no soportadas son: Encore ENL832-TX-RENT, Encore ENL832-TX-EN.
En cada computador, cada dispositivo de interconexión se asocia a una
interfaz de red cuando es detectado en el momento del arranque (o por
demanda como en el caso de tun0
). Estas interfaces se administran con
ifconfig
, por ejemplo para listarlas todas utilice:
ifconfig -a
A continuación se presenta un ejemplo de la salida de esta orden:
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 33160
priority: 0
groups: lo
inet 127.0.0.1 netmask 0xff000000
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x6
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:14:d1:1a:cf:b2
priority: 0
groups: egress
media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
status: active
inet 189.148.51.41 netmask 0xffffff00 broadcast 189.148.51.255
inet6 fe80::214:d1ff:fe1a:cfb2%re0 prefixlen 64 scopeid 0x1
re1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:14:d1:1a:ce:93
priority: 0
media: Ethernet autoselect (1000baseT full-duplex)
status: active
inet 192.168.2.1 netmask 0xffffff00 broadcast 192.168.2.255
inet6 fe80::214:d1ff:fe1a:ce93%re1 prefixlen 64 scopeid 0x2
re2: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:14:d1:1a:cf:af
priority: 0
media: Ethernet autoselect (10baseT half-duplex)
status: no carrier
vr0: flags=8843LGUP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:19:db:82:8f:93
priority: 0
media: Ethernet autoselect (100baseTX full-duplex)
status: active
inet 192.168.1.1 netmask 0xffffff00 broadcast 192.168.1.255
inet6 fe80::219:dbff:fe82:8f93%vr0 prefixlen 64 scopeid 0x4
enc0: flags=0LG> mtu 1536
priority: 0
pflog0: flags=141LGUP,RUNNING,PROMISC> mtu 33160
priority: 0
groups: pflog
Es como una tabla con 2 columnas, en la de la izquierda se lista el
nombre de la interfaz de red (en este ejemplo lo0
, re0
, re1
,
re2
, vr0
, enc0
, pflog0
), y a la derecha las características de
cada interfaz, por ejemplo las características de la interfaz re0
son:
flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
lladdr 52:74:f2:b1:a8:7f
priority: 0
groups: egress
media: Ethernet autoselect (100baseTX full-duplex,rxpause,txpause)
status: active
inet 189.148.51.41 netmask 0xffffff00 broadcast 189.148.51.255
inet6 fe80::5074:f2ff:feb1:a87f%re0 prefixlen 64 scopeid 0x1
Algunas de las interfaces corresponden a tarjetas de red (en este
ejemplo re0
, re1
, re2
y vr0
) mientras que otras son virtuales,
como lo0
que representa el mismo computador, enc0
que sirve para
cifrados con IPSec y pflog0
que permite examinar en tiempo real
actividad del cortafuegos pf
.
Con respecto a las propiedades de cada interfaz física, resaltamos
status
: Puede ser active
para indicar que hay cable conectado a la tarjeta
en un extremo y el otro extremo está conectado a algún concentrador
(o a otro computador si es cruzado). Note que en el ejemplo la
interfaz re2
no está conectada.
lladdr
: Con la dirección MAC de la tarjeta de red (un número único para cada tarjeta fabricada).
inet
: Propiedades IPv4, por ejemplo:
inet 189.148.51.41 netmask 0xffffff00 broadcast 189.148.51.255
Indica que la IP es 189.148.51.41, con mascara de red 255.255.255.0
(en hexadecimal 255 es `ff`), y dirección para envíos masivos
(broadcast) 189.148.51.255.
inet6
: Propiedades IPv6, por ejemplo:
inet6 fe80::5074:f2ff:feb1:a87f%re0 prefixlen 64 scopeid 0x1
Indica que la dirección IPv6 es `fe80::214:d1ff:fe1a:cfb2%re0`.
En este caso se trata de una dirección de enlace local (porque
comienza con `fe80`) que se asigna automáticamente a la inetrfaz
de red cuando se configura IPv6 a partir de la dirección MAC.
Como se indica en https://ben.akrin.com/?p=1347 el proceso para
asignarla es:
1. Tome la dirección mac. Por ejemplo 52:74:f2:b1:a8:7f
2. Ponga un ff:fe en la mitad: 52:74:f2:ff:fe:b1:a8:7f
3. Reformatee en notación IPv6 5274:f2ff:feb1:a87f
4. Convierta e primero octeto de hexadecimal a binario: 52 -> 01010010
5. Invierta el bit en el índice 7: 01010010 -> 01010000
6. Convierta el octeto de vuelta a hexadecimal: 01010000 -> 50
7. Remplace el primer octeto con el que calculó: 5074:f2ff:feb1:a87f
8. Ponga antes fe80:: que es el prefijo de enlace local: fe80::5074:f2ff:feb1:a87f
9. !Listo!
media
: Que indica tipo de medio físico que está conectado o configurado en
esa interfaz. En el ejemplo presentado las interfaces re0
y vr0
están operando a 100Mb (Megabit), mientras que la interfaz re1
está operando a 1Gb (Gigabit).
flags
: Que indica banderas que tiene activa la interfaz y la MTU (Unidad de
transferencia máxima). Note que lo0
es la única que tiene la
bandera LOOPBACK
la cual indica que esa interfaz es virtual y se
refiere al mismo computador.
Los dispositivos reconocidos en el momento del arranque que se asocian a interfaces de red, así como los que no logran configurarse, pueden verse con:
dmesg | less
Un ejemplo típico de una tarjeta Ethernet reconocida es:
re0 at pci0 dev 8 function 0 "Realtek 8169" rev 0x10: RTL8169/8110SB (0x1000), apic 2 int 16 (irq 10), address 52:74:f2:b1:a8:7f
Note que se lista el nombre de la interfaz (i.e re0
), los recursos de
hardware que emplea y la dirección MAC (i.e 52:74:f2:b1:a8:7f
).
OpenBSD incluye documentación completa para cada tipo de dispositivo detectable (por ejemplo opciones); para el caso del controlador del ejemplo anterior puede verse con:
man re
Debe configurar cada interfaz de red en un archivo con un nombre de la
forma /etc/hostname.interfaz
. Por ejemplo para el caso de la tarjeta
con controlador re
e interfaz asignada por el kernel en el arranque
re0
, seria /etc/hostname.re0
.
Como se explica en man hostname.if
en el caso de una red IPv4 con DHCP
basta que ese archivo tenga la línea:
inet autoconf
Y para una red con IPv6
inet6 autoconf
Si el direccionamiento en la red local es estático, tal archivo debe tener en una línea separados por un espacio los siguientes datos (en este orden):
-
Familia de direcciones. Tìpicamente
inet
-
IP (e.g
189.148.51.41
) -
Mascara de red (e.g
255.255.255.0
) -
Dirección de broadcast o la palabra
NONE
-
Eventualmente opciones
La línea completa sería:
inet 189.148.51.41 255.255.255.0 NONE
O en el caso de doble pila la dirección IPv4 seguida de la IPv6:
inet 189.148.51.41 255.255.255.0 NONE
inet6 3900:e9:8321::2
Un archivo como estos lo puede crear y/o editar con cualquier editor de
texto (por ejemplo mg
o vim
). Si tiene sesión de X-Window puede
emplear desde una terminal
doas touch /etc/hostname.re0; doas xfw /etc/hostname.re0
Estas ediciones también las puede hacer en adJ con botón derecho sobre el escritorio Dispositivos->Red->Configurar Interfaces, que le permitirá editar cada uno de los archivos de cada interfaz de red detectada por ifconfig (excepto lo0, enc0, pflog0, tun).
Advertencia
Es importante que la línea del archivo
/etc/hostname.re0
que configura sus propiedades IPv4 y/o IPv6, termine con el caracter fin de línea, es decir que en el editor con el que la edite termine la línea con la tecla RETORNO.
Y la IP de la compuerta de su red (ver xref) se configura en
/etc/mygate
que también debe editar con su editor preferido y que
también debe terminar con fin de línea. Un ejemplo típico del contenido
sería una línea con:
189.148.51.1
O en el caso de doble pila las compuertas IPv4 e IPv6
189.148.51.1
inet 3900:e9:8321::2
Con adJ puede hacer botón derecho sobre el escritorio Dispositivos->Red->Configurar Puerta de Enlace.
Después de hacer cambios a la configuración de red es posible que pueda reiniciar el sistema de redes con:
doas sh /etc/netstart
aunque en algunos casos es necesario reiniciar el computador.
Note que si ha cambiado una tarjeta de red es posible que antes de
reiniciar debe reconfigurar el cortafuegos en el archivo /etc/pf.conf
La tabla del protocolo ARP asocia direcciones físicas de tarjetas de red conectadas a su red con direcciones IPv4. Para examinar tal tabla use:
arp -a
Es posible agregar entradas de manera permanente o eliminarlas con las
opciones -s
y -d
respectivamente.
La tabla análoga para IPv6 puede listarse con el protocolo de descubrimiento de red (Network Discovery Protocolo - NDP):
ndp -a
Necesitará un concentrador preferiblemente de 1Gb con suficientes puertos para todos los computadores que tenga o varios interconectados en cascada, cable UTP categoría 5e o 6 con conectores RJ-45 y en cada computador deberá tener una tarjeta Ethernet (preferiblemente de 1GB) con un puerto para un conector RJ-45 (ver Configuración de una interfaz de red).
El espacio físico en el que esté la red será la primera restricción que debe tener en cuenta. Haga un plano de ese espacio con las distancias a escala, ubique los computadores y diseñe el recorrido de los cables al concentrador. Hay varias recomendaciones que puede tener en cuenta al diseñar el mapa:
-
Es aconsejable por estética y seguridad que los cables vayan por canaletas.
-
La longitud máxima de cada cable (para unir concentrador y computador) es de 100 m.
-
Busque que los cables/canaletas vayan por las paredes del recinto y estén resguardadas (para evitar que alguien se tropiece).
En el mapa que haga también puede consignar las direcciones IP que
planee usar en cada computador. Emplee direcciones estáticas asignadas para
redes privadas, por ejemplo 192.168.1.1 al servidor y los clientes
192.168.1.2, 192.168.1.3 y así sucesivamente. Cómo compuerta emplee en
todos los clientes la dirección del servidor y como máscara de red
emplee 255.255.255.0
(ver xref ). Así como toda dirección
IPv4 que comience con 192.168 es privada para redes locales de máximo
65535 computadores, también son privadas las direcciones entre
172.16.0.0-172.31.255.255 y en el rango 10.0.0.0 - 10.255.255.255.
Para un caso sencillo como el que aquí presentamos, donde hay un sólo
switch también pueden emplearse direcciones de enlace local
(link local address) en el rango 169.254.0.0 - 169.254.255.255.
Si planea implementar doble pila con IPv6 inicialmente asignando direcciones locales únicas (*Unique Local Addresses - ULA *), que comienzan con `fc00`` seguidas de un prefijo aleatorio escogido por usted de 48 bits, después 16 bits para identificar subredes (digamos 00:01) y los 64 bits finales usados para identificar cada interfaz de red (puede emplear por ejemplo la dirección MAC de cada computador). Pueden verse detalles en el RFC 4193 o incluso para evitar duplicaciones hay una base pública en https://www.sixxs.net/tools/grh/ula/. Asi por ejemplo si su prefijo de 48 bits aleatorio es fd4d:da20:9e54, puede comenzar con fc00:fd4d:da20:9e54:0001::1 en el primer computador, fc00:fd4d:da20:9e54:0001::2 en el segundo y así sucesivamente.
Para hacer la adquisición de Hardware tenga en cuenta:
-
Los nombres de los componentes pueden variar de un almacén a otro, algunos sinónimos son:
-
tarjeta ethernet, tarjeta con conectores RJ45
-
concentrador o hub o switch repetidor, su velocidad junto con la velocidad de las interfaces de red establecerá el limite de velociad de la red interna.
-
cable de pares trenzados, par trenzado, twisted pair, cable Ethernet, UTP (Unshielded Twisted Pair). La categoría 5 será útil en redes de hasta 100MB, las categorías 5e y 6 para redes hasta de 1G, las categorías 6A y 7 para redes hasta de 10G.
-
-
Use el plano de red para determinar la longitud de cada cable, recuerde que todo computador debe tener un cable que lo una con el concentrador (compre un poco más de la longitud que midió pues al intentar ensamblar los conectores podría perder algo de cable en cada intento).
-
El concentrador debe tener suficientes puertos para todos los computadores (pueden ponerse varios concentradores en cascada).
-
Cada computador debe tener una tarjeta de red Ethernet preferiblemente 1Gb que pueda usar desde OpenBSD (ver Configuración de una interfaz de red) ---recordar que las más incompatibles son las populares Encore.
-
Cada cable debe tener dos conectores RJ-45. Uno para conectarlo al computador y el otro para conectarlo al concentrador. (Compre varios conectores RJ-45 adicionales pues al intentar ensamblar podría perder algunos).
Una vez tenga instaladas las tarjetas de red debe conectar los cables a tales tarjetas y al concentrador. Como eventualmente usted mismo hará los cables, en esta sección damos instrucciones para que le resulte fácil el proceso. Requerirá unas pinzas especiales 5 para conectores RJ-45 y un probador (tester) para comprobar que fluye corriente en los cables que haga.
Ubique en el espacio para la red los computadores y los cables (verifique que las medidas de su plano hayan sido correctas).
Ponga en cada extremo de cada uno de los cables un conector RJ-45 empleando unas pinzas especiales. Como el cable UTP se compone de 8 cablecitos de colores tenga en cuenta:
Deje entre 8mm y 12 mm de los 8 cables al descubierto. 6
Al preparar los cables tenga en cuenta que las tarjetas de 100MB y 1000MB requieren un orden especial de los cables que conforman un UTP 5, UTP 5e o UTP 6, si no aplica este orden, con algunos cables de varios metros puede tener problemas de comunicación (ni siquiera podrá resolver ARP). En redes de 10MB y 100MB puede usar cualquier de estos tipos de cables, pero para redes de 1000MB debe usar UTP 5e o UTP 6. Hay dos secuencias estandarizadas para los cables que conforman un UTP 5/5e/6, de las cuales la más común es la TIA/EIA-568-B:
-
Para cables directos (que unen por ejemplo un computador a un concentrador), los dos extremos del cable se ponen en el conector RJ-45 siguiendo la misma secuencia: 1 - blanco/naranja, 2 - naranja, 3 - blanco/verde, 4 - azul, 5 - blanco/azul, 6 - verde, 7 - blanco/cafe, 8 - cafe
-
Para un cable cruzado (que permite unir dos computadores o en algunos casos 2 concentradores): Lado 1: 1 - blanco/naranja, 2 - naranja, 3 - blanco/verde, 4 - azul, 5 - blanco/azul, 6 - verde, 7 - blanco/cafe, 8 - cafe. Lado 2: 1 - blanco/verde, 2 - verde , 3 - blanco/naranja, 4 - blanco/cafe, 5 - cafe, 6 - naranja, 7 - azul, 8 - blanco/azul.
Empareje los 8 cablecitos antes de intentar ponerlos en el conector RJ-45. Póngalos en el orden antes indicado para cables directos.
El conector RJ45 tiene varios canales, por cada uno de esos canales debe pasar un cablecito de color. Empuje bien los cablecitos hasta el fondo del conector RJ-45 y con las pinzas especiales baje los contactos del conector y asegure el cable.
Después de ensamblar el primer extremo verifique con un probador que todos los cablecitos hagan contacto. Después ensamble el segundo extremo empleando la misma secuencia de colores y después verifique que estén haciendo buen contacto con un probador.
Una vez tenga los cables verifique que la tarjeta de red de cada computador esté bien instalada (algunas tienen luces 7 que se encienden cuando transmite o recibe información por el cable), y conecte con cables todas las tarjetas al concentrador.
Verifique también que cada tarjeta de red sea reconocida por el kernel y asigne la IP que planeó para cada una (ver Configuración de una interfaz de red).
Finalmente verifique la instalación transmitiendo paquetes de un
computador a otro. Por ejemplo desde el servidor (tal vez con IP
192.168.1.1) intente conectarse a un cliente (tal vez IP 192.168.1.2)
con ping
:
ping 192.168.1.2
y viceversa.
En caso de implementar doble pila (o un red puramente sobre IPv6) verifique con las direcciones estáticas que asignó, por ejemplo
ping6 fc00:fd4d:da20:9e54:0001::2
En el caso de IPv6 en redes locales con un sólo switch es aún más simple emplear direcciones de enlace local que son asignadas automáticamente en cada interfaz de red empleando el prefijo fe80 y un posfijo asignado automáticamente a partir de la direción MAC finalizado con el signo porciento y una identifcación de la subred que en el caso de OpenBSD es la interfaz de red. Así por ejemplo cuando inicie inet6 en una interfaz de red ix0 con
doas ifconfig ix0 inet6 up
O si en el archivo de configuración de la interfa (digamos /etc/hostname.ix0
)
pone
inet6 up
Al revisar la interfaz con ifconfig ix0
verá la dirección de enlace local
auto-asignada, algo como fe80::a236:9fff:fe83:b686%ix0
y desde otro
computador conectado al mismo switch donde también active IPv6 en la
interfaz de red podrá verificar conexión con:
ping6 fe80::a236:9fff:fe83:b686%ix0
-
FAQ de OpenBSD Sección 6.
-
Páginas
man
dearp
,route
,ifconfig
,hostname.if
-
Sobre cables Ethernet puede consultarse en ethernet_cables
Las redes inalámbrica emplean ondas electromagnéticas transmitidas por aire, por lo que no se requieren cables, aunque el rango de alcance es limitado por el tipo de antenas que se empleen y los obstáculos (sin antenas especiales piense en menos de 50 metros con línea de vista y menos cuando hay paredes y otros obstáculos).
Para redes locales los protocolos más utilizados son IEEE 802.11a, 802.11b y 802.11g, que emplean rangos del espectro electromagnético (como 2.4GHz) los cuales pueden usarse sin requerir permiso en Colombia y dan tasas de transferencia entre 11Mbps y 54Mbps.
Una red local inalámbrica requiere un Punto de Acceso Inalámbrico (en
inglés Access Point) que atienda peticiones y dé respuestas a todos los
computadores cliente que se conecten. Tal Punto de Acceso Inalámbrico
puede ser un dispositivo dedicado o bien un computador con OpenBSD que
cuente con una tarjeta de inalámbrica que soporte el modo hostap
.
Hay una amplia gama de tarjetas de red inalámbricas (tanto PCI, como USB) con controladores para OpenBSD, sin embargo varias tarjetas de red populares no son soportadas, por lo que antes de comprar examine el listado de tarjetas soportadas en: https://dhobsd.pasosdejesus.org/compatibilidadhardware.html. Una vez conecte su tarjeta de red inalámbrica, busque la interfaz de red asociada con
ifconfig
o algunos detalles de lo que se ve del hardware con
dmess | less
Por ejemplo una Intel PRO/Wireless se ve así:
wpi0 at pci3 dev 0 function 0 "Intel PRO/Wireless 3945ABG" rev 0x02: irq 10, MoW1, address 00:1b:77:d6:52:ee
y una D-Link USB típica se ve:
rum0 at uhub0 port 5 "Ralink 802.11 bg WLAN" rev 2.00/0.01 addr 2
rum0: MAC/BBP RT2573 (rev 0x2573a), RF RT2528, address 00:1e:58:b0:db:68
En algunos casos OpenBSD incluye el controlador completo de fuentes
abiertas para a la tarjeta (por ejemplo rum0
) pero en otros es
necesario descargar firmware adicional (por ejemplo wpi0
). Vea la
página del controlador para encontrar detalles, por ejemplo en el caso
de wpi0
al examinar man wpi
se ve que esta tarjeta requiere firmware
adicional que debe instalarse conectando el computador a Internet
con una tarjeta soporte y ejecuntado:
doas fw_update
Después de tener controlador completo puede buscar redes inalámbricas cercanas con
doas ifconfig rum0 scan
remplazando rum0
por la interfaz de su tarjeta. Verá un listado de
redes próximas con identificación, calidad de la señal, velocidad y tipo
de cifrado.
Para conectarse a una red basta configurar la tarjeta con la identificación, tipo de cifrado y clave apropiadas y posteriormente asignar una IP en la red inalámbrica, bien manualmente o bien por DHCP si el Access Point lo soporta (como ocurre típicamente). Para configurar a una red de nombre MIRED que no emplea cifrado:
doas ifconfig rum0 nwid MIRED
Si la red emplea cifrad WEP (un mecanismo de cifrado débil), puede especificar la llave de cifrado en hexadecimal:
doas ifconfig rum0 nwid MIRED nwkey 0x123498a2d2
o en ASCII:
doas ifconfig rum0 nwid MIRED nwkey "clave"
Si la red emplea cifrado WAP (un mecanismo de cifrado más fuerte):
doas ifconfig rum0 nwid MIRED wpakey MICLAVE
Después puede examinar nuevamente con ifconfig
si ya se ve estado
Activo en la interfaz de red lo cual le confirma que logró conexión y
posteriormente puede establecer la IP bien manualmente si conoce el
segmente de red:
ifconfig rum0 192.168.1.15
o bien automáticamente si el Acess Point soporta DHCP con:
doas dhclient rum0
Tras esto al examinar con ifconfig
se ve algo como:
rum0: flags=8c43<UP,BROADCAST,RUNNING,OACTIVE,SIMPLEX,MULTICAST> mtu 1500
lladdr 00:1e:58:b0:db:68
priority: 4
groups: wlan egress
media: IEEE802.11 autoselect (OFDM36 mode 11g)
status: active
ieee80211: nwid MIRED chan 1 bssid 00:02:6f:5f:f8:6a 117dB nwkey <not displayed> 100dBm
inet 192.168.44.50 netmask 0xffffff00 broadcast 192.168.44.255
inet6 fe80::21e:58ff:feb0:db68%rum0 prefixlen 64 scopeid 0x6
Si requiere conectarse en cada arranque del computador configure en
hostname.rum0
(cambiando rum0 por su interfaz). Por ejemplo si tiene
una IP fija con:
inet 192.168.44.50 255.255.255.0 NONE nwid "MIRED" nwkey "clave"
o si requiere DHCP:
nwid "MIRED" nwkey "0x1112131415"
inet autoconf
o si es WPA con DHCP:
nwid "MIRED" wpakey "clave"
inet autoconf
El tráfico de red inalámbrico puede examinarse con el paquete kismet
,
el cual tiene un archivo de configuración (/etc/kismet.conf
) en el que
debe especificarse el controlador usado.
Si el Access Point soporta IPv6 puede conectar en modo IPv6 puro y emplear auto-configuración con:
nwid "MIRED" wpakey "clave"
inet6 autoconf
Estos dispositivo cuentan con una antena (típicamente pequeña) para la red inalámbrica y un conector para cable Ethernet que se conecta a la red cableada, la cual típicamente va a Internet.
Normalmente los dispositivos que obran como Punto de Acceso Inalámbrico (Access Point) cuentan con un servicio de configuración que opera sobre HTTP por lo que pueden conectarse a un computador y emplear un navegador web.
Para conectarlo a un computador basta que ponga un cable Ethernet sin
cruzar entre ambos y que ambos estén en el mismo segmento de red con IPs
diferentes. La IP inicial de su Punto de Acceso Inalámbrico seguramente
la podrá ver en el manual del usuario (típicamente es 192.168.0.1 o
192.1681.1.1 con máscara de red 255.255.255.0). Para determinar la IP de
un Punto de Accesos Inalámbrico también puede intentar conectándolo a un
computador y usando tcpdump
para examinar el tráfico que pasa por la
interfaz de red a la cual conecte el Punto de Acceso Inalámbrico.
Una vez determine la IP del Punto de Acceso Inalámbrico ponga el
computador con el que configurará en el mismo segmento de red. Por
ejemplo si el Access Point tiene IP 192.168.1.1 y lo conectó a la
interfaz rl0
, configure esa interfaz de red por ejemplo con:
ifconfig rl0 192.168.1.2
tras lo cual ya debe poder ejecutar:
ping 192.168.1.1
obtener respuesta del Punto de Acceso Inalámbrico y configurarlo
abriendo en un navegador el URL http://192.168.1.1
.
El Punto de Acceso Inalámbrico normalmente obrará como enrutador y hará NAT a una nueva red que será independiente de la red cableada a la cual lo conecte. Por ejemplo si lo conecta por cable Ethernet a una red con IPs 192.168.190/24, podrá enrutar y hacer NAT a otra red como la 192.168.1/24. Algunos Puntos de Acceso Inalámbricos (como el EnGenius EOC 1650) soportan un modo puente que permite distribuir con DHCP algunas direcciones de la misma red cableada. Esto tiene la ventaja de dejar tanto la red inalámbrica como la cableada en el mismo segmento de red.
Las particularidades de configuración de cada Punto de Acceso Inalámbrico varían de un modelo a otro, pero normalmente debe especificar:
-
IP, máscara de red, puerta de enlace y servidor DNS en la red cableada.
-
IP, máscara de red y rango de direcciones por repartir en la red inalámbrica.
Si cuenta con una tarjeta de red inalámbrica con controladores para
OpenBSD y que soporte el modo hostap
(como puede consultar en la
página del manual del controlador) es sencillo configurar un Punto de
Acceso Inalámbrico, continuando las instrucciones de la sección OpenBSD
como cliente en una red inalámbrica.
Supongamos que su tarjeta esta asociada a la interfaz ath0
, que desea
emplear el segmento 192.168.3/24, llamar a la red CASA con cifrado
WEP y clave "uvwxy". Basta que en /etc/hostname.ath0
configure:
inet 192.168.3.1 255.255.255.0 NONE media autoselect \
mediaopt hostap nwid CASA chan 11 nwkey "uvwxy"
Tras esto desde los portátiles y computadores cercanos debe poder ver la red CASA y conectarse con WEP y la clave uvwxy.
-
Páginas
man
deifconfig
,wpi
-
Ver wndw
Footnotes
-
Como parámetro getty recibe características de la línea que deben estar especificadas en
/etc/gettytab
. En este casostd.9600
especifica la velocidad de transmisión. Empleando un módem nulo con control de flujo es posible emplear velocidades mayores hastastd.115200
. ↩ -
banderas del inglés flags ↩
-
PPP es un protocolo especificado en el RFC 1661. ↩
-
Pueden ponerse concentradores en cascada. ↩
-
En Colombia a tal "pinza especial" se le conoce como "ponchadora". ↩
-
Pablo Chamorro nos indicó que "algunas pinzas tienen un tope, entonces al colocar las puntas de los cables junto al tope, el corte de la envoltura del cable siempre se realiza en el mismo punto para que ni sobre ni falte y así no hay que preocuparse por estimar el punto de corte." ↩
-
Luces es traducción de LED (Light emitting diode). ↩