+++ 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. \> 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. \> 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 \> 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 \> 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. \> 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 \> 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)