URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 28406
[ Назад ]

Исходное сообщение
"Linux, почта-smtp"

Отправлено zabudkin , 03-Апр-03 09:32 
Имеется внутренняя сеть (192.168.0.*) и сеть провайдера (10.10.*.*),
у компьютера, через который другие компьютеры внутренней сети выходят в инет провайдера адрес 192.168.0.200. Всё это дело через PPPoE.
eth1 - внутренняя сеть
eth0 - внешняя сеть, но вместо неё используется ppp0.
Всё прекрасно работает, кроме DNS и отправки почты. В настройках компов я указываю DNS провайдера (212.11.82.17).
Используем The Bat:
SEND  - Письмо не отправлено. Сервер сообщает: 5.7.1 <zabudkin@yandex.ru>... Relaying denied. IP name lookup failed [10.10.40.11]
Используем Outlook Express:
<zabudkin@yandex.ru>... Relaying denied. IP name possibly forged [212.111.82.227]

Мои настройки Iptables такие:
-------------------------------------------------------------------------
INET_IFACE="ppp0"
DHCP="no"
DHCP_SERVER="212.11.82.17"
PPPOE_PMTU="no"
LAN_IP="192.168.0.200"
LAN_IP_RANGE="192.168.0.0/16"
LAN_BROADCAST_ADDRESS="192.168.255.255"
LAN_IFACE="eth1"
LO_IFACE="lo"
LO_IP="127.0.0.1"
IPTABLES="/sbin/iptables"
/sbin/depmod -a
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_MASQUERADE
/sbin/modprobe ipt_owner
/sbin/modprobe ipt_REJECT
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_conntrack_irc
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_nat_irc

echo "1" > /proc/sys/net/ipv4/ip_forward
echo "1" > /proc/sys/net/ipv4/conf/all/rp_filter
echo "1" > /proc/sys/net/ipv4/conf/all/proxy_arp
echo "1" > /proc/sys/net/ipv4/ip_dynaddr

$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
$IPTABLES -N bad_tcp_packets
$IPTABLES -N allowed
$IPTABLES -N tcp_packets
$IPTABLES -N udp_packets
$IPTABLES -N icmp_packets

$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP

$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP

$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 53 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
if [ $DHCP == "yes" ] ; then
$IPTABLES -A udp_packets -p UDP -s $DHCP_SERVER --sport 67 \
  --dport 68 -j ACCEPT
  fi
  
  $IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 53 -j ACCEPT
  $IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 123 -j ACCEPT
  $IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 2074 -j ACCEPT
  $IPTABLES -A udp_packets -p UDP -s 0/0 --source-port 4000 -j ACCEPT
  
  $IPTABLES -A udp_packets -p UDP -i $INET_IFACE \
  --destination-port 135:139 -j DROP
  
  $IPTABLES -A udp_packets -p UDP -i $INET_IFACE -d 255.255.255.255 \
  --destination-port 67:68 -j DROP
  
  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
  $IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
  
  $IPTABLES -A INPUT -p tcp -j bad_tcp_packets
  
  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
  $IPTABLES -A INPUT -p ALL -i $LO_IFACE -j ACCEPT
  $IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BROADCAST_ADDRESS -j ACCEPT
  
  $IPTABLES -A INPUT -p UDP -i $LAN_IFACE --dport 67 --sport 68 -j ACCEPT
  
  $IPTABLES -A INPUT -p ALL -i $INET_IFACE -m state --state ESTABLISHED,RELATED \
  -j ACCEPT
  $IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
  $IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udp_packets
  $IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
  
  $IPTABLES -A FORWARD -p tcp -j bad_tcp_packets

  $IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
  $IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

  $IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets  
  $IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
  $IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
  $IPTABLES -A OUTPUT -p ALL -o $INET_IFACE -j ACCEPT  
$IPTABLES -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3128  

  if [ $PPPOE_PMTU == "yes" ] ; then
   $IPTABLES -t nat -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN \
    -j TCPMSS --clamp-mss-to-pmtu
    fi
    $IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j MASQUERADE

---------------------------------------------------------------------------------------

Почему почта запрещается к отсылке?
Прошу помощи у знающих людей.    
PS: ipchains не работает, я использую iptables.

Содержание

Сообщения в этом обсуждении
"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 10:18 
Виноват не фаервол, это однозначно. Это сендмаил не имеет возможности нормально общаться с ДНС.
Боюсь ошибиться но лучше не в "настройках компов", а в resolv.conf пропиши ДНС провайдера.

"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 11:16 
В том-то и дело, что прописан ДНС провайдера.
Вот не пойму, почему не работает... :(((

"Linux, почта-smtp"
Отправлено shaman , 03-Апр-03 11:53 
>В том-то и дело, что прописан ДНС провайдера.
>Вот не пойму, почему не работает... :(((
Релей открой.


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 12:18 
>>В том-то и дело, что прописан ДНС провайдера.
>>Вот не пойму, почему не работает... :(((
>Релей открой.
А можно подробнее? Как это сделать?



"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 12:24 
Хотя нет, беру свои слова назад. Фаервол может быть виноват.
Ты попробую просто выполнить nslookup и разресолвить, допустим, rambler.ru
Правила взяты из документации по iptables, наверное надо их пересмотреть (если конечно nslookup нифига не покажет)

"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 12:32 
С сервера:

# nslookup www.rambler.ru -sil
Server:         212.111.82.17
Address:        212.111.82.17#53

Non-authoritative answer:
Name:   www.rambler.ru
Address: 81.19.66.109

С компьютера из внутренней сети (когда в настройках подлючения к локальной сети указан DNS провайдера): nslookup www.rambler.ru
Server:  gw-agtel.comintel.ru
Address:  212.111.82.17

Non-authoritative answer:
Name:    www.rambler.ru
Address:  81.19.66.109

То есть, проблема в том, что интернетовский сервер не может произвести nslookup до меня.


"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 12:34 
>Хотя нет, беру свои слова назад. Фаервол может быть виноват.
>Ты попробую просто выполнить nslookup и разресолвить, допустим, rambler.ru
>Правила взяты из документации по iptables, наверное надо их пересмотреть (если конечно
>nslookup нифига не покажет)

у тебя в цепочку udp_packets попадают только входящие запросы с 53 порта. A ты вообще не обрабатываешь исходящие OUTPUT на 53.


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 12:36 
А строчку iptables дайте плиз.

"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 12:42 
>А строчку iptables дайте плиз.

Да нет, если nslookup резолвит значит все гуд. Фаервол пропускает ДНС нормально


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 12:45 
>>А строчку iptables дайте плиз.
>
>Да нет, если nslookup резолвит значит все гуд. Фаервол пропускает ДНС нормально
>
Это-то ДА! Но проблема в том, что после соединения с сервером nvartovsk.wsnet.ru и попыткой отправить письмо с wmaster@nvartovsk.wsnet.ru на любой из ящиков не находящихся в этом домене, происходит ошибка и тот же Outlook Express пишет:

Не удается отправить сообщение, поскольку сервер отказался принять адрес одного из получателей. В письме был указан адрес: 'zabudkin@yandex.ru'. Тема 'test', Учетная запись: 'nvartovsk.wsnet.ru', Сервер: 'nvartovsk.wsnet.ru', Протокол: SMTP, Ответ сервера: '550 5.7.1 <zabudkin@yandex.ru>... Relaying denied. IP name possibly forged [212.111.82.227]', Порт: 25, Защита (SSL): Нет, Ошибка сервера: 550, Код ошибки: 0x800CCC79


"Linux, почта-smtp"
Отправлено shaman , 03-Апр-03 12:51 
>>>А строчку iptables дайте плиз.
>>
>>Да нет, если nslookup резолвит значит все гуд. Фаервол пропускает ДНС нормально
>>
>Это-то ДА! Но проблема в том, что после соединения с сервером nvartovsk.wsnet.ru
>и попыткой отправить письмо с wmaster@nvartovsk.wsnet.ru на любой из ящиков не
>находящихся в этом домене, происходит ошибка и тот же Outlook Express
>пишет:
>
>Не удается отправить сообщение, поскольку сервер отказался принять адрес одного из получателей. В письме был указан адрес: 'zabudkin@yandex.ru'. Тема 'test', Учетная запись: 'nvartovsk.wsnet.ru', Сервер: 'nvartovsk.wsnet.ru', Протокол: SMTP, Ответ сервера: '550 5.7.1 <zabudkin@yandex.ru>... Relaying denied. IP name possibly forged [212.111.82.227]', Порт: 25, Защита (SSL): Нет, Ошибка сервера: 550, Код ошибки: 0x800CCC79
Я же тебе сказал, открой релей!
В access:
ip-addr  RELEY



"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 12:55 
>Я же тебе сказал, открой релей!
>В access:
>ip-addr  RELEY
А где этот access?
Куда? Можно подробнее, пожалуйста.

"Linux, почта-smtp"
Отправлено shaman , 03-Апр-03 12:58 
>>Я же тебе сказал, открой релей!
>>В access:
>>ip-addr  RELEY
>А где этот access?
>Куда? Можно подробнее, пожалуйста.
У меня /etc/mail/access
В него прописываешь:
192.168.0.0/24   RELAY

Потом makemap hash access > access.db
Потом перезапусти sendmail


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 13:05 
>У меня /etc/mail/access
>В него прописываешь:
>192.168.0.0/24   RELAY
>
>Потом makemap hash access > access.db
>Потом перезапусти sendmail
Прописал, перезапустил. А при чем тут sendmail?
Я же с клиентской машины в локальной сети организации пытаюсь через тот же Outlook Express послать сообщение.
SMTP сервер: nvartovsk.wsnet.ru
Почта успешно получается, но не отправляется, т.к. сервер nvartovsk.wsnet.ru говорит, что
Relaying denied. IP name possibly forged [212.111.82.227]

Видно, что он от спама оберегается и поэтому хочет связаться с отправителем (то есть клиенской машиной что ли?), но этого не может и соответственно не отправляет. :(
Что делать-то?


"Linux, почта-smtp"
Отправлено shaman , 03-Апр-03 13:10 
>>У меня /etc/mail/access
>>В него прописываешь:
>>192.168.0.0/24   RELAY
>>
>>Потом makemap hash access > access.db
>>Потом перезапусти sendmail
>Прописал, перезапустил. А при чем тут sendmail?
>Я же с клиентской машины в локальной сети организации пытаюсь через тот
>же Outlook Express послать сообщение.
>SMTP сервер: nvartovsk.wsnet.ru
>Почта успешно получается, но не отправляется, т.к. сервер nvartovsk.wsnet.ru говорит, что
>Relaying denied. IP name possibly forged [212.111.82.227]
>
>Видно, что он от спама оберегается и поэтому хочет связаться с отправителем
>(то есть клиенской машиной что ли?), но этого не может и
>соответственно не отправляет. :(
>Что делать-то?
Стоп. Так ты через свой сервер отправляешь, или через сервер провайдера?


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 13:14 
>Стоп. Так ты через свой сервер отправляешь, или через сервер провайдера?

Через сервер почтового ящика :), просто машина 192.168.0.9 в локальной сети моей организации коннектится к nvartovsk.wsnet.ru (для wmaster@nvartovsk.wsnet.ru или, например zabudkin@mail.ru для smtp.mail.ru) и уже с ним общается. Всё это через сервер (iptables на 192.168.0.200), как написано вверху.


"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 13:18 
А может адрес отправителя, в rkbtynt ненастоящий а почта отправляется только для клентов?

"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 13:31 
>А может адрес отправителя, в rkbtynt ненастоящий а почта отправляется только для
>клентов?
У моего провайдера есть свой smtp (intramail.ru), так он свой webmaster@intramail.ru берет отлично, а вот тот же nvartovsk.wsnet.ru почему-то, гадость такая, даже своего же wmaster@nvartovsk.wsnet.ru не берёт :(
Есть ставлю у клиента программу HTTPPort (позволяет использовать тот же емайл через прокси (на сервере стоит Squid)), то всё нормально работает. Поэтому я грешу на то, что каким-то макаром этот nvartovsk.wsnet.ru проверяет "доступность" компа локальной сети (192.168.0.9).
Вот как бы сделать так, чтобы вся почта, исходящая от 192.168.0.* считалась бы посланной с сервера, у которого айпишник провайдера интернета 10.10.11.7 (а в локальной сети организации 192.168.0.200).
Проблема :((((

"Linux, почта-smtp"
Отправлено teebot , 03-Апр-03 12:54 
>>>А строчку iptables дайте плиз.
>>
>>Да нет, если nslookup резолвит значит все гуд. Фаервол пропускает ДНС нормально
>>
>Это-то ДА! Но проблема в том, что после соединения с сервером nvartovsk.wsnet.ru
>и попыткой отправить письмо с wmaster@nvartovsk.wsnet.ru на любой из ящиков не
>находящихся в этом домене, происходит ошибка и тот же Outlook Express
>пишет:
>
>Не удается отправить сообщение, поскольку сервер отказался принять адрес одного из получателей. В письме был указан адрес: 'zabudkin@yandex.ru'. Тема 'test', Учетная запись: 'nvartovsk.wsnet.ru', Сервер: 'nvartovsk.wsnet.ru', Протокол: SMTP, Ответ сервера: '550 5.7.1 <zabudkin@yandex.ru>... Relaying denied. IP name possibly forged [212.111.82.227]', Порт: 25, Защита (SSL): Нет, Ошибка сервера: 550, Код ошибки: 0x800CCC79

Ну вот видишь, ошибка уже изменилась. Было "Relaying denied. IP name lookup failed". Теперь "Relaying denied. IP name possibly forged".

Вынужден признать что shaman был прав, заглянь в access. Открой рилей.


"Linux, почта-smtp"
Отправлено zabudkin , 03-Апр-03 13:10 
>Ну вот видишь, ошибка уже изменилась. Было "Relaying denied. IP name lookup
>failed". Теперь "Relaying denied. IP name possibly forged".
>
>Вынужден признать что shaman был прав, заглянь в access. Открой рилей.
Не помогает :(
Я же говорю, пытаюсь отправить с клиентской машины в локальной сети организации, а не с сервера.

"Linux, почта-smtp"
Отправлено appc , 03-Апр-03 23:58 
>SEND  - Письмо не отправлено. Сервер сообщает: 5.7.1 <zabudkin@yandex.ru>... Relaying denied. IP name lookup failed [10.10.40.11]
Это значит что СМТП сервер через котрый ты пытаешься отправить почту не разрешает отправлять через себя почту с этого айпи, если это твой сервер, то открой релей, если нет то отправляй через собственный смтп сервер.Если у тебя куча машин настроенных уже на внешние смтп сервера, то ты можешь на своем шлюзе завернуть весь проходящий трафик на порт 25 на свой порт 25.

Вот, помоему так ....


"Linux, почта-smtp"
Отправлено Mail , 04-Апр-03 10:53 
есть qmail+vpopmail, все настроено
tcp.smtp, usera проходят авторизацию, но при отправке
во внешний мир, пишется нет такого домена в файле rcpthosts
tcprules /etc/tcp.smtp......  сделан
В чем прикол
Спасибо