OpenSolaris Zones mit statischer IP
Nachdem ich lange danach suchen musste, wie man einer OpenSolaris Zone zwei statische IPs geben kann, schreibe ich das jetzt mal hier mal nieder, damit es auch andere finden.
Die Ausgangslage bei mir war, dass ich ein Interface in ein virtuelles LAN und ein Interface auf das externe Interface hatte.
source:sh> dladm show-link
LINK CLASS MTU STATE OVER
intern1 etherstub 9000 unknown —
vm_intern1 vnic 9000 up intern1
vm_extern1 vnic 1500 up rge0
Das Interface vm_intern1
sollte die IP 192.168.1.100 bekommen und das
externe Interface vm_extern1
die IP 192.168.2.100.
In der VM ist der Service physical:default
per default gestartet, so
dass die Konfiguration recht schnell über die Bühne gehen kann. Als
erstes müssen Dateien für die Interfaces angelegt werden, die beim Start
beachtet werden sollen. In unserem Fall sind dies
/etc/hostname.vm_intern1
und touch /etc/hostname.vm_extern1
.
Als erste Zeile muss die IP des Interfaces eingefuegt werden und in der zweiten dann die Angaben für die Netzmaske und Broadcast.
source:sh> echo “192.168.1.100” >>
/etc/hostname.vm_intern1
> echo “netmask 255.255.255.0 broadcast
+ up” >> /etc/hostname.vm_intern1
das selbe Spiel machen wir auch mit dem zweiten Interface
source:sh> echo “192.168.2.100” >>
/etc/hostname.vm_intern2
> echo “netmask 255.255.255.0 broadcast
+ up” >> /etc/hostname.vm_intern2
Die Angabe broadcast +
bedeutet in dem Fall, dass die Broadcastadresse
nur den 0-Anteil der Subnetmask mit 1 auffüllen soll. So stand es
zumindest auf einer Seite. Als ich das + weggelassen habe, habe ich als
Broadcast die 192.168.255.255 erhalten, also scheint das nicht ganz hin
zu kommen, aber zumindest funktioniert es mit + richtig.
Wenn wir jetzt neustarten würden, würden auch die beiden Interfaces richtig geladen werden und mit der eingestellten IP versehen. Was noch fehlt ist die Angabe der Nameserver und der Defaultroute.
Die Defaultroute setzt man ganz einfach mit
source:sh> echo “192.168.2.1” >> /etc/defaultrouter
Was nun noch bleibt ist der DNS-Server. Dafür muss die Datei /etc/nsswitch.dns nach /etc/nsswitch.conf kopiert werden.
source:sh> cp /etc/nsswitch.dns /etc/nsswitch.conf
Danach muessen noch die DNS-Server in die /etc/resolv.conf
eingetragen
werden und dann der DNS-Client gestartet werden. Das geht mit
source:sh> svcadm enable -r dns/client
Nach einem Neustart sollten die Interfaces mit den richtigen IPs
ausgestattet sein, bei netstat -r
die Routen stimmen und ein
ping google.de
eine Antwort bringen (wenn euer Container denn das
Internet erreichen kann)