sonnenblen.de - Das unabhängige Sun User Forum
Betriebssysteme => Solaris => Thema gestartet von: shIva am 13. Oktober 2004, 18:55:34
-
der betreff mag etwas irreführend sein, trifft jedoch mein problem : ich moechte gern eine route einrichten, sehe jedoch scheinbar den wald vor lauter bäumen nicht :
1 sparc5 mit le0 (192.168.1.1) und hme0 (192.168.0.100)
1 router (dsl/192.168.1.100)
/etc/defaultroute enthält 192.168.1.100
dhcpmgr laeuft und gibt allen clients ips mit 192.168.0.2xx und als router 192.168.0.100
dummerweise routed die sun nicht - sprich keine maschine mit ip 192.168.0.xxx kann eine adresse ausserhalb des 192.168.0.0 netzes erreichen.
die sun selbst kann alle adressen ueber die le0 erreichen, sowie alle maschinen, welche im 192.168.1.xxx netz haengen.
nun : was muss ich der sonne noch sagen, damit das routen funktioniert
bash-2.05# netstat -rn
Routing Table: IPv4
Destination Gateway Flags Ref Use Interface
-------------------- -------------------- ----- ----- ------ ---------
192.168.0.0 192.168.0.100 U 1 4 hme0
192.168.1.0 192.168.1.1 U 1 3 le0
224.0.0.0 192.168.0.100 U 1 0 hme0
default 192.168.1.100 UG 1 119
127.0.0.1 127.0.0.1 UH 4 299 lo0
dank im voraus
-
dummerweise routed die sun nicht - sprich keine maschine mit ip 192.168.0.xxx kann eine adresse ausserhalb des 192.168.0.0 netzes erreichen.
die sun selbst kann alle adressen ueber die le0 erreichen, sowie alle maschinen, welche im 192.168.1.xxx netz haengen.
Zum ersten Absatz: gibts eine /etc/notrouter (oder /etc/norouter oder so ...)?
Die Aussage im 2. verstehe ich nicht ???
Wer, außer 192.168.1.xxx sollte sonst über die le erreichbar sein?
Bitte die Sache noch mal präzisieren und den Output von ifcofnig -a und mehr
Aufklärung über die Adressbereiche.
Gruß
Hans-Peter
-
hast du ipforwarding aktiviert? Sonst geht nix durch die Sun durch.
Außerdem muss es /etc/defaultrouter heißen.
Mfg. erisch
-
/etc/defaultrouter heisst es auch, das r war mir abhanden gekommen :-)
bash-2.05# ifconfig -a
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
hme0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.0.100 netmask ffffff00 broadcast 192.168.0.255
ether 8:0:20:88:33:c6
le0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3
inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255
ether 8:0:20:88:33:c6
ndd -set /dev/ip ip_forwarding 1 war ein teil der loesung
jetzt, da ip_forwarding eingeschaltet ist, kann ich nur den defaultrouter hinter le0 anpingen, keine anderen maschinen ... auch nichts im internet hinter dem defaultrouter :-?
danke
-
habe /etc/rc2.d/S99ipforwarding mit inhalt ndd -set /dev/ip ip_forwarding 1 angelegt.
ein ping hinter hme0 geht nun durch (der dsl router baut eine verbindung auf). (z.b. von 192.168.0.xxx zu sonnenblen.de)
tcpdump auf le0 sagt während eines ping sonnenblen.de von 192.168.0.110 :
bash-2.05# tcpdump -n -i le0
tcpdump: listening on le0
22:13:32.688182 arp who-has 192.168.1.100 (ff:ff:ff:ff:ff:ff) tell 192.168.1.1
22:13:32.690281 arp reply 192.168.1.100 is-at 0:a0:57:4:1f:fc
22:13:32.690369 192.168.0.110 > 212.112.234.39: icmp: echo request (DF)
gleiche aktion auf hme0 zeigt :
bash-2.05# tcpdump -n -i hme0
tcpdump: listening on hme0
22:15:53.824291 192.168.0.110 > 212.112.234.39: icmp: echo request (DF)
22:15:54.816231 192.168.0.110 > 212.112.234.39: icmp: echo request (DF)
22:15:57.816228 192.168.0.110 > 212.112.234.39: icmp: echo request (DF)
kann es sein, dass NAT benoetigt wird, um das problem zu loesen ? falls ja, BITTE sag mir jemand WIE ???
-
wenn du nur die Netzsegmente 192.168.0 und 192.168.1 verbinden willst, brauchste glaubich kein NAT. Wenn du aber ins Internet willst, hast du nur eine (im I-Net) gültige Adresse, somit brauchst du NAT.
Unter Solaris hat sich bei mir ipfilter von den NetBSDlern bewährt. Da kannste deine Bude so dicht machen, dass du von außen praktisch unsichtbar bist und trotzdem alle deine I-Net Programme normal funzen.
Ne Anleitung zu ipfilter gibbet hier:
http://coombs.anu.edu.au/~avalon/IP%20Filter%20Based%20Firewalls%20HOWTO-German.pdf
Erstma lesen, drüber nachdenken und wenn dann noch fragen sind stellen.
Noch ein kleiner Tip: Auf keinen Fall versuchen mit dem gcc ipfilter zu kompilieren und dann zu installieren. Im schlimmsten Fall zerballerst du dir dein ganzes Solaris. Am besten (mit Sun cc) vorkompilierte Binaries downloaden: z.B. hier:
http://www1.maraudingpirates.org:8080/ipfilter/
Mfg. Erisch
-
Noch ein kleiner Tip: Auf keinen Fall versuchen mit dem gcc ipfilter zu kompilieren und dann zu installieren. Im schlimmsten Fall zerballerst du dir dein ganzes Solaris.
Das kann ich nicht bestätigen, ich nutze Solaris 8 mit IP Filter 4.3.1 welches mit gcc 3.2 selbstkompiliert ist. Woher kommt diese Aussage selbst die Erfahrung gemacht? Oder hast du für mich eine Quelle. :D
-
ich hab ipfilter 4.1.3 ebenfalls selbst mit gcc 3.3 auf solaris 9 sparc kompiliert - funktioniert einwandfrei...
das einzig mir bekannte problem bei gcc ist, dass gcc < 3.0 keine
64bit-binaries erstellen kann...
-
ipfilter laeuft nun auf meiner sparc.
::) allerdings : kann jemand eine ipnat.conf und ipf.conf posten, welche einfach nur packete durchlaesst (in beide richtungen)
ipnat.conf :
map hme0 192.168.0.0/24 -> 192.168.1.0/24
map le0 192.168.1.0/24 -> 192.168.0.0/24
tuts nicht (andere kombinationen schon getestet)
-
meine ipnat.conf sieht folgendermassen aus:
----------------------------------------
map hme0 0/0 -> 0/32
----------------------------------------
(vorrausgesetzt hme0 ist das interface dass am router haengt; ansonsten hme0 durch le0 ersetzen)
ipf.conf
----------------------------------------
block in quick on hme0 all
pass out on hme0 all
----------------------------------------
wenn ich mich nicht irre sollte das zumindest fuer den anfang reichen - bezueglich ipfilter gibts 'n nettes howto in deutsch - weiss die url jetzt grad nicht auswendig, auf der ipfilter-seite gibts aber nen link dazu...
-
Das kann ich nicht bestätigen, ich nutze Solaris 8 mit IP Filter 4.3.1 welches mit gcc 3.2 selbstkompiliert ist. Woher kommt diese Aussage selbst die Erfahrung gemacht? Oder hast du für mich eine Quelle. :D
Hmmm, die 4er Version hab ich glaubich nie probiert.
Bei mir war das Problem, dass ipfilter sauber kompiliert und in ein Package überführt wurde. Dann hab ich das Package installiert und bei starten von ipfilter gabs Kernel Panic, auch die ganzen Hilfsmaßnahmen wie Stackgröße erhöhen und solche Spielche brachten nix. Ich meine auch, im Netz was gefunden zu haben, dass man keinen gcc verwenden soll, aber das ist schon ewig her, seitdem benutze ich halt das Binary.
Aber wenn ihr meint es geht, dann werd ich das wohl auch noch mal versuchen.
Mfg. Erisch
-
meine ipnat.conf sieht folgendermassen aus:
----------------------------------------
map hme0 0/0 -> 0/32
----------------------------------------
(vorrausgesetzt hme0 ist das interface dass am router haengt; ansonsten hme0 durch le0 ersetzen)
ipf.conf
----------------------------------------
block in quick on hme0 all
pass out on hme0 all
----------------------------------------
wenn ich mich nicht irre sollte das zumindest fuer den anfang reichen - bezueglich ipfilter gibts 'n nettes howto in deutsch - weiss die url jetzt grad nicht auswendig, auf der ipfilter-seite gibts aber nen link dazu...
da das le0 interface zum router schaut habe ich alle hme0 durch le0 ersetzt - geht trotzdem nicht :-/
das deutsche howto habe ich gelesen (danke erisch), jedoch hilft mir das momentan nicht weiter (verzweifel ...)
-
was sagt /var/log/ipf.log bzw. 'snoop -d le0'? (zb bei nem ping auf eine externe ip)?
-
ipf.conf
----------------------------------------
block in quick on hme0 all
pass out on hme0 all
----------------------------------------
Das kann nicht funktionieren, weil jedes eingehende Paket verworfen wird. Das geht nur mit Keep State Regeln.
Zum Ausprobieren, einfach:
pass in quick on hme0 all
-
Das kann nicht funktionieren, weil jedes eingehende Paket verworfen wird. Das geht nur mit Keep State Regeln.
Zum Ausprobieren, einfach:
pass in quick on hme0 all
sorry, hab ich uebersehen... sollte
---------------------------------------------------
block in quick on le0 all
pass out on le0 all keep state
---------------------------------------------------
heissen...
-
dank an alle :D ... es funktioniert.
jetzt da alles funktioniert wie es soll, werde ich mich mal eingehender mit ipfilter beschaeftigen. (jetzt habe ich ja eine konfig zu der ich zurueckkehren kann)