Форум русскоязычного сообщества Ubuntu


Хотите сделать посильный вклад в развитие Ubuntu и русскоязычного сообщества?
Помогите нам с документацией!

Автор Тема: Работа Outlook, минуя squid  (Прочитано 2607 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Работа Outlook, минуя squid
« : 22 Апреля 2013, 10:52:54 »
 Всем доброго времени суток. Помогите, пожалуйста, пустить порты 25, 110 мимо squid.
  Squid и iptables настраиваю первый раз, поэтому заранее приношу извинения за ламерские вопросы
  В общем имеется ubuntu 12.04 LTS, установлен squid3. eth0 смотрит в инет, eth1 смотрит в локалку. Особых проблем с настройкой прокси не испытал, комп подключенный к прокси ходит в инет только с ip-адресами указанной подсети. Столкнулся с такой проблемой, что не работает outlook, я так понял, что squid не умеет работать с портами 25, 110. ОК, вычитал что решить проблему можно используя IPTABLES. Почитал кое-какие темы на форумах и в этом в том числе, пробую делать - не получается, outlook говорит, что узел не найден. Опишу последовательность моих действий.
  В корне /etc создал файл с именем iptables-rules, сделал его исполняемым.Вот содержимое файла:

echo "1" > /proc/sys/net/ipv4/ip_forward

iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP

iptables -t nat -F

iptables -A FORWARD -i eth1 -s 192.168.60.0/24 -p tcp -m tcp -m multiport --dports 25,110 -j ACCEPT
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -j LOG

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

Скорее всего наверное косяк где-то в этом конфиге, так как писал в первый раз и, честно говоря, не совсем еще понял как работает написанное мной, только в общих чертах.
В общем дальше я запускаю этот файл, ошибок никаких не дает, но и почта не работает. Речь о том, чтобы добавить его в автозагрузку пока не идет, для начала, нужно что бы все хотя бы так заработало.

Да, форвардинг включен и в файле /etc/sysctl.conf добавил строчку
net.ipv4.ip_forward = 1


Вывод iptables -L:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination       

Chain FORWARD (policy DROP)
target     prot opt source               destination       
ACCEPT     tcp  --  192.168.60.0/24      anywhere             tcp multiport dports smtp,pop3
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
LOG        all  --  anywhere             anywhere             LOG level warning

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination   

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #1 : 22 Апреля 2013, 11:01:08 »
sudo iptables-save?

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #2 : 22 Апреля 2013, 11:02:52 »
sudo iptables-save?



# Generated by iptables-save v1.4.12 on Mon Apr 22 13:02:08 2013
*filter
:INPUT ACCEPT [149:70399]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [177:65153]
-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG
COMMIT
# Completed on Mon Apr 22 13:02:08 2013
# Generated by iptables-save v1.4.12 on Mon Apr 22 13:02:08 2013
*nat
:PREROUTING ACCEPT [4:632]
:INPUT ACCEPT [4:632]
:OUTPUT ACCEPT [17:1023]
:POSTROUTING ACCEPT [1:61]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Apr 22 13:02:08 2013


Пользователь решил продолжить мысль 22 Апреля 2013, 11:14:31:
sudo iptables-save?



# Generated by iptables-save v1.4.12 on Mon Apr 22 13:02:08 2013
*filter
:INPUT ACCEPT [149:70399]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [177:65153]
-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG
COMMIT
# Completed on Mon Apr 22 13:02:08 2013
# Generated by iptables-save v1.4.12 on Mon Apr 22 13:02:08 2013
*nat
:PREROUTING ACCEPT [4:632]
:INPUT ACCEPT [4:632]
:OUTPUT ACCEPT [17:1023]
:POSTROUTING ACCEPT [1:61]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Apr 22 13:02:08 2013

Если я сохраняю в файл /etc/iptables-rules выданное этой командой то потом при запуске этого файли мне выдает кучу ошибок
« Последнее редактирование: 22 Апреля 2013, 11:14:31 от Премио »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #3 : 22 Апреля 2013, 11:47:53 »
В начало цепочки FORWARD допишите:
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Если я сохраняю в файл /etc/iptables-rules выданное этой командой то потом при запуске этого файли мне выдает кучу ошибок
Загружать надо так:
sudo iptables-restore /etc/iptables-rules

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #4 : 22 Апреля 2013, 12:06:54 »
В начало цепочки FORWARD допишите:
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Если я сохраняю в файл /etc/iptables-rules выданное этой командой то потом при запуске этого файли мне выдает кучу ошибок
Загружать надо так:
sudo iptables-restore /etc/iptables-rules

Сделал, сохранил, затем выполнил команду iptables-restore /etc/iptables-rules. Ошибок нет, но почта так и не ходит. iptables-restore /etc/iptables-rules - я так понимаю это перезагрузка IPTABLES, чтобы не перегружать комп?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #5 : 22 Апреля 2013, 12:56:41 »
iptables-restore /etc/iptables-rules - я так понимаю это перезагрузка IPTABLES, чтобы не перегружать комп?
Это загрузка списка правил из файла /etc/iptables-rules.
Ничего перезагружать не нужно.

Ошибок нет, но почта так и не ходит.
Давайте для проверки установим политику FORWARD ACCEPT и проверим это:
sysctl net.ipv4.ip_forward

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #6 : 22 Апреля 2013, 13:04:13 »


Ошибок нет, но почта так и не ходит.
Давайте для проверки установим политику FORWARD ACCEPT и проверим это:
sysctl net.ipv4.ip_forward

net.ipv4.ip_forward = 1

Мжет дело в DNS? Как прописать DNS в IPTABLES?

Пробовал так:
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p udp --dport 53 -j ACCEPT

Не работает.


Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #7 : 22 Апреля 2013, 13:11:29 »
Давайте для проверки установим политику FORWARD ACCEPT
Это пробовали?

Мжет дело в DNS?
cat /etc/resolv.conf
nslookup ya.ru
Что говорит?

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #8 : 22 Апреля 2013, 13:34:09 »
Давайте для проверки установим политику FORWARD ACCEPT
Это пробовали?

Мжет дело в DNS?
cat /etc/resolv.conf
nslookup ya.ru
Что говорит?


Вроде как решился вопрос.
В общем добавил два правила
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
Затем прописал на клиентской машине DNS провайдера и все заработало.
Добавить то добавил но если вам не трудно могли бы вы объяснить вкратце хотя бы что это за правила? С Input и output понятно исходящий и входящий DNS. Меня интересуют опции sports и dports. И еще отличия протоколов udp и tcp. То есть если я пишу правила с udp то на клинтской машине нужно прописывать DNS провайдера. Если пишу tcp то DNS провайдера не нужен, достаточно указать днс-ом IP сетевухи сервера, смотрящего в локалку. Почему так? Потому что tcp это протокол более надежный без потреи пакетов а udp нет?

Пользователь решил продолжить мысль 22 Апреля 2013, 13:45:21:
Давайте для проверки установим политику FORWARD ACCEPT
Это пробовали?

Мжет дело в DNS?
cat /etc/resolv.conf
nslookup ya.ru
Что говорит?


Вроде как решился вопрос.
В общем добавил два правила
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
Затем прописал на клиентской машине DNS провайдера и все заработало.
Добавить то добавил но если вам не трудно могли бы вы объяснить вкратце хотя бы что это за правила? С Input и output понятно исходящий и входящий DNS. Меня интересуют опции sports и dports. И еще отличия протоколов udp и tcp. То есть если я пишу правила с udp то на клинтской машине нужно прописывать DNS провайдера. Если пишу tcp то DNS провайдера не нужен, достаточно указать днс-ом IP сетевухи сервера, смотрящего в локалку. Почему так? Потому что tcp это протокол более надежный без потреи пакетов а udp нет?

Прошу прощения, туплю. У меня как раз и стояло FORWARD ACCEPT то о чем вы говорили. Поэтому и все заработало.

nslookup ya.ru
Server:      127.0.0.1
Address:   127.0.0.1#53

Non-authoritative answer:
Name:   ya.ru
Address: 87.250.250.3
Name:   ya.ru
Address: 87.250.250.203
Name:   ya.ru
Address: 87.250.251.3
Name:   ya.ru
Address: 93.158.134.3
Name:   ya.ru
Address: 93.158.134.203
Name:   ya.ru
Address: 213.180.193.3
Name:   ya.ru
Address: 213.180.204.3
Name:   ya.ru
Address: 77.88.21.3


cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.0.1



Пользователь решил продолжить мысль 22 Апреля 2013, 13:54:23:
Пардон за флуд, тороплюсь просто.. В общем прописанные правила
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT
работают. Почта с mail.ru принимается. Но с gmail не принимается. Прием идет по 995 порту (ssl защита) пробовал в правила добавлять 995 порт через запятую - не работает.
« Последнее редактирование: 22 Апреля 2013, 13:54:23 от Премио »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #9 : 23 Апреля 2013, 22:51:59 »
В общем добавил два правила
-A INPUT -p udp -m udp --sport 53 -j ACCEPT
-A OUTPUT -p udp -m udp --dport 53 -j ACCEPT

Затем прописал на клиентской машине DNS провайдера и все заработало.
Эти правила с настройкой провайдерских DNS на клиентах не связаны

Меня интересуют опции sports и dports.
По туториалу поиском пройтись религия не позволяет? Там эти (и другие) параметры вполне внятно расписаны.

И еще отличия протоколов udp и tcp. То есть если я пишу правила с udp то на клинтской машине нужно прописывать DNS провайдера. Если пишу tcp то DNS провайдера не нужен, достаточно указать днс-ом IP сетевухи сервера, смотрящего в локалку.
Вообще пальцем в небо. Почитайте как работает DNS.

Прием идет по 995 порту (ssl защита) пробовал в правила добавлять 995 порт через запятую - не работает.

Так пробовали или ещё куда-то?
Цитировать
-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110,995 -j ACCEPT

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #10 : 24 Апреля 2013, 11:21:40 »


Так пробовали или ещё куда-то?
Цитировать
-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110,995 -j ACCEPT
[/quote]


Пробовал, не работает.
Вчера я чуши понаписал, сейчас объясню как у меня все работает а точнее не работает.
Сейчас мой конфиг IPTABLES таков:

# Generated by iptables-save v1.4.12 on Wed Apr 24 09:17:55 2013
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Wed Apr 24 09:17:55 2013
# Generated by iptables-save v1.4.12 on Wed Apr 24 09:17:55 2013
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
#-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110,995 -j ACCEPT
#-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --sports 25,110,995 -j ACCEPT
#-P FORWARD ACCEPT
#-I FORWARD -s 192.168.60.0/24 -o eth0 -p tcp -m multiport --dport 110,25,143,993,21,20,143,465,1024 -j ACCEPT
#-I FORWARD -i eth0 -d 192.168.60.0/24 -p tcp -m multiport --sport 110,25,143,993,21,20,143,465,1024 -j ACCEPT
-A FORWARD -s 192.168.60.0/24 -i eth1 -p tcp -m tcp -m multiport --dports 25,110,995 -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -j LOG
-A FORWARD -i eth0 -o eth1 -p icmp -j ACCEPT
-A FORWARD -i eth1 -o eth0 -p icmp -j ACCEPT
COMMIT
# Completed on Wed Apr 24 09:17:55 2013


Закоментировано то как я пытался решить проблему - безрезультатно. -P FORWARD ACCEPT - Работает, почта бегает, но это как я понял пускает все подряд мне так не нужно. Далее, может это наведет на какую-то мысль после того как я вписываю "-P FORWARD ACCEPT" затем перегружаю таблицы почта бегает. Затем я коментирую эту строчку перегружаю таблицы, почта все равно бегает, несмотря на то что конфигурация вернулась в начальное состояние. Закрываю например 25 порт изменения применяются. Но как только я перегружаю клиентский комп то ничего снова не работает. ДНС на клиентской машине прописал гугловский. На сервере в файл /etc/resolvconf/resolv.conf.d/head добавил такую строчку nameserver 8.8.8.8 тоже бестолку.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #11 : 24 Апреля 2013, 13:02:12 »
-P FORWARD ACCEPT - Работает, почта бегает, но это как я понял пускает все подряд мне так не нужно.
-A FORWARD -j LOG
-A FORWARD -j ACCEPT
Проверяем почту, грепаем лог по "DPT=[^ ]* " и вписываем нужные порты.

Оффлайн Премио

  • Автор темы
  • Новичок
  • *
  • Сообщений: 13
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #12 : 26 Апреля 2013, 15:13:57 »
Проблему с почтой решил с IPTABLES разобрался, сейчас все прекрасно работает.

Еще такая проблемка. Есть у нас на фирме одна специализированная программка которая использует 80 порт. В iptables даю доступ к 80 порту из explorer убираю настройки прокси программка пашет. Но открыв доступ к 80 порту я даю возможность ходить мимо squid что крайне нежелательно. В самом squid порт 80 прописан и все сайты через него работают. Но эта программа не хочет, только когда даю доступ на 80 порт в IPTABLES, тогда работает. В самой программе сетевых настроек вообще нет. Собственно вопрос: как заставить ее работать по другому порту либо как заставить ее работать не открывая 80 порт всем подряд?
Кстати может наведет на какуюто мысль: программа выдает такую ошибку "object reference not set to an instance of an object" . При прямом доступе в инет такого нет.

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: Работа Outlook, минуя squid
« Ответ #13 : 26 Апреля 2013, 16:08:13 »
Есть у нас на фирме одна специализированная программка которая использует 80 порт. В iptables даю доступ к 80 порту из explorer убираю настройки прокси программка пашет.
Можно ограничить по --source/--destination.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Работа Outlook, минуя squid
« Ответ #14 : 26 Апреля 2013, 16:13:14 »
Не согласен. Можно РАЗРЕШИТЬ по --source/--destination правилом раньше, чем редирект

 

Страница сгенерирована за 0.078 секунд. Запросов: 25.