LinuxForum.Fans
Тема

Проброс портов

Автор: deleted_user 17 сообщений 4707 просмотров
#215490

Извеняюсь что поднимаю тему снова. Проблема таже , как открыть порты 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

#215539

что делать?
не пытаться гонять почту через squid

#215541

в такой конфигурации почта через кальмара не пойдет.
у меня так

text
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 ACCEPT

bearwoolfs, обрати внимание, что порты открыты в обе стороны.

#215546
riso написал:
bearwoolfs, обрати внимание, что порты открыты в обе стороны.

Извините, но за такое сразу неуд и в отдел кадров

#215549

a-x, конечно же я не прошу повторять за мной.

#215578

bearwoolfs, сторого говоря SQUID - это кеширующий прокси-сервер для http и ftp (в некоторых случаях) потоков.
SQUID позволяет кешировать содержимое интернет-сраниц, при первом обращении к ним, для экономии трафика, а так же настраивать контроль достпа к сайтам, по группам или индивидуально для каждого.
Пропускать почту через SQUID нет ни какого смысла. Я пару раз в Интернете встречал как это сделать, но сам не настраивал, так как не вижу смысла изобретать велосипед.
Для того что бы почта ходила нужно просто это разрешить в iptables

text

/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.
Правильно - запритить всё, а потом разрешать нужное.

#215596

Извините, а это для чего?

text
/sbin/iptables -A FORWARD -i eth0 -p udp -s 192.168.0.0/24 -m multiport --dport 25,110,143,993 -j ACCEPT
#215646

a-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.

#215678
Vadimsky написал:
a-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.

Во 1-х, policy forward итак по умолчанию accept. Хотя это и не безопасно.
Во 2-х разве натить пакеты не нужно? Я как то не увидел тут хоть одно правило nat.

#215682
Vadimsky написал:
a-x, В теории не нужно, конечно.
Например тот же Thunderbird прекрасно справляется. А вот MS Outlook 2010 на IMAP -е периодически "теряет" сервер. По POP3 как ни странно без него тоже норм работает.
В чём прикол ещё не понял, пока просто открыл, будет время буду разбираться, что за цирк.
Возможно это только у меня, а возможно это системная фича от MS, а раз так, то и посоветовал открыть.

Outlook всегда имел особенность "терять" соединение или точнее неумение держать соединение.
Просто это лишено смысла, можно просканить сервер и наверняка эти udp порты будут закрыты со стороны сервера.

#215706

добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward
и все пошло , как показала практика нужно было пробрасывать через ядро.
Всем спасибо за помощь .

#215783
a-x написал:
Outlook всегда имел особенность "терять" соединение или точнее неумение держать соединение.
Просто это лишено смысла, можно просканить сервер и наверняка эти udp порты будут закрыты со стороны сервера.

Сорри что не по теме, но всё я эето делал.
И вот разрешение по UDP снимало проблему для оутлуков, повторюсь, я ещё не понял в чём соль прикола.

#215786
CyberDaemon написал:
Во 1-х, policy forward итак по умолчанию accept. Хотя это и не безопасно.
Во 2-х разве натить пакеты не нужно? Я как то не увидел тут хоть одно правило nat.

Про первый пункт я уже высказывался неоднократно. Правильная политика для любой цепочки DROP
Про второй пункт верно замечено, нужен NAT но я грешным делом подозревал что он уже есть, так как комп наверняка имеет выход в Интернет.
Ладно, и чего и то я оправдываюсь?
Главное у ТС всё заработало.

#215787
bearwoolfs написал:
добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward

Кстати, если прописать в /etc/sysctl.conf сторочку net.ipv4.ip_forward = 1 (обычно тут нуль)
то в скрипт добавлять не нужно и это правило будет действовать даже после перезагрузки wink

#215811
Vadimsky написал:
[quote=bearwoolfs]добавил в начало скрипта следующее : echo 1 > /proc/sys/net/ipv4/ip_forward

Кстати, если прописать в /etc/sysctl.conf сторочку net.ipv4.ip_forward = 1 (обычно тут нуль)
то в скрипт добавлять не нужно и это правило будет действовать даже после перезагрузки wink[/quote]

Благодарю от всей души... .
smile smile smile

#215865

Появился еще один вопрос.
По началу на ПК стоял один интерфейс 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

НЕ работает... . В очередной раз прошу мудрого совета ....

Войдите или зарегистрируйтесь, чтобы ответить.