FreeBSD гарын авлага
Өмнөх | Бүлэг 29. Цахим Шуудан | Дараах

# 29.5. Гэмтэл саатлыг арилгах нь

29.5.1. Яагаад би өөрийн сүлжээнд байгаа хостуудын хувьд FQDN-г хэрэглэх ёстой вэ?
29.5.2. sendmail “`захидал өөр дээр минь тойроод ирж байна`” гээд байна
29.5.3. Утсаар залгаж холбогддог PPP хост дээр захидлын серверийг хэрхэн ажиллуулах вэ?
29.5.4. Бусад хостоос захидал явуулахад яагаад “`Relaying Denied`” гэсэн алдаа байнга гараад байна вэ?

29.5.1. Яагаад би өөрийн сүлжээнд байгаа хостуудын хувьд FQDN-г хэрэглэх ёстой вэ?

Үнэндээ тухайн хост өөр домэйнд байгаа болохыг та анзаарах байх; жишээ нь, хэрэв та өөрөө `foo.bar.edu` домэйнд байгаа бөгөөд `bar.edu` домэйнд байгаа `mumble` хост руу хандах хүсэлтэй бол түүнийг зүгээр `mumble` гэхийн оронд `mumble.bar.edu` гэсэн fully-qualified domain name буюу бүрэн-баталгаажсан домэйн нэрээр нь заах хэрэгтэй.

Урьд нь, BSD BIND тайлагчийн хувьд дээрх шиг хэрэглэж болдог байсан. Гэвч FreeBSD-тэй хамт ирдэг BIND-н одоогийн хувилбар дээр өөрийн оршин байгаа домэйноос бусад бүрэн баталгаажаагүй домэйн нэрийн хувьд анхдагч товчилсон нэрүүдийг хэрэглэж болохгүй болсон. Тиймээс баталгаажаагүй `mumble` гэсэн хостыг эсвэл `mumble.foo.bar.edu` гэж ойлгоно, эсвэл эх домэйнд хайх болно.

Хайлт цааш `mumble.bar.edu`, ба `mumble.edu` болж үргэлжлэх бөгөөд энэ нь санаснаас шал өөр зүйл болон хувирна. Үүнийг яагаад буруу үйлдэл, бүр аюулгүй байдлын цоорхой гэж тооцох болсныг RFC 1535-с олж үзээрэй.

Дээрх байдлаас гарахын тулд, өөрийн `/etc/resolv.conf` файл дотор:

    search foo.bar.edu bar.edu

гэсэн мөрийг:

    domain foo.bar.edu

мөрийн оронд бичих хэрэгтэй. Гэхдээ, хайлт хийх дэс дараалал нь RFC 1535-д заасны дагуу “дотоод болон гадаад удирдлагын хязгаар”ыг давах ёсгүйг анхаараарай.

29.5.2. sendmail “`захидал өөр дээр минь тойроод ирж байна`” гээд байна

Энэ асуултанд sendmail-н FAQ дараах байдалтай хариулсан байгаа:

    I'm getting these error messages:

    553 MX list for domain.net points back to relay.domain.net
    554 <user@domain.net>... Local configuration error

    How can I solve this problem?

    You have asked mail to the domain (e.g., domain.net) to be
    forwarded to a specific host (in this case, relay.domain.net)
    by using an MX record, but the relay machine does not recognize
    itself as domain.net. Add domain.net to /etc/mail/local-host-names
    [known as /etc/sendmail.cw prior to version 8.10]
    (if you are using FEATURE(use_cw_file)) or add “Cw domain.net”
    to /etc/mail/sendmail.cf.

sendmail-н FAQ-г http://www.sendmail.org/faq/ хаягаар орж үзэж болох ба хэрэв та захидлын серверийнхээ тохиргоогоор нилээд “оролдох” бол эхлээд үүнийг уншихыг зөвлөж байна.

29.5.3. Утсаар залгаж холбогддог PPP хост дээр захидлын серверийг хэрхэн ажиллуулах вэ?

Та LAN-д байгаа FreeBSD машиныг Интернэтэд холбох хүсэлтэй байна. Энэ FreeBSD машин тухайн LAN-ий хувьд захидлын гарц байх болно. PPP холболт бол тусгайлан бий болгосон зориулагдсан холболт биш юм.

Үүний тулд хоёр арга байна. Нэг арга нь UUCP ашиглах юм.

Нөгөө арга нь таны домэйны хувьд хоёрдогч MX үйлчилгээг үзүүлэх байнгын холболттой Интернэт сервертэй болох явдал юм. Жишээлбэл, хэрэв танай байгууллагын домэйн нэр `example.com` бөгөөд танай Интернэтийн үйлчилгээ үзүүлэгч танай домэйны хувьд хоёрдогч MX үйлчилгээг үзүүлэхээр `example.net` домэйныг дараах байдалтай тохируулжээ:

    example.com.          MX        10      example.com.
                          MX        20      example.net.

Зөвхөн ганц хост эцсийн захидал хүлээн авагч байх ёстой (`example.com` хостын `/etc/mail/sendmail.cf` файлд `Cw example.com`-г нэмнэ).

Захиа явуулах гэж байгаа `sendmail` захидлыг явуулахаар оролдох үед эхлээд модем холбоосоор тантай (`example.com`) холбогдохыг оролдоно. Та Интернэтэд холбогдоогүй байгаа учраас ихэнх тохиолдолд тантай холбогдож чадахгүй. Энэ тохиолдолд, sendmail автоматаар хоёрдогч MX сервер рүү, өөрөөр хэлбэл танай Интернэтийн үйлчилгээ үзүүлэгчид (`example.net`) илгээх болно. Хоёрдогч MX сервер танай сервертэй холбогдохыг тогтмол оролдох ба ийм замаар анхдагч MX хост руу (`example.com`) захидлыг хүргэх болно.

Та дор үзүүлсэнтэй төстэй нэвтрэх скриптийг хэрэглэхийг хүсэж болзошгүй:

    #!/bin/sh
    # Put me in /usr/local/bin/pppmyisp
    ( sleep 60 ; /usr/sbin/sendmail -q ) &
    /usr/sbin/ppp -direct pppmyisp

Хэрэв та хэрэглэгчийн хувьд тусдаа нэвтрэх скрипт үүсгэх гэж байгаа бол дээрх скрипт дээр байгаагийн оронд `sendmail -qRexample.com`-г хэрэглэж болох юм. Энэ нь таны захидлын дараалалд байгаа `example.com`-д очих бүх захидлыг тэр дор нь боловсруулахыг шаардана.

Байдлыг хэрхэн цааш сайжруулахыг дор үзнэ үү:

FreeBSD Интернетийн үйлчилгээ үзүүлэгчийн захидлын жагсаалт-с хулгайлсан зурвас.

    > we provide the secondary MX for a customer. The customer connects to
    > our services several times a day automatically to get the mails to
    > his primary MX (We do not call his site when a mail for his domains
    > arrived). Our sendmail sends the mailqueue every 30 minutes. At the
    > moment he has to stay 30 minutes online to be sure that all mail is
    > gone to the primary MX.
    >
    > Is there a command that would initiate sendmail to send all the mails
    > now? The user has not root-privileges on our machine of course.

    In the “privacy flags” section of sendmail.cf, there is a
    definition Opgoaway,restrictqrun

    Remove restrictqrun to allow non-root users to start the queue processing.
    You might also like to rearrange the MXs. We are the 1st MX for our
    customers like this, and we have defined:

    # If we are the best MX for a host, try directly instead of generating
    # local config error.
    OwTrue

    That way a remote site will deliver straight to you, without trying
    the customer connection.  You then send to your customer.  Only works for
    “hosts”, so you need to get your customer to name their mail
    machine “customer.com” as well as
    “hostname.customer.com” in the DNS.  Just put an A record in
    the DNS for “customer.com”.

29.5.4. Бусад хостоос захидал явуулахад яагаад “`Relaying Denied`” гэсэн алдаа байнга гараад байна вэ?

FreeBSD-н анхдагч суулгацад sendmail-г зөвхөн ажиллаж байгаа хостоосоо захидал илгээдэг байхаар тохируулсан байдаг. Жишээ нь, хэрэв нэг POP сервер байгаа бол, хэрэглэгчид сургууль, ажил, эсвэл бусад алсын байршлаас захидлаа шалгах боломжтой байх болно. Гэвч гаднаас захидал илгээж чадахгүй хэвээр байх болно. Ихэвчлэн, оролдого хийснээс хэдэн хормын дараа, MAILER-DAEMON “`5.7 Relaying Denied`” гэсэн алдааны мэдээлэлтэй захидлыг илгээх болно.

Энэ байдлаас гарах хэд хэдэн зам байна. Хамгийн энгийн арга бол өөрийн ISP-н хаягийг `/etc/mail/relay-domains`-д байгаа өртөөлөх (дамжуулах) домэйнуудын файлд бичих хэрэгтэй. Үүнийг хийх амархан аргыг үзүүлэв:

    # echo "your.isp.example.com" > /etc/mail/relay-domains

Энэ файлыг үүсгэсэн эсвэл зассаны дараа, sendmail-г дахин эхлүүлэх хэрэгтэй. Хэрэв та сервер хариуцагч байгаад, захидлыг дотооддоо явуулах хүсэлгүй, эсвэл өөр машин дээрээс эсвэл бүр өөр ISP-с хулганы товч дараад л хийчих хялбар систем ашиглах хүсэлтэй байгаа бол энэ арга яг тохирно. Энэ арга ганцхан эсвэл хоёрхон захидлын бүртгэл үүсгэсэн тохиолдолд мөн тус болно. Хэрэв дээрх файлд олон тооны хаяг нэмэх шаардлагатай бол, зүгээр өөрийн дуртай засварлагч програмаар нээгээд домэйнуудаа мөр болгонд нэг байхаар нэмж бичих хэрэгтэй:

    your.isp.example.com
    other.isp.example.net
    users-isp.example.org
    www.example.org

Одоо, энэ жагсаалтад (хэрэглэгч таны систем дээр бүртгэлтэй гэсэн нөхцөлтэйгөөр) байгаа ямар ч хостоос, таны системээр дамжуулан явуулсан захидал амжилттай явах болно. Энэ бол хэрэглэгчиддээ таны системээр дамжуулан SPAM явуулах боломжийг олголгүйгээр, таны системээс алсаас захидал илгээх боломжийг олгох үнэхээр сайн арга юм.

Өмнөх | Эхлэл | Дараах
Өөрийн Захидал Дамжуулах Агентийг Солих нь | Дээш | Дээд түвшний сэдвүүд

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.