Ich bin gerade dabei, ein paar Zonen auf einem Server einzurichteten.
Auf einer Solaris 10 x86 Maschine sollen (ersteinmal) zwei Zonen aufgesetzt werden.
Global-Zone und die beiden Local-Zonen sind in unterschiedlichen physikalischen Netzen:
Global Zone:
192.168.0.2/24 (Default router: 192.168.0.1)
Zone1:
192.168.1.2/24 (Default router: 192.168.1.1)
Zone2:
192.168.1.3/24 (Default router: 192.168.1.1)
Die ich nur ein physikalisches Ethernet-Interface habe, nutze ich dort mehrere VLANs.
Die Global-Zone bekommt ihr Netz (untagged VLAN) durch das Interface bge0
Für die Zonen habe ich mit "ifconfig bge4000 plumb" ein VLAN-Interface angelegt.
Die beiden Zonen sind shared-IP-Zonen.
Da das Routing damit also in der Global-Zone stattfindet, muss diese auch zwei Default-Routen haben (eine - 192.168.0.1 - für sich selbst und eine - 192.168.1.1 - für die zonen).
Das Problem ist, dass die Global-Zone selbst keine IP-Adresse in dem zweiten Netz hat.
Deswegen kann so keine zweite Default-Route hinzufügen:
#route add default 102.168.1.1
schlägt fehl.
Wenn ich allerdings dem Interface bge4000 die IP-Adresse der Zone gebe, kann ich die Route hinzufügen. Wenn ich dem Interface die Adresse dann wieder wegnehme, dann bleibt die Default-Route drin:
#ifconfig bge4000 192.168.1.2 netmask 255.255.255.0 up
#route add default 192.168.1.1
#ifconfig bge4000 0.0.0.0 netmask 0.0.0.0 down
Dann kann ich die Zones installieren und starten. Der Netzwerkteil der Zones ist dann so konfiguriert:
add net
set address=192.168.1.2
set physical=bge4000
end
Funktioniert alles so wie gewünscht, aber wenn ich die Kiste reboote, dann ist natürlich die zweite Default-Route weg und die Zonen kommen dann natürlich auch nicht mehr aus ihrem Netz raus,
Ich muss dann immer vorher manuell die oben beschriebene Prozedur (Zone-IP der Glabal-Zone geben, route adden, IP wieder wegnehmen) einmal durchführen.
Wie kann ich diese Config so festklopfen, dass dies automatisch geschieht?
Meine Konfig sieht jetzt so aus:
/etc/hostname.bge4000
(leere Datei, nur damit bge4000 ge-plumbt wird)
/etc/inet/netmasks
192.168.0.0 255.255.255.0
192.168.1.0 255.255.255.0
/etc/defaultrouter
192.168.0.1
192.168.1.1
Obwohl in der /etc/defaultrouter beide Default-Router drinstehen, wird immer nur die Route für die Global-Zone hinzugefügt.