LINUX.ORG.RU
ФорумAdmin

squid и smtp, pop3.

 pop3., ,


0

1

С smtp и pop3 squid работать не умеет. Пробросил порт с помошью iptables.

LOCALNET=192.168.0.0/24

iptables -A FORWARD -p tcp -s $LOCALNET -d smtp.dbo.vtb.ru --dport 25 -j ACCEPT
iptables -A FORWARD -p tcp -s smtp.dbo.vtb.ru -d $LOCALNET --sport 25 -j ACCEPT
iptables -A FORWARD -p tcp -s $LOCALNET -d pop3.dbo.vtb.ru --dport 110 -j ACCEPT
iptables -A FORWARD -p tcp -s pop3.dbo.vtb.ru -d $LOCALNET --sport 110 -j ACCEPT
iptables -t nat -A POSTROUTING -p tcp -s $LOCALNET --dport 110 -j MASQUERADE
iptables -t nat -A POSTROUTING -p tcp -s $LOCALNET --dport 25 -j MASQUERADE

Далее, с клиентской машины, что за прокси по ip получаю отклик от серверов (telnet ... 25/110), по хостимени - нет. С DNS всё в порядке.

Почему так?

★★

Последнее исправление: nixit (всего исправлений: 2)

Правила с DNS-имена в iptables писать очень не рекомендуется - будет подставляться ПЕРВЫЙ разрезолвенный IP-адрес. Если у домена несколько IP - будет фэйл, когда клиент обратится не к тому адресу...

С DNS всё в порядке.

Уверен? Что говорит

nslookup smtp.dbo.vtb.ru
с клиента?

Pinkbyte ★★★★★
()

и да, зачем такие точные правила в POSTROUTING? Достаточно:

iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

, где eth1 - сетевуха, смотрящая в Интернет. POSTROUTING выполняется после разрешений в FORWARD, все что не нужно уже будет отсечено...

Pinkbyte ★★★★★
()
Ответ на: комментарий от Pinkbyte

ip один.

После 192.168.0.1 (сервер) ничего.

Но, это он говорит с любого хостнейма, что не мешает сайтам открываться в браузере по хостнейму.

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Открой для теста все порты и адреса на заданный IP и проверь. Возможно у тебя косяк не с файрволлом

Pinkbyte ★★★★★
()
Ответ на: комментарий от nixit

Нет. Только то, что ты разрешишь в FORWARD. Улавливаешь? Таблицу работы NetFilter смотрел?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от nixit

что не мешает сайтам открываться в браузере по хостнейму.

Если браузер настроен на явное использование proxy-сервера, то но не занимается резолвом имён (ему пофиг на DNS), он всегда обращается к прокси-серверу и даёт ему хостнейм.

mky ★★★★★
()
Ответ на: комментарий от nixit

Эм, при использовании dnsmasq похоже надо было открыть помимо tcp:53, ещё и udp 67 на мир. Завтра проверю, в этом ли проблема...

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Прокси сервер обращается к dns'у, но он использует либо свои настройки dns-сервера, либо указанные в системе (/etc/resolv.conf). А для того, чтобы с локального компьютера работал

telnet smtp.dbo.vtb.ru 25

нужно, чтобы на этом локальном компьютере был указан рабочий dns-сервер, что проверяется командной nslookup.

mky ★★★★★
()
Ответ на: комментарий от mky

# Only listen to routers' LAN NIC. Doing so opens up tcp/udp port 53 to # localhost and udp port 67 to world: interface=<LAN-NIC>

# dnsmasq will open tcp/udp port 53 and udp port 67 to world to help with # dynamic interfaces (assigning dynamic ips). Dnsmasq will discard world # requests to them, but the paranoid might like to close them and let the # kernel handle them:

Это из конфига.

nixit ★★
() автор топика
Ответ на: комментарий от nixit

udp 67 не нужно.
А вот tcp:53 и udp:53 таки обязательно да.

hbars ★★★★★
()
Ответ на: комментарий от nixit

dnsmasq далекоо не умеет то что должен уметь dns.
Для обычной станции для кэширования запросов нужен. Да.

hbars ★★★★★
()
Ответ на: комментарий от hbars

Открытие порта помогло, это я затупил чего-то...

А 25 и 110 должны быть открыты на мир или только в локалку, если делать православно?

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Открытие порта помогло, это я затупил чего-то...
А 25 и 110 должны быть открыты на мир или только в локалку, если делать православно?

Если хочешь забирать почту то 110 - да.
А что-бы работал smtp то и 25-й.

ps: Если все это дело подключено через adsl то соответственно эти порты нужно прокинуть и на модеме.

hbars ★★★★★
()
Ответ на: комментарий от nixit

нет, squid - это HTTP-прокси(ну и HTTPS до кучи). Если хочешь считать почтовый трафик - делай это либо через socks-proxy либо через свой почтовый релей

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

Угу, спасибо. Всем спасибо.

nixit ★★
() автор топика
Ответ на: комментарий от nixit

Сквид нет. Но можно при помощи правил iptables и (точно не помню как называется) mrtg.
Там и графики и всякая полезная фигня.

hbars ★★★★★
()
Ответ на: комментарий от Pinkbyte

Ну так может он собирается у себя зону держать...

hbars ★★★★★
()
Ответ на: комментарий от hbars

И вообще mrtg может что угодно мониторить. Хоть температуру процессора.
А если девайс, или прога держит snmp то вообще торт.
Кстати squid собирается с snmp.

hbars ★★★★★
()
Ответ на: комментарий от nixit

sudo iptables -v -L FORWARD, только это не «православно»!

funky
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.