transparent a virus... Dodał: grzywka18 Dnia: 2008-05-13 11:19:58 hmm Dodał: dzibi Dnia: 2007-12-12 10:01:14 Bez tytułu Dodał: grzywka18 Dnia: 2007-12-11 17:46:06 Bez tytułu Dodał: termid Dnia: 2007-05-09 18:01:11 Bez tytułu Dodał: sarelo33 Dnia: 2006-12-30 23:50:14 Jest ok ale.. Dodał: theviant Dnia: 2006-11-16 08:10:05
Google
Newsletter
Zapisz się na nasz newsletter, jeżeli chcesz być na bieżąco informowany o aktualnościach..
Postfix - ''Krok po kroku'' - 1a. Instalacja i podstawowa konfiguracja
piątek, 08 kwietnia 2005 -
Napisał: Artur Zdoliński (26193 odsłon)
W tym rozdziale przedstawione zostaną metody zarządzania i posługiwania
Postfixem oraz przydatne opcje które mogą ułatwić życie. O czym należy pamiętać
przy modyfikacjach plików konfiguracyjnych naszego MTA? Otóż, po każdej
wprowadzonej zmianie musimy restartować nasz serwer poczty, używając do tego
komendy opisanej już wyżej:
# /usr/local/etc/rc.d/postfix.sh reload
Z kolei w celu zaktualizowania lub utworzenia bazy danych posłużymy się
narzędziem `postmap`, dla przykładu - po dokonaniu zmian w pliku, który zawiera
wpisy dla wirtualnych domen dla naszego serwera, wydajemy polecenie:
# postmap /etc/postfix/virtual
a. Aliasy i mapowania
Czym jest alias? Jest to po prostu dodatkowa nazwa dla twojej skrzynki
pocztowej. Czyli mówiąc krócej, możesz posiadać 2 lub więcej różne adresy e-mail,
a mimo to, pocztę odbierzesz z jednego konta.
Weźmy taki przykład: Ostatnio coraz bardziej popularne stały się adresy typu:
`
`, więc chcemy aby poczta wysłana właśnie na taki adres
trafiała na konto `tomek` istniejące juz na naszym serwerze. Plik odpowiedzialny
za listę aliasów jest zdefiniowany w zmiennych `alias_maps` i `alias_database`.
Powracając do naszego przykładu, w pliku o nazwie `aliases` (którego nazwę i
ścieżkę zdefiniowaliśmy w opisanych zmiennych w pliku `main.cf`), dodajemy nowy
alias.
Wpisów dokonujemy w następujący sposób - (najpierw wpisujemy nazwę aliasa,
następnie piszemy dwukropek, oddzielamy spacją lub tabulatorem i wpisujemy nazwę
użytkownika, którego konto znajduje się już w naszym systemie).
Oto przykład - edytujemy wymieniony przeze mnie plik i wstawiamy do niego
poniższe linijki:
Analogicznie rozważając powyższy przykład możemy się domyślić, że poczta
wysłana na adres `
` trafi na konta utworzone już w
systemie, tj. konto `root` oraz konto `tomek`. W celu zaktualizowania bazy
aliasów wydajemy poniższe polecenie i restartujemy nasz serwer MTA. Po wpisaniu
tych poleceń sprawdzamy, czy wszystko działa. Wysyłamy wiadomości na konta,
które są aliasami. Jeśli otrzymamy pocztę, znaczy to, że wszystko działa:
Jedną z możliwości Postfix'a jest zmiana nazwy użytkownika i nazwy domeny dla
poczty wychodzącej. Przydaje się to np. wtedy, gdy chcemy mieć podczas wysyłania
poczty adres e-mail zamiast `
` , przykładowo adres `
`.
Krótko mówiąc działa to podobnie jak w przypadku aliasów, lecz w odwrotną
stronę. W tym celu edycji poddajemy plik `canonical`, który powinien znajdować
się w katalogu z wszystkimi innymi plikami konfiguracyjnymi Postifx'a, jeśli go
tam nie ma, możesz utworzyć ten plik. Wpisów dokonujemy w następujący sposób -
(najpierw wpisujemy nazwę użytkownika, następnie oddzielamy spacją lub
tabulatorem i wpisujemy zmienioną nazwę, która będzie wyświetlana przed tzw.
małpą `@` w naszym adresie e-mail.
# ee /usr/local/etc/postfix/canonical
--- canonical ---
tomek tomek.stala
--- end canonical ---
Na koniec edytujemy jeszcze plik `main.cf`, w którym definiujemy ścieżkę do
pliku `canonical` dodając do niego poniższą linię:
Wirtualne domeny, inaczej nazywane też wirtualnymi kontami są to po prostu
nowe nazwy domen dla naszych skrzynek pocztowych. Postfix umożliwia korzystanie
z wirtualnych domen na dwa sposoby. Pierwszym z tych sposobów jest styl przyjęty
z sendmaila, który różni się od stylu przyjętego w Postfix'ie tym, że
przykładowo:
- Domeną podstawową dla naszego serwera jest `domena.pl`, gdy zostanie utworzona
nowa wirtualna domena np. `domena2.pl`, to użytkownicy, którzy posiadają konto
na naszym serwerze (np. `
`) automatycznie dostają nowy adres
e-mail, w postaci (np. `
`),a poczta wysłana na drugi adres,
zostanie przekierowana na adres pierwszy.
Rozdział ten podzieliłem na dwa podrozdziały, w których opiszę dodanie konta
wirtualnego za pomocą tych dwóch stylów. W obydwu przypadkach niezbędne jest
dodanie zmiennej do pliku `main.cf`, która będzie definiowała ścieżkę do pliku,
w którym będziemy dopisywać nowe wirtualne konta/domeny. Edytujmy więc ten plik
i dodajmy do niego poniższą linijkę:
# ee /etc/postfix/main.cf
--- main.cf ---
virtual_maps = hash:/etc/postfix/virtual
--- end main.cf ---
Wirtualne domeny w stylu Postfix’a
Zacznijmy od opisania drugiego ze stylów, czyli tego jak w temacie. Dodanie
wirtualnej domeny jest bardzo proste, mianowicie wystarczy tylko zainteresować
się plikiem `virutal`, w którym będziemy dokonywać zmian. Dla przykładu naszą
domeną wirtualną, którą chcemy utworzyć będzie `domena2.pl`. Edytujemy teraz
plik odpowiedzialny za nasze wirtualne domeny i konta i wpisujemy do niego
poniższą linijkę.
UWAGA!!! W pliku `main.cf` nic innego nie dopisujemy. Jeśli jednak w tym pliku w
zmiennej `$mydestination` wpisaliśmy nazwę domeny, którą chcemy utworzyć jako
wirtualną w stylu Postfix'a, edytujemy go i kasujemy wpis dotyczący właśnie tej
domenie. Jeżeli tego nie zrobisz, będzie to równoznaczne z tym, że chcesz
utworzyć domenę wirtualną w stylu sendmaila (o tym poniżej):
--- virtual ---
domena2.pl druga_domena
tomek
tomek
root
--- end virtual ---
Teraz wyjaśnienie. Jak nie trudno się domyślić pierwsza w pierwszej linijce
definiujemy nazwę domeny, która będzie domeną wirtualną, a wyraz `druga_domena`
jest to dowolny opis, który możemy przyporządkować naszej domenie. Może tutaj
znajdować się dowolny ciąg znaków. Linie kolejne to już definiowanie
użytkowników/kont wirtualnych. Sposób w jaki dodajemy nowego wirtualnego
użytkownika, jest bardzo prosty. Otóż, najpierw podajemy jego nazwę i po znaku
`@` nazwę naszej zdefiniowanej wcześniej domeny. Następnie po oddzieleniu spacją
lub tabulatorem wpisujemy nazwę użytkownika, który istnieje już w systemie. Dla
bliższego wyjaśnienia podam, że konto `
` jest kontem wirtualnym
utworzonym w stylu Postfix'a, dzięki czemu poczta wysłana właśnie na ten adres
nie będzie przychodzić na adres naszej podstawowej domeny (np.
).
Wirtualne domeny w stylu Sendmail'a
Jak już wspomniałem wcześniej, w tym przypadku interesujemy się dwoma
plikami. Pierwszy z nich to oczywiście plik o nazwie `virtual`, a drugi to plik
konfiguracyjny naszego MTA - `main.cf`. W tym drugim odnajdujemy zmienną `$mydestination`,
w której dopisujemy po przecinku nazwy domen wirtualnych, na które będzie
akceptowana poczta przychodząca. Zmienna ta może przedstawiać się następująco:
Gdy dokonamy stosownych zmian w pliku `main.cf`, możemy przejść do edycji
drugiego, czyli pliku `virtual`, odpowiedzialnego za nazwy wirtualnych
kont/użytkowników. Jego zawartość w przypadku wirtualnych domen w stylu
sendmaila, powinna przedstawiać się następująco:
--- virtual ---
tomek
tomek
root
--- end virtual ---
Nie będę wyjaśniał skąd to się wzięło, ponieważ zrobiłem już to w poprzednim
podrozdziale. Dodam jedynie, że zniknęła linia, która w przypadku drugiego ze
styli definiowała nazwę domeny. Rezygnujemy z niej, ponieważ nazwę domeny
zdefiniowaliśmy w innym pliku - `main.cf`.
c. FetchMail
FetchMail jest w pełni współpracującym klientem IMAP / POP2 / POP3 / APOP /
KPOP / ETRN / ODMR. Posiada łatwą konfigurację, może pracować w funkcji deomna i
przekierowywać pocztę z jednego serwera na innego MDA. Typowym zastosowaniem dla
fetchmail jest łączenie z innym serwerem poczty, a następnie ściąganie poczty na
lokalny serwer gdzie możemy przeczytać ją dowolnym klientem. Dzięki jego
zastosowaniu, jeżeli posiadamy np. 5 skrzynek – możemy automatycznie pobierać
pocztę z tych skrzynek i ściągać ją na nasz lokalny serwer.
Instalujemy FetchMail z portów:
# cd /usr/ports/mail/fetchmail
# make install clean
Po zainstalowaniu możemy stworzyć w katalogu domowym plik ~/.fetchmailrc
który będzie zawierał ustawienia skrzynek dla naszego konta.
Przykładowy plik:
--- .fetchmailrc ---
poll poczta.o2.pl with proto pop3 user <nazwa> pass <hasło>
poll smtp.poczta.onet.pl with proto pop3 user <nazwa> pass <hasło>
--- end .fetchmailrc ---
Następnie dodajemy wpis do naszego prywatnego crontaba tak aby polecenie
sprawdzania odbywało się cyklicznie, np. co 5 minut.
Taki wpis spowoduje:
- K – usunięcie ze zdalnego konta widomości i pobranie jej na nasz serwer
- s – uruchomienie fetchmail w trybie sileni
- D – określa nazwę domeny która będzie podawana w RCPT TO
Oczywiście to są tylko podstawowe ustawienia.
Można podać następujące opcje:
-?, --help wyświetla ten opis opcji
-V, --version wyświetla informacje o wersji
-c, --check sprawdza czy są nowe listy bez ich pobierania
-s, --silent wyłącza komunikaty
-v, --verbose włącza wyświetlanie szczegółowych komunikatów
-d, --daemon włącza uruchamianie w trybie demona co n sekund
-N, --nodetach wyłącza pracę w tle w trybie demona
-q, --quit kończy pracę demona
-L, --logfile podaje nazwę pliku kroniki
--syslog włącza wyświetlanie większości komunikatów przez syslog(3)
--invisible włącza udawanie hosta i nie dodaje nagłówków Received
-f, --fetchmailrc określa alternatywny plik konfiguracyjny
-i, --idfile określa alternatywny plik z UIDami
--postmaster adres na który będą wysyłane błędne listy
--nobounce redirect bounces from user to postmaster.
-I, --interface wymagana nazwa interfejsu
-M, --monitor monitoruje dany interfejs czekając na ruch
--ssl enable ssl encrypted session
--sslkey ssl private key file
--sslcert ssl client certificate
--sslproto force ssl protocol (ssl2/ssl3/tls1)
--plugin ścieżka do zewnętrznego polecenia otwierającego połączenie
--plugout ścieżka do zewnętrznego polecenia zamykającego połączenie
-p, --protocol określa protokół którym będą pobierane listy (patrz manual)
-U, --uidl wymusza używanie UIDL (tylko POP3)
-P, --port określa port TCP/IP na który należy się łączyć
--auth authentication type (password/kerberos/ssh/otp)
-t, --timeout limit czasu oczekiwania na odpowiedź serwera
-E, --envelope określa nazwę nagłówka zawierającego adres z koperty
-Q, --qvirtual przedrostek, który będzie usuwany z nazwy użytkownika
--principal mail service principal
--tracepolls add poll-tracing information to Received header
-u, --username określa login użytkownika na serwerze
-a, --all pobiera wszystkie listy, stare i nowe
-K, --nokeep kasuje nowe listy po pobraniu
-k, --keep po pobraniu pozostawia nowe listy na serwerze
-F, --flush kasuje stare listy z serwera
-n, --norewrite nie przepisuje adresów w nagłówkach
-l, --limit nie pobiera listów większych niż podany rozmiar
-w, --warnings czas między powiadomieniami o poczcie
-S, --smtphost określa nazwę hosta SMTP przesyłającego nasze listy
--fetchdomains fetch mail for specified domains
-D, --smtpaddress określa nazwę domeny SMTP używaną przy doręczaniu poczty
--smtpname set SMTP full name username@domain
-Z, --antispam określa odpowiedzi blokad antyspamowych
-b, --batchlimit określa limit listów wysłanych w jednym połączeniu SMTP
-B, --fetchlimit określa limit listów pobieranych w jednym połączaniu
--fetchsizelimit set fetch message size limit
--fastuidl do a binary search for UIDLs
-e, --expunge liczba skasowanych listów między czyszczeniem skrzynki
-m --mda set MDA to use for forwarding
--bsmtp określa nazwę wynikowego pliku BSMTP
--lmtp używa LMTP (RFC2033) do doręczania poczty
-r, --folder określa nazwę skrzynki na serwerze
--showdots show progress dots even in logfiles