– You almost got us killed! Are you brainless? | Casi nos matas!  no piensas?
—  I spake! | Puedo hablar!
– The ability to speak does not make you intelligent… | La capacidad de hablar no te hace inteligente…

Qui-Gon Jinn a Jar-Jar Binks en Star Wars: Episode I [The Phantom Menace]

Es frustrante que al llegar a una nueva implementación, la gente que la realiza, no cuenta con los conocimientos suficientes para poder ejecutarla correctamente.

En una reciente implementación, me encontré que el personal asignado, había configurado, los más de 200 servers, de forma gráfica, uno por uno.

Estoy de acuerdo que no es su culpa, al final, les encomendaron realizar dicho trabajo, y lo trataron de hacer de la mejor forma posible, o conocida.

Trataron, si, pero después del apagón de testing en el site, probando la entrada de la planta de energía, ésta (como la Ley de Murphy lo dice) no entró como debería, y sufrimos un verdadero apagón (cosa rara, de entre todas las cosas, nunca había visto uno tan, pero tan completo), descubrimos que no teníamos conectividad en ningún equipo (DNS, NFS, DMZ, etc); debido a que la configuración que realizaron no fue persistente y no quedo guardada en el archivo de configuración correspondiente.

Además, si peor estuviera la cosa, los equipos tienen una variedad de Sistemas Operativos, basados en Unix (gracias al Arquitecto de la Solución) que son tan diferentes entre sí; que garantizaban un buen rato de entretenimiento para un SysAdmin.

La diversidad de los Sistemas Operativos abarcan equipos con:

  • Red Hat 5.8
  • SuSE 10 y 11
  • Debian
  • FreeBSD
  • AIX 5.3
  • Solaris 10

En este primer post, vamos a ver como configurar las interfaces de red de cada Sistema, y posteriormente veremos un pequeño script que automatizo esta labor.

Red Hat

[root@mgmtsrv01 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet
DEVICE=eth0
BOOTPROTO=none
HWADDR=00:11:22:33:44:55
ONBOOT=yes
DHCP_HOSTNAME=mgmtsrv01
IPADDR=10.0.0.1
NETMASK=255.255.255.0
TYPE=Ethernet
USERCTL=no
IPV6INIT=no
PEERDNS=yes
[root@mgmtsrv01 ~]# cat /etc/sysconfig/network-scripts/route-eth0
GATEWAY0=10.0.0.254
NETMASK0=255.255.255.0
ADDRESS0=10.1.0.0
[root@mgmtsrv01 ~]#

SUSE 10

appsrv01:~ # cat /etc/sysconfig/network/ifcfg-eth-id-00:21:9b:9d:5e:67
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.5.0.1/24'
MTU=''
NAME='Broadcom NetXtreme II BCM5709 Gigabit Ethernet'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='auto'
UNIQUE='mY_N.TadRpRfVo46'
USERCONTROL='no'
_nm_name='bus-pci-0000:02:00.0'
PREFIXLEN='24'
appsrv01:~ # cat /etc/sysconfig/network/routes
10.5.1.128 10.5.0.254 255.255.255.192 eth-id-00:21:9b:9d:5e:67
10.6.0.0 10.5.0.254 255.255.255.0 eth-id-00:21:9B:9D:5E:67
10.7.0.0 10.5.0.254 255.255.255.0 eth-id-00:21:9B:9D:5E:67
10.1.0.0 10.5.0.254 255.255.255.0 eth-id-00:21:9B:9D:5E:67
default 10.5.0.254 - -
appsrv01:~ #

SUSE 11

dmzsrv01:~ # cat /etc/sysconfig/network/ifcfg-eth0
BOOTPROTO='static'
BROADCAST=''
ETHTOOL_OPTIONS=''
IPADDR='10.5.11.1'
MTU=''
NAME='NetXtreme II BCM5709 Gigabit Ethernet'
NETMASK='255.255.255.0'
NETWORK=''
REMOTE_IPADDR=''
STARTMODE='on'
USERCONTROL='yes'
dmzsrv01:~ # cat /etc/sysconfig/network/routes
10.5.10.0 10.5.11.254 255.255.255.0 eth0
10.5.16.128 10.5.11.254 255.255.255.192 eth0
10.6.0.0 10.5.11.254 255.255.255.0 eth0
10.5.0.0 10.5.11.254 255.255.0.0 eth0
default 10.2.1.254 - -
dmzsrv01:~ #

Debian

# cat /etc/network/interfaces
iface eth0 inet static
address 10.7.0.4
netmask 255.255.2550.0
gateway 10.7.0.254
#

FreeBSD

# cat /etc/rc.conf
hostname="monsrv01"
ifconfig_em0="inet 10.6.0.1 netmask 255.255.255.0"
defaultrouter="10.6.0.254"
#

AIX

# mktcpip -h stgsrv01 -a 10.4.0.2 -m 255.255.255.0 -i en0 -n 10.3.0.1 -g 10.4.0.254 -s

ó

# smitty mktcpip

Solaris 10

# grep bkpsrv01a /etc/hosts
10.2.0.2 bkpsrv01a
# cat /etc/hostname.e1000g0
bkpsrv01a netmask + broadcast + group public deprecated -failover up addif bkpsrv01 netmask + broadcast + failover up
# ifconfig e1000g0
e1000g0: flags=19040803<UP,BROADCAST,MULTICAST,DEPRECATED,IPv4,NOFAILOVER,FAILED> mtu 1500 index 2
inet 10.2.0.2 netmask ffffff00 broadcast 10.2.0.255
groupname public
ether 0:14:4f:a0:40:f6
# ls -l /etc/rc2.d/S76static-routes
-rwxr--r-- 1 root sys 58 Nov 26 2012 /etc/rc2.d/S76static-routes
# cat /etc/rc2.d/S76static-routes
#!/sbin/sh
/usr/sbin/route add -net 10.1.0.0 10.2.0.254
#

Espero les sirva…