xDSL funzt nur unter Freebsd 6.0 unter freebsd 5.4 nicht

Hallo Leute ich habe mir vor kurzem mal wieder freebsd auf meinem Pc installiert

Ich hatte mit freebsd 5.4 einige fehler und habe dann testweise das freebsd 6.0 installiert wo zwar das internet einwandfrei funktioniert dafür soundkarte nicht und es noch keine nvidia treiber gibt.


So jetzt zu meinem Problem unter Freebsd 5.4

Habe es im frischen zustand endlich dazu gebracht mit kdm hochzu fahren (Will ja auch hier film schauen und ähnliches) Ok Alles eingerichtet dachte ich mir starte ich mal lynx...was geschieht er schreibt mir hin das er host nicht finden kann.

K teste es mit ping zum gateway und sonstigen geht alles nicht...

machte darauf durch etweiige foren und suchfunktionen mich auf alles zu untersuchen finde aber nirgends rat und tat...

habe dann ifconfig ausgeführt...

das einzige was ich aus der config rauslese was falsch seien könnte ist...

media: Ethernet autoselect (none)
status: no carrier

der rest von dem eingetragenen in der rc.conf stimmt aber mit meinen eintragungen überein


Zu meinem Provider ich habe keine dhcp aber trozdem statische ip adresse.....ohne login name und passwort....falls einige den Provier kennen Inode (paket xDSL@work)

Ich hoffe ihr könnt mir helfen da ich leider nicht mehr weiter weiss.

Falls ihr sonst noch logs oder so benötigt....schreibt es bitte und wie ich die logs erstelle ebenfalls da ich das letzte mal freebsd in der hand hatte als die 5er serie am markt gekommen ist und da habe ich noch mit der 4.11 gearbeitet

MFG PX alias SK
 
Hallo,

ne Ausgabe von dmesg bezüglich der Netzwerkkarte(n) und ein auszug aus ifconfig -a wär für den Anfang ganz nett. Da es sich um eine DSL Verbindung handelt wählst Du die "pseudomäßig" noch an. Daher wär die Konfigurationsdatei hiervon ebenfalls von Vorteil. Dazu bitte noch die resolv.conf und rc.conf mit dran und dann schauen wir mal woran es fehlt.

Gruß Bummibaer
 
Hi,schau das mal durch.

(..."no carrier" sag mal primär das kein Trägersignal auf dem Interface
gefunden wurde wobei man davon ausgehen kann das die elektrische Verbindung
fehlerhaft ist.)

Code:
Titel: Inode(xdsl) und Freebsd.
===============================


Inhaltsverzeichnis:
-------------------
1.) Router konfigurieren.
2.) Mpd installieren.
3.) NETGRAPH einrichten.
4.) Konfiguration.
5.) Verbindung herrstellen.
6.) Routingtabelle modifizieren.
7.) Automatisierung.
8.) Fehlersuche.
9.) Sicherheit.

Ausgangslage: 
-------------
.) Zyxel Prestige 645* (Alcatels speedtouch home(BCAC) funktioniert ebenfalls.)

.) Eine saubere FreeBsd 5.2.1 / 5.3beta4 installation. 
   (Andere Versionen wurden nicht getetstet.)
============================================================================

Legen wir los.

Arbeitsschritte:
----------------

1.) Router konfigurieren. (nur wenn resettet!...nicht selber resetten, ist verboten).
-------------------------

Sie sollten von Inode einen Router erhalten haben
welcher vorkonfiguriert und mit einem Passwort von inode versehen ist.
Wenn das der Fall sein sollte bitte zu Punkt 2.) gehen.
Ebenfalls zu 2.) können sie gehen wenn sie ein speedtouch verwenden.

Wenn sie ein resettetes "Zyxelding" haben
müssen sie es vielleicht erst wieder richtig Konfigurieren.

Eckdaten des Zyxel 645* nach einem Reset :

ip: 192.168.1.1
benutzername: admin
passwort: 1234

Aufbau einer Telnetverbindung zum Zyxel-Router(Bridge)
durch folgende Eingabe:

#telnet 192.168.1.1

Auf die Frage nach dem Passwort antworten wir mit "1234".
Es folgt eine Eingabemaske in derer wir die folgenden Punkte
zu unserem gunsten ändern(überprüfen).
	
	Sollte Telnet auf denn Router nicht auf Anhieb
	gehen bitte die Netzwerkkarte auf 192.168.1.2
	mit der Netzwerkmaske 255.255.255.0 stellen.

Folgende Punkte überprüfen:

.)Menu 1 - General Setup
Route IP= No
Bridge= Yes

.)Menu 4 - Internet Access Setup
Encapsulation= RFC 1483
Multiplexing= LLC-based
VPI #= 8
VCI #= 35

.)Menu 11.1 - Remote Node Profile
Route= None
Bridge= Yes

(...alle Eingaben mit ENTER bestätigen bis man das jeweilige Menü verlässst)

Nach dem Reboot des Zyxel's ist es bereit sich zu syncronisieren.

2.) Mpd installieren.
---------------------

Das einfachste ist wohl folgender Weg mit Beginn and der root-console:

#cd /usr/ports/net/mpd
#make install

	Da es aber vermutlich keine funktionierende Internetverbindung
	auf dem zu "verbindendem Gerät" gibt, fällt dieser weg aus.

	z.b folgendes wäre eine Alternative :

	#cat /usr/ports/net/mpd/distinfo
	
	Daraufhin ist in etwa sowas zu lesen:
	MD5 (mpd/mpd-3.18.tar.gz) = ........

	Diesen File sucht man sich aus dem Internet
	und bringt in auf ein Datenmedium welches auch unter
	Freebsd zu verfügung steht.
	Die "mpd-*.tar.gz" wird im Normalfall 
	in folgendes Verzeichnis kopiert:
	
	/usr/ports/distfiles/mpd/

	Sollte das Verzeichnis nicht existieren, einfach ein:
	#mkdir /usr/ports/distfiles/mpd
	eingeben und erst dann kopieren.

	
	...ein "make install" in /usr/ports/net/mpd sollte
	für uns dann den Rest erledigen.

	Ebensfalls möglich ist der Weg über Pakete.


3.) NETGRAPH einrichten.
------------------------

Der Mpd macht das eigentlich automatisch.
(Ausser dem System ist es verboten worden Kernelmodule nachzuladen.)
Man kann von hieraus auch gleich zu Punkt "4.)" gehen.

	Man kann NETGRAPH als modul starten oder 
	auch in seinen Kernel mit aufnehmen.
	
	Der weg über denn Kernel sieht ca. so aus:
	
	In die Kernelconfig schreiben wir einfach
	------>
	options NETGRAPH
	<------
	hinein,übersetzen und installieren den neuen Kernel.
	Man könnte auch alle weiteren NETGRAPH "node types"
	in denn Kernel einbinden diese werden aber von einem
	geladenen NETGRAPH subsystem automatisch mittels
	kldload(8) nachgeladen.
	Das sollte uns soweit reichen.

4.) Konfiguration:
------------------

.) Netzwerkarte.

zumindest das in die /etc/rc.conf schreiben.
------>
	ifconfig_sis0="DHCP"
<------
	
sis0 ist durch denn Namen der verwendeten Netzwerkarte auszutauschen.

Inode macht die ip's über DHCP.
Macht normalerweise keine Probleme
solange der dhcp client geladen wird . (meist, automatisch.)
Beim starten des Computers wird angezeigt ob der dhcpclient gestartet wird.
Das ganze kann evtl. die Zeitdauer vom Einschalten bis zum Loginprompt
erhöhen.

.) Mpd konfigurieren :

Unter /usr/local/etc/mpd befinden sich die
*.sample Dateien des mpd (...falls es einmal zu Unklarheiten oder Erneuerungen kommt).

Insgesamt brauchen wir mindestens zwei korrekte 
Konfigurationsdateien.

Eine....
/usr/local/etc/mpd/mpd.conf
und eine 
/usr/local/etc/mpd/mpd.links.

Wir legen also eine eigene mpd.conf an:

mpd.conf:
------>
default:
        load adslat

adslat:
	new -i ng0 adslat adslat
	log +auth +ccp +chat +fsm +lcp +link +phys +pptp +ipcp +iface
        set iface disable on-demand
	set iface idle 0
	set iface route default
	set iface addrs 192.168.1.1 192.168.2.2
        set bundle disable multilink
	set bundle authname dein_benutzername@inode
	set bundle password dein_passwort
        set link no acfcomp protocomp
	set link no pap
	set link disable chap
        set link accept chap
	set link keep-alive 10 75
	set ipcp no vjcomp
	open
<------

Benutzername und Passwort eintragen.
Die "log"-Zeile kann man, nachdem alles funktioniert getrost entfernen.
Die 192.168.1.1 und 192.168.2.2 sind Platzhalter
und werden durch den mpd automatisch richtiggestellt.

	Unter sensiblen Umgebungen sollte in diesem Fall
	zusätzlich die Datei mpd.secret für die verwahrung der 	
	Benutzernamen und Passphrasen verwendet werden.
	Wie das genau geht, steht in der mpd.secret.sample.

mpd.links:
------>
adslat:
	set link type pptp
	set pptp peer 10.0.0.138
	set pptp enable originate outcall
<------

.) Namensauflösung: 
-------------------

Im Normalfall wird kein gesonderter Eintrag der
DNS-Server benötigt.
Der DHCP-Server sollte uns die nötigen Informationen geschickt haben.

	...sollte was nicht klappen.
	
	/etc/resolv.conf:
	------>
	nameserver 195.58.160.2
	nameserver 195.58.161.3
	<------

	Es ist ebenfalls möglich dem mpd peer mpd.conf eintrag
	einen dns anzugeben.
	mpd.conf eintrag: ----->set ipcp dns 195.58.160.2<------



5.) Verbindung herrstellen:
---------------------------

Mittels:
------>
#mpd adslat
<------
lässt sich der mpd starten, und dieser versucht sich dann bei der Gegenstelle zu
Authentifizieren.

Klappt alles ohne offensichtlicher Fehlermeldung ablaufen
kann man zu Punkt 6.) wechseln

	Wenn man dem mpd die Option -b mitgibt bewirkt das, daß
	der mpd die Konsole auf der er 
	gestartet wird, sofort wieder frei gibt.

6.) Routingtabelle modifizieren.
--------------------------------

Klingt jetzt komisch, ist aber nötig,
damit alles funktioniert.

Sagen wir unsere Netzwerkkarte in Richtung Internet 
hat die 172.17.238.134 ("#ifconfig")
Dann ist unser Gateway die 172.17.238.1

Wir geben also folgendes ein:
------>
#/sbin/route add -host 10.0.0.138 172.17.238.1
#/sbin/route delete default
#/sbin/route add default -interface ng0
<------

Die 172.17.238.1 ist mehr oder minder dynamisch.
Das also jedesmal von Hand überprüfen ist umständlich.
Reicht uns allerdings für denn Test vollkommen.

Danach sollte einem ping ins Internet nichts mehr im Wege stehen.

Funktioniert alles können sie sich an die Automatisierung machen.

7:) Automatisierung.
--------------------

Man kann Punkt 
5.) Verbindung herrstellen 
und 
6.) Routingtabelle modifizieren 
zusammenfassen,
indem wir ein Startskript in in "/usr/local/etc/rc.d" erstellen.

.) Die Datei heißt z.b "inodeinet.sh"
und hat folgenden Inhalt:
------>
#!/bin/sh
case "$1" in

start)
        echo
        echo -n 'MPD wird gestartet.'
        /usr/local/sbin/mpd -b adslat
        #---jetzt wart ma ein bisschien damit nix schiefgeht.
	sleep 5
        echo -n .
        sleep 5
        echo -n .
        sleep 5
	echo -n .
	sleep 5
        echo .
        #---das beste was mir einfiel.
        echo ...die neuen routen werden erstellt.
        ifconfig sis0 | grep "inet " | awk '{print $2}' | cut -d. -f1-3 > /tmp/setrout1
        echo 1 > /tmp/setrout2
        paste -d. /tmp/setrout1 /tmp/setrout2 > /tmp/yourgateway
        set GW
        GW="$(cat /tmp/yourgateway)"
        export GW
        #---das wichtigste.
	/sbin/route add -host 10.0.0.138 $GW
        /sbin/route delete default
        /sbin/route add default -interface ng0 
        ;;

stop)
        echo "MPD wird beendet."
        kill -9 `cat /var/run/mpd.pid`
        ;;

restart)
	echo "Ein Restart wurde nicht vorgesehen."
	;;
*)
        echo "Verwendung: `basename $0` {start|stop}" >&2
        exit 64
        ;;
esac
exit 0
<------

sis0 in der Zeile
---
ifconfig sis0 ........
---
ist abermals durch die Kennung ihrer Netzwerkkarte zu ersetzen.

Jetzt noch die Rechte an dem Skript neu setzen. (...ausführbar es nach dem Befehl dann ist.).

#chmod 755 /usr/local/etc/rc.d/inodeinet.sh

Und wir sind Fertig.

Jetzt noch rebooten und alles wird gut. (hoffentlich :))

(Die Startzeit erhöht sich durch dieses Skript um mindestens 20 Sekunden.)

.) Möchte man erst nach dem Login die Internetverbindung
herstellen, macht man sich ein Skript mit folgendem

Inhalt:
-------->
#!/bin/sh
	echo
        echo -n 'MPD wird gestartet.'
        /usr/local/sbin/mpd -b adslat
        #---jetzt wart ma ein bisschien damit nix schiefgeht.
	sleep 5
        echo -n .
        sleep 5
        echo -n .
        sleep 5
	echo -n .
	sleep 5
        echo .
        #---das beste was mir einfiel.
        echo ...die neuen routen werden erstellt.
        ifconfig sis0 | grep "inet " | awk '{print $2}' | cut -d. -f1-3 > /tmp/setrout1
        echo 1 > /tmp/setrout2
        paste -d. /tmp/setrout1 /tmp/setrout2 > /tmp/yourgateway
        set GW
        GW="$(cat /tmp/yourgateway)"
        export GW
        #---das wichtigste.
	/sbin/route add -host 10.0.0.138 $GW
        /sbin/route delete default
        /sbin/route add default -interface ng0 
	exit 0
<------

Ausführbar machen mit :
------>
#chmod 755 /pfad_zu_deinen_skripten/denk_dir_was_aus.sh
<------
und nach dem starten des Programms sollte wiedermal alles passen 
und unser Internet funktionieren.

8.)Fehlersuche.

Schiefgehen kann eine Menge, darum hier ein paar Mechanismen
die die Fehlersuche erleichtern können.

.) [/url=http://www.bretterklieber.com/mpd/doc3/mpd47.html#47]>mpd-Troubleshooting<[/url]

.) Ein
------>
#ifconfig
<------

nach dem Reboot sollte uns eine mit einer IP-Adresse versehene
Netzwerkarte zeigen.
Das sieht dann ca. so aus:

------>
sis0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
	options=8<VLAN_MTU>
	inet6 fe80::240:f4ff:fe1a:6b97%sis0 prefixlen 64 scopeid 0x1 
	inet 172.17.238.148 netmask 0xffffff00 broadcast 172.17.238.255
	ether 00:40:f4:1a:6b:97
	media: Ethernet autoselect (100baseTX <full-duplex>)
	status: active
<------

Sollte schon hier ein Fehler auftreten, bitte die Physikalische unversehrtheit
und die Funktion der gegebenen Kabel,Stecker und Geräte überprüfen.

Weiters wäre darauf zu achten das der DHCP-client beim start
seine Arbeit versieht.

.) Die Ausgabe des mpd ist natürlich ebenfalls zu überprüfen.

Der Meldet sich eh wenn wo irgend was, irgend wie nicht passt.

.) Ein 
------>
#kldstat | grep ng_
<------ 
sollte in etwa das anzeigen.
Hier geht es nur darum das die ng Sachen
geladen sind.
---
 4    1 0xc313f000 4000     ng_socket.ko
 6    1 0xc3159000 4000     ng_iface.ko
 7    1 0xc315d000 8000     ng_ppp.ko
 8    1 0xc3165000 4000     ng_bpf.ko
 9    1 0xc316b000 5000     ng_vjc.ko
10    1 0xc3180000 5000     ng_pptpgre.ko
11    1 0xc3186000 5000     ng_ksocket.ko
---
.) weiters sind die Ausgaben von

#netstat -in

und 

#netstat -rn

interresant, dort findet man dann
die Fehler wegen Routing und so.

.)Im Zeifelsfall alle Angaben in dieser Anleitung
in Frage stellen und eigene Recherchen anstellen.
(mpd-html docu,manpages,Handbücher und was es sonst noch so gibt.)
[url=http://www.bretterklieber.com/mpd/doc3/mpd.html]> mpd-onlinedokumentation <[/url]

9.) Sicherheit.

Diese Anleitung verzichtet soweit vollkommen auf den Einbau
von für die Sicherheit relevanten Schichten, weil es hier 
vor allem darum geht, Internet auf seine Büchse zu bekommen
und sich nicht in diversen Sicherheitseinstellungen zu verlieren.

Allgemein kann man sagen das sie die Berechtigungen an denn Dateien
auf ein Mindestmass herunterschrauben müssen,
zusätzlich die mpd.secret verwenden sollten
und sich in Zukunft einen Paketfilter einbauen sollten.

Weiters ist das "bpf-device" aktiviert welches unter Umständen
auch von "bösen" Snifferprogrammen missbräuchlich verwendet werden könnte.
Das ist aber in dem Fall das sie dem System die Möglichkeit geben Module 
nachzuladen hinfällig da ein Angreifer 
"bpf" oder ein anders Kernelmodul seiner Wahl sowieso nachladen könnte,
sollte das System ernsthaft kompromitiert seien.

10.) Danksagung.

Danke an alle deren Ideen und Wissen ich entwendet habe und in dieses How-to
mit einfliesen hab lassen.
 
Wobei man zu diesem Tutorial dazu sagen sollte, dass ein Router Reset von dem Zyxelding nicht durch den User durchgeführt werden sollte. Inode läßt sich das bezahlen, wenn sie nach einem User Reset des Modems Irgendwas richten müssen. Was einem natürlich nicht abhalten muß/soll, aber dazugesagt gehörts.
edit: Steht eh auch dort, hab ich überlesen.
 
Zurück
Oben