+++
title = "OpenSolaris Zones mit statischer IP"
date = "2010-03-24T18:11:00+00:00"
author = "Gibheer"
draft = false
+++

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\
</source>

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<br />\> echo “netmask 255.255.255.0 broadcast
+ up” \>\> /etc/hostname.vm\_intern1</source>

das selbe Spiel machen wir auch mit dem zweiten Interface

<source:sh>\> echo “192.168.2.100” \>\>
/etc/hostname.vm\_intern2<br />\> echo “netmask 255.255.255.0 broadcast
+ up” \>\> /etc/hostname.vm\_intern2</source>

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</source>

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</source>

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</source>

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)
