Network setup en manual de referencia debian y el wiki
es bajo nivel (en debian lo mantiene el equipo del kernel) y sirve de base a todo o buena parte de lo que sigue; es el que incluye /usr/bin/ip
ifupdown, ifupdown2 (no usar), ifupdown-ng ... que implementan ifup / ifdown, que a su vez son los que utilizan /etc/network/interfaces. Tradicionalmente, se usaba /etd/init.d/networking para arrancar / parar interfaces, pero ahora se utiliza servicio systemd, como p.e. /lib/systemd/system/ifup@.service, que es parte del paquete ifupdown
systemd-networkd, como no podía faltar; man systemd-networkd Tiene en común con network manager que reacciona dynámicamente a eventos producidos en las interfaces. Tiene una contraparte a systemctl, networkctl, que permite interrogar y gestionar interactivamente. Se ocupa de interfaces para los que encuentre un fichero .network
... y netplan, que es una abstracción que puede utilizar systemd-networkd o network manager
/etc/hostname, sincronizado con /etc/hosts./etc/resolv.conf
LAN network ranges:
A 10.x.x.x 255.0.0.0 /8 1 subnet B 172.16.x.x — 172.31.x.x 255.255.0.0 /16 16 subnets C 192.168.0.x — 192.168.255.x 255.255.255.0 /24 256 subnets
En /usr/share/doc/ifupdown/examples/network-interfaces dice:
Multiple addresses can be added by simply using multiple iface stanzas.This also allows you to add both IPv4 and IPv6 addresses to the same interface:
# auto eth0 # iface eth0 inet static # address 192.168.0.42/24 # gateway 192.168.0.1 # iface eth0 inet static # address 172.16.0.1/24
... y he comprobado que esto funciona:
iface eno1 inet static address 192.168.1.15 gateway 192.168.1.1 iface eno1 inet dhcp
sudo ip link set {link} up / down
ip link show {link}
ip addr
ip addr show dev {link}
Es una navaja suiza, pero lo mas útil para simplezas como las nuestras es:
sipcalc -i -n 0 192.168.199.18/26
... con -c, classful info; con -i CIDR info; pueden darse juntas y escupe todo
para calcular subredes: sipcalc -s 26 192.168.50.30/24 -[ipv4 : 192.168.50.30/24] - 0
[Split network] Network - 192.168.50.0 - 192.168.50.63 Network - 192.168.50.64 - 192.168.50.127 Network - 192.168.50.128 - 192.168.50.191 Network - 192.168.50.192 - 192.168.50.255
o sipcalc -ci -n 8 192.168.200.1/28, que te da 8 subredes consecutivas de ese tamaño de bits comenzando por la que ocupa esa dirección
... y para obtener info muy específica de cada una: sipcalc -u -s 26 192.168.50.30/24
tb estan ipcalc e ipcalc-ng, pero ninguno de los dos me gusta, básicamente pq la man page es una puta mierda en ambos.
avahi-browse -art
En la rpis avahi-daemon viene activado, pero creo que los servicios que aparecen publicados cuando usas avahi-browse -art, o su mayoría, son responsabilidad de samba. publicados, o no sé si será el samba el responsable, pero normalmente, ni se instala avahi-daemon. Pero realmente viene bien encontrar la ip de cualquier parato sin complicaciones, y para eso hay que:
avahi-daemon
/etc/avahi/services ( en /usr/share/doc/avahi-daemon/examples hay muestras, como el de ssh )sudo service avahi-daemon reloadavahi-browse -t _ssh._tcp
Lo de _ssh._tcp es el tipo de servicio que se busca; se puede ver la lista completa de tipos de servicio con avahi-browse -bk ... por cierto que apache no parece publicar
y en windows parece que debería funcionar el comando Power Shell:
Resolve-DnsName
En general, para sobremesa se utiliza nm, que funciona bien, con su ifaz gráfica y tal. En headless, se puede usar systemd (ver mas arriba), pero tb iwd. La herramienta de base actual para configurar wifi es iw, que sustituye a wireless-tools, mientras que iwd es un demonio que puede sustituir a nm en headless o ser utilizado por él; para sustituir a nm se utilizan iwctl e iwmon. Tb integra bien con connman
NOTA: En raspi, aunque configurar la wifi vía raspi-config da un error, furrula.