FreeBSD kézikönyv
Előző | Fejezet 28. Elektronikus levelezés | Következő

# 28.7. SMTP és az UUCP

A FreeBSD-hez tartozó sendmail olyan gépek számára lett kialakítva, amelyek közvetlenül az internethez csatlakoznak. Az UUCP használatával levelező rendszerek számára egy másik konfigurációs állományt kell telepíteni a sendmail számára.

Az `/etc/mail/sendmail.cf` állítása kézzel egyáltalán nem könnyű. A sendmail 8. változata ráadásul a konfigurációs állományokat az m4(1) előfeldolgozó segítségével gyártja le, ahol a tényleges beállítások egy magasabb absztrakciós szinten jelennek meg. Az m4(1) típusú konfigurációs állományok a `/usr/share/sendmail/cf` könyvtárban találhatóak. A `cf` alkönyvtárban levő `README` állomány igyekszik a felhasználót bevezetni az m4(1) alapú beállítások világába.

A `mailertable` nevű lehetőség használatával tudjuk a legjobban támogatni az UUCP protokollon keresztüli kézbesítést. Ezzel felépül egy olyan adatbázis, amelyet a sendmail fel tud használni a továbbítást érintő döntésekben.

Ehhez elsőként hozzuk is létre a saját `.mc` állományunkat. Ehhez a `/usr/share/sendmail/cf/cf` könyvtár tartalmaz néhány példát. Hívjuk most ezt az állomnyunkat `ize.mc` néven. A következő módszerrel tudjuk egy valós `sendmail.cf` állománnyá alakítani:

    # cd /etc/mail
    # make ize.cf
    # cp ize.cf /etc/mail/sendmail.cf

Egy átlagos `.mc` állomány egyébként valahogy így épül fel:

    VERSIONID(`verziószám') OSTYPE(bsd4.4)

    FEATURE(accept_unresolvable_domains)
    FEATURE(nocanonify)
    FEATURE(mailertable, `hash -o /etc/mail/mailertable')

    define(`UUCP_RELAY', sajat.uucp.relay)
    define(`UUCP_MAX_SIZE', 200000)
    define(`confDONT_PROBE_INTERFACES')

    MAILER(local)
    MAILER(smtp)
    MAILER(uucp)

    Cw    sajat.al.nev
    Cw    azuucpgepneve.UUCP

Az `accept_unresolvable_domains`, `nocanonify` és `confDONT_PROBE_INTERFACES` lehetőségekre hivatkozó sorok megakadályozzák, hogy a levél kézbesítésében a DNS is szerepet játsszon. Az `UUCP_RELAY` az UUCP alapú kézbesítés támogatását engedélyezi. Egyszerűen csak írjunk ide egy internetes hálózati nevet, amely képes feldolgozni az .UUCP áltartomány címeit. Az esetek többségében ide az internet-szolgáltatónk levelek továbbküldéséért felelős gépe kerül.

Miután ezzel végeztünk, szükségünk lesz még az `/etc/mail/mailertable` állományra is. Ha a külvilág felé csak egyetlen összeköttetést használunk a levelekhez, akkor az alábbi pontosan megfelel:

    #
    # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
    .                             uucp-dom:sajat.uucp.relay

Egy bonyolultabb példa pedig így néz ki:

    #
    # makemap hash /etc/mail/mailertable.db < /etc/mail/mailertable
    #
    horus.interface-business.de   uucp-dom:horus
    .interface-business.de        uucp-dom:if-bus
    interface-business.de         uucp-dom:if-bus
    .heep.sax.de                  smtp8:%1
    horus.UUCP                    uucp-dom:horus
    if-bus.UUCP                   uucp-dom:if-bus
    .                             uucp-dom:

Az első három sor azokat a speciális eseteket kezeli, ahol a tartomány felé küldött levelek nem az alapértelmezett úton visszük tovább, hanem valamelyik UUCP szomszéd felé és így “le tudjuk rövidíteni” a kézbesítés útvonalát. Az ezeket követő sor dolgozza fel a helyi Ethernet tartomány felé STMP protokollal továbbítható leveleket. Végül az UUCP szomszédokat is felsoroljuk az .UUCP áltartomány jelölése szerint, így megengedjük, hogy a ``uucp-szomszéd`! `címzett`` felülbírálja az alapértelmezett szabályokat. Az utolsó sorban mindig egyetlen pont szerepel, ami minden másra illeszkedik, így az UUCP kézbesítés egy olyan UUCP szomszéd felé halad, amely a világ felé egy univerzális levelező átjárónak tekinthető. A `uucp-dom:` kulcsszó mögött szereplő összes csomópont nevének érvényes UUCP szomszédra kell utalnia, amelyet a `uuname` paranccsal le is tudunk ellenőrizni.

A feladatból már csak annyi maradt hátra, hogy használat előtt ezt az állományt át kell alakítani DBM adatbázis formátumba. Az ehhez szükséges parancsot érdemes `mailertable` állomány elejére bejegyzésben felírni. A `mailertable` megváltoztatásakor mindig le kell futtatni ezt a parancsot.

Utolsó jótanács: ha nem lennénk biztosak valamelyik kézbesítési útvonal működésében, ne felejtsük el a sendmail `-bt` beállítását. Ezzel a sendmail az ún. címtesztelő módban (address test mode) indul el. Gépeljük be, hogy `3,0`, majd írjuk be a tesztelni kívánt címet. Az utolsó sorban láthatjuk a felhasznált belső levéltovábbító ügynököt, a célgépet, amellyel ezt meghívjuk, és a (valószínűleg az átfordított) címet. Innen a Ctrl+D billentyűkombinációval léphetünk ki.

    % sendmail -bt
    ADDRESS TEST MODE (ruleset 3 NOT automatically invoked)
    Enter <ruleset> <address>
    > 3,0 ize@pelda.com
    canonify           input: ize @ pelda . com
    ...
    parse            returns: $# uucp-dom $@ sajat.uucp.relay $: ize < @ pelda . com . >
    > ^D

Előző | Tartalom | Következő
Komolyabb témák | Fel | Csak küldés beállítása

Ha kérdése van a FreeBSD-vel kapcsolatban, a következő címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon: <gabor@FreeBSD.org>.