USENET mit inn

Inn und suck zusammen mit CIS/DFN nutzen

Achtung: Der folgende Text ist gerade nicht ganz aktuell, da es jetzt nicht mehr fu-berlin.de sondern news.individual.net heißt.

Der folgende Text soll zeigen wie leicht es eigentlich ist auch mit der als "kompliziert" verschrieenen Software innd einen Zugang zum kostenlosen USENET-Newsdienst des CIS/DFN zu konfigurieren.

Warum einen extra Newsserver wie inn, wenn ich doch mit dem Newsclient direkt auf den Newsserver zugreifen kann?

Diese Frage ist einfach zu beantworten: Mit dem lokalen Newsserver geht der Zugriff nicht nur viel schneller sondern man kann die News auch offline lesen, kann also auch eine Wählleitung verwenden. Zudem kann auch eine kleine WG gemeinsamen Zugriff auf die lokalen Newsgruppen haben. Nach den Nutzungsbedingungen des DFN/CIS ist dies explizit erlaubt solange der Nutzerkreis nicht unbeschränkt ist (Näheres in den Nutzungsbestimmungen im Punkt "Darf ich die News mehreren Personen zur Verfügung stellen?").

Voraussetzung: Der Zugang zum oben genannten Newsserver erfordert einen Account mit Login und Passwort. Ein normaler Login wie man ihn zum Zugriff mit einem Newsreader benötigt genügt.

Als Ausgangssituation haben wir eine frisch installierte SuSE Linux 8.1. Als zusätzliche Pakete müssen die Pakete inn und suck ausgewählt werden.

Weiterführende Links

Die Beschreibung bezieht sich auf die zur Zeit (Oktober 2002) aktuelle Version von inn auf einem SuSE Linux 8.1 System. Auf anderen Systemen sind Pfade ggf. anzupassen.

Konfiguration des inn

Wenn man schon die Zugangsdaten zum Newsserver hat, so kann man direkt mit der Konfiguration des Newsservers beginnen. Ansonsten kann man sich auf der Anmeldeseite für einen Account am Newsserver des CIS/DFN anmelden.

Im ersten Schritt sollte man den inn konfigurieren. Nach der Installation des inn Paketes finden sich die meisten konfigurationsdateien in /etc/news/. In folgenden Dateien müssen nun Veränderungen vorgenommen werden:

PfadBedeutung und Veränderungen
/etc/news/inn.conf Organization anpassen und die Domain auf die Domäne setzen. Erläuterungen zu dieser Datei findet man in man inn.conf
/etc/news/newsfeeds Konfiguriert welcher Newsserver von uns "gefeeded" wird, also Daten von uns bekommt. Der "Feed" besteht bei uns in einer Datei in der die lokal geposteten Artikel abgespeichert werden. Die Veränderung sieht wie folgt aus:

# we need this for fu-berlin synchronisation
fu-berlin.de:*,!junk,!control*:Tf,Wnm:fu-berlin.de
/etc/news/nntpsend.ctl Diese Datei steuert das Programm zum Versenden der Artikel die in einem "Feed" aufgelaufen sind (siehe newsfeeds). Wir haben bei uns nur einen Feed konfiguriert, es reicht ans Ende der Datei einfach
fu-berlin.de:news.cis.dfn.de:
anzuhängen. Soll heißen: Der Newsfeed namens fu-berlin.de den wir in der Datei /etc/news/newsfeeds definiert haben wird an den Rechner mit dem Namen news.cis.dfn.de ausgeliefert.
/etc/news/passwd.nntp Da zum Posten auf dem CIS/DFN Server ein Login und Passwort erforderlich ist, muß dieses in dieser Datei hinterlegt werden. Achtung: Jeder der diese Datei lesen kann hat automatisch Zugriff auf das Passwort. In dieser Datei folgende Zeile anhängen:

news.cis.dfn.de:username:passwort

news.cis.dfn.de ist wieder der Zielrechner um den es geht. Statt "username" und "passwort" sind hier natürlich die in der Anmeldemail vom CIS/DFN Newsserver genannten Daten einzutragen.
/etc/news/readers.conf Diese Datei konfiguriert wer alles von unserem INN Newsserver lesen und posten darf. ACHTUNG: Bei dieser Konfiguration besondere Sorgfalt walten lassen da sonst der Newsserver u.U. zum SPAMen mißbraucht wird. Zugriff also nur für lokale Rechner mit bekannten Benutzern erlauben. Will man nur vom localhost lesen so sind keine Veränderungen in dieser Datei nötig.
/etc/news/incoming.conf Diese Datei konfiguriert welche Newsserver bei uns Daten einliefern dürfen. Hier sind zwei Änderungen sinnvoll:
peer news.cis.dfn.de {
	hostname:     "news.cis.dfn.de"
}
sollte man einfach ans Ende (nach den 3 Zeilen mit "peer ME") anfügen. Als weitere Ergänzung ist es geschickt den lokalen Rechnernamen als weiteren Peer in der sinngemäß gleichen Form anzugeben.

Nach diesen ersten Veränderungen kann man sich dann schonmal das Newsgroups File vom ftp Server der fu-Berlin besorgen. Das Newsgroups File findet man unter ftp://ftp.fu-berlin.de/doc/news/fu-berlin/newsgroups und kann direkt wie man es heruntergeladen hat unter /var/lib/news/newsgroups abgespeichert werden. Die Größe dieser Datei ist z.Zt. ca. 1,2 MB. Diese Datei enthält die Gruppenkurzbeschreibung ("tagline") die im Newsreader in der Übersicht angezeigt wird. Diese Datei muß man nur einmal herunterladen.

Erster Start von inn

Nach den Einstellungen und dem Kopieren der newsgroups Datei kann man schon probieren den Newsserver mittels des Kommandos

rcinn start

als root zu starten. Der Server sollte ohne Probleme hochkommen und ein Prozess namens innd sollte laufen. Einen ersten Test der Installation kann man mit telnet localhost 119 durchführen. Eine Testsitzung sieht ungefähr so aus (Benutzereingaben bold, Computerausgabe regular):

konstriktor:/var/lib/news # telnet localhost 119
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
200 konstriktor.Siski.DE InterNetNews server INN 2.3.2 ready
mode reader
200 konstriktor.Siski.DE InterNetNews NNRP server INN 2.3.2 ready (posting ok).
list active
215 Newsgroups in form "group high low flags".
control 0000000000 0000000000 y
control.cancel 0000000000 0000000000 y
junk 0000000000 0000000000 y
.
quit
205 .
Connection closed by foreign host.
konstriktor:/var/lib/news # 

Wenn soweit alles funktioniert kann schon die erste Newsgroup "abonniert" werden. Ich empfehle zum Testen de.test da hier anhand der Reflektoren auch gut zu sehen ist ob die Newspostings richtig angekommen sind.

Abonnieren kann man einzelne Newsgruppen (z.B. de.test) mit folgendem Kommando als root:

/usr/lib/news/bin/ctlinnd newgroup de.test

Installation von suck

Suck ist eine Möglichkeit News von außen in den inn zu "spoolen". Durch einige Änderungen am inn funktioniert das rpost Programm faktisch nicht mehr, das ist aber nicht so schlimm, da nntpsend als Bestandteil von inn ein sehr guter Ersatz ist.

Am einfachsten funktioniert suck mit einem kleinen Skript welches man sich am besten hier herunterlädt.

[DOWNLOAD get.news.sh] get.news.sh Downloadprogramm für News mittels suck/innd (2.4 kB)

Durch die Verwendung von nntpsend ist es nun wirklich handlich geworden. Nach dem Herunterladen und dem Abspeichern des Skriptes unter /usr/local/sbin/get.news muß man noch beiden Variablen USER und PASSWORD in diesem Skript anpassen. Hier müssen auch wieder die zugesendeten Daten eingetragen werden damit man sich die News abholen kann.

Der erste Test

Nach den Anpassungen am innd, dem ersten Start und Funktionstest, dem Herunterladen des "suck" Skriptes und den nötigen Anpassungen kann man nun einen ersten Versuch machen. Hierzu einfach das Kommando eingeben (Benutzereingaben bold, Computerausgabe regular):

konstriktor:/ # /usr/local/sbin/get.news
The current date is as follows: Sat Oct  5 18:35:08 CEST 2002
Attempting to connect to news.cis.dfn.de
Using Port 119
Official host name: news.cis.dfn.de
Address: 130.133.1.4
Connected to news.cis.dfn.de
200 news.fu-berlin.de welcomes konstriktor [...]
Loading active file from localhost
Reading current sucknewsrc
de.test - 5 articles 376167-376171
Adding new groups from local active file to sucknewsrc
Elapsed Time = 0 mins 0.97 seconds
5 Articles to download
Deduping Elapsed Time = 0 mins 0.00 seconds
Deduped, 5 items remaining, 0 dupes removed.
Processing History Database Elapsed Time = 0 mins 0.00 seconds
Processed history, 0 dupes removed
Total articles to download: 9
16636 Bytes received in 0 mins 0.94 secs, BPS = 17693.1
Closed connection to news.cis.dfn.de
Posting Messages to localhost
5 Messages Posted
Elapsed Time = 0 mins 0.53 seconds
Cleaning up after myself
Downloaded Articles
You can hang up the modem now

Am Anfang werden noch die 3 Systemgruppen heruntergeladen, control, control.cancel und junk. Dies kann man mit einer kleinen Datei verhindern die man im Verzeichnis /var/spool/news/tmp anlegt. Diese Datei muß den Namen active-ignore bekommen und führt die Newsgruppen aus dem Active file auf die beim Download ignoriert werden sollen. Überlicherweise hat diese Datei folgenden Inhalt:

konstriktor:/var/spool/news/tmp>cat active-ignore
control
control.cancel
junk

Dies führt dann dazu daß diese Pseudogruppen nicht heruntergeladen werden.

Nach diesem ersten Download sollte man mittels eines News-Clients versuchen in die Test Gruppe "de.test" ein Posting zu machen. Ich verwende z.B. knews mit einem speziellen Patch zur freien Einstellbarkeit der "From" Zeile. Dies sollte ohne Probleme möglich sein.

Nach dem erfolgreichen Posting kann man überprüfen ob der News-Server alles richtig gemacht hat: In der Datei /var/spool/news/outgoing/fu-berlin.de sollte sich nun eine Zeile der folgenden Art befinden:

konstriktor:/var/spool/news/outgoing>cat fu-berlin.de
@050100000004000002900000000000000000@ <anp9f7$8pu$1@konstriktor.Siski.DE>

Steht dort diese Zeile so heißt dies daß das Testposting beim nächsten Lauf des get.news Skriptes an den Newsserver des CIS/DFN eingeliefert wird. Wir rufen wieder das Skript auf:

konstriktor:/ # /usr/local/sbin/get.news

nach wenigen Minuten sollten an die im Newsposting als FROM angegeben Mailadresse einige "Reflektormails" ankommen die bestätigen daß das Posting richtig angekommen ist.

Wenn nun alles past kann man einen Aufruf des Skriptes zum Beispiel ins ip-up Skript eingefügt werden. Ich habe eine Festverbindung mit dem Internet und verwende einen cronjob der jede Viertelstunde eine Synchronisation anstößt:

konstriktor:~ # crontab -l
# DO NOT EDIT THIS FILE - edit the master and reinstall.
# (/tmp/crontab.19179 installed on Mon Sep 30 21:05:18 2002)
# (Cron version -- $Id: crontab.c,v 2.13 1994/01/17 03:20:37 vixie Exp $)
-8,23,38,53 * * * * /usr/local/sbin/get.news >> /var/log/get.news.log

Die Zeiten sollten in einem persönlichen Setup auf jeden Fall anders gewählt werden, damit sich die Zugriffe auf den CIS/DFN Server gleichmässig verteilen.

© Carsten Groß - Letzte Änderung 15.03.2008 12:46 - Impressum