72 lines
2.8 KiB
Markdown
72 lines
2.8 KiB
Markdown
|
+++
|
||
|
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)
|