Извеняюсь что поднимаю тему снова. Проблема таже , как открыть порты 25-110 .
Суть дела. есть машина с Debian +iptables +squid
настройка iptables:
#!/bin/bash
#
# Flash all default
/sbin/iptables -F
/sbin/iptables -X
/sbin/iptables -t nat -F
/sbin/iptables -t nat -X
# SSH
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport --dport 22 -s 192.168.1.0/24 -j ACCEPT
#Mail
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport --dport 110 -s 192.168.1.0/24 -j ACCEPT
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport --dport 25 -s 192.168.1.0/24 -j ACCEPT
#Internet
/sbin/iptables -A INPUT -i eth0 -p tcp -m multiport --dport 3128 -s 192.168.1.0/24 -j ACCEPT
в SQUID прописал следующее
acl localhost src 192.168.1.0/24
acl Safe_ports port 25
acl Safe_ports port 110
интернет есть по http
а вот с почтового агента отправить сообщение не удаеться.. Что делать ?
iptables -L
iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- 192.168.1.0/24 anywhere multiport dports ssh
ACCEPT tcp -- 192.168.1.0/24 anywhere multiport dports pop3
ACCEPT tcp -- 192.168.1.0/24 anywhere multiport dports smtp
ACCEPT tcp -- 192.168.1.0/24 anywhere multiport dports 3128
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
iptables -L -v -n
Chain INPUT (policy ACCEPT 11816 packets, 952K bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- eth0 * 192.168.1.0/24 0.0.0.0/0 multiport dports 22
0 0 ACCEPT tcp -- eth0 * 192.168.1.0/24 0.0.0.0/0 multiport dports 110
0 0 ACCEPT tcp -- eth0 * 192.168.1.0/24 0.0.0.0/0 multiport dports 25
0 0 ACCEPT tcp -- eth0 * 192.168.1.0/24 0.0.0.0/0 multiport dports 3128
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 756 packets, 111K bytes)
pkts bytes target prot opt in out source destination
Проброс портов
что делать?
не пытаться гонять почту через squid
в такой конфигурации почта через кальмара не пойдет.
у меня так
iptables -A FORWARD -s 10.10.0.0/24 -p tcp -m multiport --dport 110,25,995,465 -j ACCEPT
iptables -A FORWARD -d 10.10.0.0/24 -p tcp -m multiport --sport 110,25,995,465 -j ACCEPTbearwoolfs, обрати внимание, что порты открыты в обе стороны.
bearwoolfs, обрати внимание, что порты открыты в обе стороны.
Извините, но за такое сразу неуд и в отдел кадров
a-x, конечно же я не прошу повторять за мной.
bearwoolfs, сторого говоря SQUID - это кеширующий прокси-сервер для http и ftp (в некоторых случаях) потоков.
SQUID позволяет кешировать содержимое интернет-сраниц, при первом обращении к ним, для экономии трафика, а так же настраивать контроль достпа к сайтам, по группам или индивидуально для каждого.
Пропускать почту через SQUID нет ни какого смысла. Я пару раз в Интернете встречал как это сделать, но сам не настраивал, так как не вижу смысла изобретать велосипед.
Для того что бы почта ходила нужно просто это разрешить в iptables
/sbin/iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -p tcp -s 192.168.0.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
/sbin/iptables -A FORWARD -i eth0 -p udp -s 192.168.0.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
eth0 - внутренняя карта
И ещё, я бы не стал ставить все политики в ACCEPT.
Правильно - запритить всё, а потом разрешать нужное.
Извините, а это для чего?
/sbin/iptables -A FORWARD -i eth0 -p udp -s 192.168.0.0/24 -m multiport --dport 25,110,143,993 -j ACCEPTa-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.
a-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.
Во 1-х, policy forward итак по умолчанию accept. Хотя это и не безопасно.
Во 2-х разве натить пакеты не нужно? Я как то не увидел тут хоть одно правило nat.
a-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.
Outlook всегда имел особенность "терять" соединение или точнее неумение держать соединение.
Просто это лишено смысла, можно просканить сервер и наверняка эти udp порты будут закрыты со стороны сервера.
добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward
и все пошло , как показала практика нужно было пробрасывать через ядро.
Всем спасибо за помощь .
Outlook всегда имел особенность "терять" соединение или точнее неумение держать соединение.
Просто это лишено смысла, можно просканить сервер и наверняка эти udp порты будут закрыты со стороны сервера.
Сорри что не по теме, но всё я эето делал.
И вот разрешение по UDP снимало проблему для оутлуков, повторюсь, я ещё не понял в чём соль прикола.
Во 1-х, policy forward итак по умолчанию accept. Хотя это и не безопасно.
Во 2-х разве натить пакеты не нужно? Я как то не увидел тут хоть одно правило nat.
Про первый пункт я уже высказывался неоднократно. Правильная политика для любой цепочки DROP
Про второй пункт верно замечено, нужен NAT но я грешным делом подозревал что он уже есть, так как комп наверняка имеет выход в Интернет.
Ладно, и чего и то я оправдываюсь?
Главное у ТС всё заработало.
добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward
Кстати, если прописать в /etc/sysctl.conf сторочку net.ipv4.ip_forward = 1 (обычно тут нуль)
то в скрипт добавлять не нужно и это правило будет действовать даже после перезагрузки wink
[quote=bearwoolfs]добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward
Кстати, если прописать в /etc/sysctl.conf сторочку net.ipv4.ip_forward = 1 (обычно тут нуль)
то в скрипт добавлять не нужно и это правило будет действовать даже после перезагрузки wink[/quote]
Благодарю от всей души... .
smile smile smile
Появился еще один вопрос.
По началу на ПК стоял один интерфейс eth0 он имел шлюз другова ПК который раздает Интернет.
Удалось через него пробросить http tcp udp с помощью этого скрипта:
#!/bin/bash
IPT="/sbin/iptables"
echo 1 > /proc/sys/net/ipv4/ip_forward
# Mail
$IPT -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
$IPT -A FORWARD -i eth0 -p tcp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
$IPT -A FORWARD -i eth0 -p udp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
Теперь установил вторую сетевую карту eth1 прописал настройки провайдера , проверил интернет есть . С eth0 убрал шлюз. Интернет есть на локальных машинах, а вот порты 25-110 не пробрасываються ... Дописал в скрипт :
$IPT -A FORWARD -i eth1 -p tcp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
$IPT -A FORWARD -i eth1 -p udp -s 192.168.1.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
НЕ работает... . В очередной раз прошу мудрого совета ....
bearwoolfs, я Вам только что ответил тут: http://linuxforum.ru/viewtopic.php?pid=236188#p236188
Не плодите одинаковые темы, пожалуйста.