Стоит у меня postfix, и есть локалка с адресами 192.168.15.0/24, когда я отсилаю письмо с одного из таких адресов то в логах пишет такое:
Nov 29 09:27:01 server postfix/smtpd[30460]: connect from unknown[192.168.15.8]
но ДНС работает и видает :
server:/etc/postfix # nslookup 192.168.15.8
Server: 127.0.0.1
Address: 127.0.0.1#53
8.15.168.192.in-addr.arpa name = linux.my.domain.
server3:/etc/postfix # nslookup linux.my.domain
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: linux.my.domain
Address: 192.168.15.8Почему постфикс видает что 192.168.15.8 "unknown" ????
Возможно postfix работает в chroot.
>Возможно postfix работает в chroot.Нет postfix не работает в chroot-е ....
Проблем с ДНС с другими сервисами не наблюдаетса ...
Покажите master.cf
>Покажите master.cf
хы а скажите что будет если скажите просто nslookup
Вы о чем, уважаемый?
master.cf:
smtp inet n - n - 50 smtpd -o content_filter=smtp-amavis:[127.0.0.1]:10024
pickup fifo n - n 60 1 pickup
cleanup unix n - n - 0 cleanup
qmgr fifo n - n 300 1 qmgr
rewrite unix - - n - - trivial-rewrite
bounce unix - - n - 0 bounce
defer unix - - n - 0 bounce
trace unix - - n - 0 bounce
verify unix - - n - 1 verify
flush unix n - n 1000? 0 flush
proxymap unix - - n - - proxymap
smtp unix - - n - - smtp
relay unix - - n - - smtp
showq unix n - n - - showq
error unix - - n - - error
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - n - - lmtp
anvil unix - - n - 1 anvil
maildrop unix - n n - - pipe
flags=DRhu user=daemon argv=/usr/local/maildrop/bin/maildrop -d ${recipient}
cyrus unix - n n - - pipe
user=cyrus argv=/usr/lib/cyrus/bin/deliver -e -r ${sender} -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=foo argv=/usr/local/sbin/bsmtp -f $sender $nexthop $recipient
procmail unix - n n - - pipe
flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc ${sender} ${recipient}
spam unix - n n - - pipe
flags=R user=spam argv=/usr/bin/spamc -u spam -e /usr/sbin/sendmail -f ${sender} ${recipient}
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=spam
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o mynetworks=127.0.0.0/8
-o strict_rfc821_envelopes=yes
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks
а про nslokkup я не понял, если ви какой сервер то ето та же машина и сервер 127.0.0.1
Покажите
/etc/nsswitch.conf
/etc/resolv.conf
/etc/hosts
>Покажите
>/etc/nsswitch.conf
# cat /etc/nsswitch.conf |grep -v ^\#
passwd: compat
group: compat
hosts: dns files lwres
networks: dns files
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files
bootparams: files
automount: files nis
aliases: files>/etc/resolv.conf
cat /etc/resolv.conf
search my.domain
nameserver 127.0.0.1
nameserver 192.168.15.11
nameserver 213.130.17.129>/etc/hosts
127.0.0.1 localhost
::1 localhost ipv6-localhost ipv6-loopback
fe00::0 ipv6-localnet
ff00::0 ipv6-mcastprefix
ff02::1 ipv6-allnodes
ff02::2 ipv6-allrouters
ff02::3 ipv6-allhosts
192.168.15.112 server.my.domain
192.168.10.1 server.my.domain
192.168.15.114 server.my.domain server
192.168.15.112 server.my.domain
Попробуйте дать пользователю, под которым работает smtpd шелл и дайте команду dig 192.168.15.8 через sudo для этого пользователя.
Проверьте права на каталог
/lib
и файлы
/lib/libnss_dns*.so
/lib/libresolv*.so
Можно шелл не давать, а просто из под root-а
sudo -u postfix dig -x 192.168.15.8
Ну что вы человеку непонятно чего советуйте.
Надо в настройке dns-сервера строчкой MX указать адрес постфикса.
>>sudo -u postfix dig -x 192.168.15.8
все нормально работает, видает назву хоста ...>Ну что вы человеку непонятно чего советуйте.
>Надо в настройке dns-сервера строчкой MX указать адрес постфикса.а при чем здесь МХ..... в ДНС уже есть строчки МХ на реальные адреса... и когда идет коннект с интерната то все нормально работает, нет проблем с ДНС, пишет: connect from relay.kiev.sovam.com[212.109.32.5] ..
но когда конект с IP 192.168.15.8 (или другого внутр. ) то тогда возникает:
... postfix/smtpd[13985]: warning: smtpd_peer_init: 192.168.15.8: hostname linux.my.domаin verification failed: Name or service not known
.... postfix/smtpd[13882]: connect from unknown[192.168.15.8]
>... postfix/smtpd[13985]: warning: smtpd_peer_init: 192.168.15.8: hostname linux.my.domаin verification failed: Name or service
>not known
> .... postfix/smtpd[13882]: connect from unknown[192.168.15.8]
Покажите postconf -n
>Ну что вы человеку непонятно чего советуйте.
>Надо в настройке dns-сервера строчкой MX указать адрес постфикса.
Вы хотя бы внимательно читайте тред.
alias_maps = hash:/etc/aliases
biff = no
bounce_queue_lifetime = 5d
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/lib/postfix
debug_peer_level = 9
defer_transports =
delay_warning_time = 0h
disable_vrfy_command = yes
html_directory = /usr/share/doc/packages/postfix/html
inet_interfaces = all
local_recipient_maps = $virtual_mailbox_maps
mail_owner = postfix
mail_spool_directory = /var/mail
mailbox_command = /usr/bin/procmail
mailq_path = /usr/bin/mailq
manpage_directory = /usr/share/man
maps_rbl_domains = relays.ordb.org, blackholes.mail-abuse.org
masquerade_classes = envelope_sender, header_sender, header_recipient
masquerade_domains = my.domain
maximal_queue_lifetime = 5d
mydestination = my.domain
mydomain = my.domain
myhostname = server.my.domain
mynetworks = $config_directory/mynetworks
myorigin = my.domain
newaliases_path = /usr/bin/newaliases
notify_classes = resource, software
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/packages/postfix/README_FILES
relayhost =
sample_directory = /usr/share/doc/packages/postfix/samples
sendmail_path = /usr/sbin/sendmail
setgid_group = maildrop
smtp_sasl_auth_enable = no
smtp_use_tls = no
smtpd_banner = $myhostname ESMTP EXIM
smtpd_delay_reject = yes
smtpd_recipient_restrictions = permit_mynetworks,reject_unknown_recipient_domain,reject_rbl_client list.dsbl.org, reject_rbl_
client relays.ordb.org, reject_rbl_client dynablock.wirehub.net,reject_rbl_client blackholes.wirehub.net,reject_unauth_destin
ation
smtpd_reject_unlisted_recipient = yes
smtpd_reject_unlisted_sender = yes
smtpd_sasl_auth_enable = no
smtpd_sender_restrictions = permit_mynetworks,check_sender_access
hash:/etc/postfix/sender_access, reject_non_fqdn_sender,reject_unknown_sender_domain,permit
smtpd_use_tls = no
strict_rfc821_envelopes = no
transport_maps = hash:/etc/postfix/transport
unknown_local_recipient_reject_code = 550
virtual_alias_maps = mysql:/etc/postfix/sql/alias
virtual_gid_maps = static:2
virtual_mailbox_base = /var/mail/virtual
virtual_mailbox_maps = mysql:/etc/postfix/sql/users
virtual_uid_maps = static:2
Имена локальных хостов в обратной зоне (PTR) и прямой (A) совпадают?
>Имена локальных хостов в обратной зоне (PTR) и прямой (A) совпадают?# nslookup 192.168.15.8
Server: 127.0.0.1
Address: 127.0.0.1#538.15.168.192.in-addr.arpa name = linux.my.domain.
# nslookup linux.my.domain
Server: 127.0.0.1
Address: 127.0.0.1#53Name: linux..my.domain
Address: 192.168.15.8судя по етому совпадают ....
только сдесь "my.domain" ето мой видуманий внутренней домен
Поднял у себя локально bind, прописал 127.0.0.1 в resolv.conf, зоны прямая и обратная... Все как у Вас и все работает. Сори, но мысли кончились.
>>/etc/resolv.conf
>cat /etc/resolv.conf
>search my.domain
>nameserver 127.0.0.1
>nameserver 192.168.15.11
>nameserver 213.130.17.129добавьте перед или сразу после search my.domain строчку
domain my.domain
И проверьте результат.
domain Local domain name. Most queries for names within this domain
can use short names relative to the local domain. If no
domain entry is present, the domain is determined from the
local host name returned by gethostname(3); the domain part
is taken to be everything after the first `.'. Finally, if
the host name does not contain a domain part, the root domain
is assumed.
search и domain нельзя применять вместеman resolv.conf
...
domain Local domain name. You can use this instead of the search option to specify a sin-
gle domain to check if a hostname isn't specified. Most people just use search
instead (that option lets you use multiple servers, domain doesn't). You can't use
domain and search at the same time - they're mutually exclusive.
...
>search и domain нельзя применять вместе
странно, а под какую это ось? Дистриб, ализ, а то у себя что-то тех фраз, что вы привели вычитать немогуdomain Local domain name. Most queries for names within this domain
can use short names relative to the local domain. If no
domain entry is present, the domain is determined from the
local host name returned by gethostname(3); the domain part
is taken to be everything after the first `.'. Finally, if
the host name does not contain a domain part, the root domain
is assumed.search Search list for host-name lookup. The search list is nor-
mally determined from the local domain name; by default, it
contains only the local domain name. This may be changed by
listing the desired domain search path following the search
keyword with spaces or tabs separating the names. Most
resolver queries will be attempted using each component of
the search path in turn until a match is found. Note that
this process may be slow and will generate a lot of network
traffic if the servers for the listed domains are not local,
and that queries will time out if no server is available for
one of the domains.The search list is currently limited to six domains with a
total of 256 characters.
> warning: 127.0.0.1: hostname localhost verification failed: Name or service not known
> connect from unknown[127.0.0.1]Если в логах Postfix видишь эти строчки - значит не разрешается DNS имя localhost или обратная ссылка 1.0.0.127.in-addr.arpa.
Если используешь DNS-сервер BIND (на юникс) - правильно заведи на нем локальные зоны.
Если используешь Microsoft DNS - заведи в на нем запись для localhost и 127.0.0.1.
И все заработает - в логах будут сообщения вида> connect from localhost[127.0.0.1]
> client=localhost[127.0.0.1]
> disconnect from localhost[127.0.0.1]