====== Configuration réseau sur dedibox ======
Les offres Dedibox (online.net maintenant) sont super pour y faire tourner des machines virtuelles, surtout depuis qu'on peut bridger directement nos VM sur l'interface physique (attention tout de même à toujours déclarer une MAC virtuelle associée à une IP failover à l'avance).
Seulement, la config réseau est un peu particulière, exemple:
* La passerelle du serveur physique est 88.190.16.1
* L'IP virtuelle d'une de nos VM est 88.190.227.53
Dans ce cas, la passerelle n'est pas sur le même réseau /24 que notre machine. Bêtement, vous vous dites qu'il suffit de mettre un masque en /16 sur la VM pour qu'elle puisse joindre sa passerelle, et c'est pas entièrement faux, ça aura l'air de marcher (j'ai tourné comme ça pendant un moment). Seulement, avec une configuration comme ça, toute une partie du réseau dedibox n'est plus accessible (en fait, toutes les IP 88.190..x.y hors de notre VLAN). Pour régler ça, il faut en fait suivre le tuto disponible [http://documentation.online.net/fr/serveur-dedie/systemes-d_exploitation/distribution-proxmox-ve-3#configuration_debianubuntu|ici]].
Pour appliquer cette configuration sur un serveur SME / iPasserelle, voilà la marche à suivre
db configuration set ExternalIP 88.190.227.53
db configuration set ExternalNetmask 255.255.255.255
db configuration set GatewayIP 88.190.16.1
/etc/e-smith/events/actions/initialize-default-databases
mkdir -p /etc/e-smith/templates-custom/etc/sysconfig/network/
echo '# GATEWAYDEV disabled for dedibox network' > /etc/e-smith/templates-custom/etc/sysconfig/network/40GATEWAYDEV
echo '# GATEWAY disabled for dedibox network' > /etc/e-smith/templates-custom/etc/sysconfig/network/50GATEWAY
expand-template /etc/sysconfig/network
mkdir -p /etc/e-smith/templates-custom/etc/sysconfig/network-scripts/route-ethX
cat <<'EOF' > /etc/e-smith/templates-custom/etc/sysconfig/network-scripts/route-ethX/20gateway
{
die "Need to pass THIS_DEVICE in MORE_DATA\n" unless (defined $THIS_DEVICE);
my $device = $ExternalInterface{Name};
unless ($device)
{
warn("Can't determine device name for external network");
return "# template expansion error - Can't determine device name for external network";
}
return "# Gateway only applies on external interface"
unless ($ExternalInterface{Name} eq $THIS_DEVICE);
my $gw = $ExternalInterface{'Gateway'};
$OUT .= "$gw dev $THIS_DEVICE\n";
$OUT .= "default via $gw dev $THIS_DEVICE";
}
EOF
Pour finir:
* Sur SME 8.X
expand-template /etc/sysconfig/network-scripts/ifcfg-$(db configuration getprop ExternalInterface Name)
expand-template /etc/sysconfig/network-scripts/route-$(db configuration getprop ExternalInterface Name)
* Sur SME 9.X
/etc/e-smith/events/actions/update-ifcfg