Прокси-сервер Squid (или iptables) не позволяет моим пользователям отправлять или получать почту

Прокси-сервер Squid (или iptables) не позволяет моим пользователям отправлять или получать почту

У меня есть Ubuntu 10.04 box, который когда-то был настроен как Squid Transparent Proxy. Навигация была идеальной: мои клиенты Windows не испытывали никаких проблем.

Проблема, с которой я столкнулся, заключалась в том, что пользователи не могли отправлять или получать почту с помощью Outlook (и Outlook Express). Поэтому я погуглил тут и там и нашел решение:

sudo iptables -t nat -A POSTROUTING -p TCP --dport 25 -j MASQUERADE

sudo iptables -t nat -A POSTROUTING -p TCP --dport 110 -j MASQUERADE

Все прошло отлично.

Теперь я включил аутентификацию squid (простую, с использованием текстового файла), и мой outlook и outlook express снова перестали работать. Я читал, что проблема на самом деле не связана со squid, потому что он не проксирует smtp или pop... Но мне все еще нужно ее решить. NAT? Переадресация портов?

Какие команды мне следует использовать?

Сервер Squid имеет одну сетевую карту и может подключаться к Интернету и разрешать имена с помощью серверов OpenDNS без проблем.

конфигурация на сервере: ip 192.168.1.210 подсеть 255.255.255.0 шлюз 192.168.1.5

На клиентах я использую: ip 192.168.1.x подсеть 255.255.255.0 шлюз 192.168.1.210

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

РЕДАКТИРОВАТЬ:

судо iptables -L

Chain INPUT (policy ACCEPT)

target prot opt source destination

fail2ban-ssh tcp -- anywhere anywhere multiport dports ssh

Chain FORWARD (policy ACCEPT)

target prot opt source destination

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

Chain fail2ban-ssh (1 references)

target prot opt source destination

RETURN all -- anywhere anywhere

sudo iptables -L -t нат

Chain PREROUTING (policy ACCEPT)

target prot opt source destination

REDIRECT tcp -- anywhere anywhere tcp dpt:www redir ports 3128

Chain POSTROUTING (policy ACCEPT)

target prot opt source destination

MASQUERADE tcp -- anywhere anywhere tcp dpt:smtp

MASQUERADE tcp -- anywhere anywhere tcp dpt:pop3

Chain OUTPUT (policy ACCEPT)

target prot opt source destination

решение1

Я не уверен, чего именно вы собираетесь добиться. Насколько я понимаю, вы собираетесь использовать машину со squid в качестве маршрутизатора/брандмауэра для следующего сценария:

  1. разрешить веб-протоколы (http/ftp) только через squid
  2. разрешить доступ к smpt/pop3 из вашей внутренней сети наружу через NAT.
  3. Ваш шлюз в интернет — 192.168.1.5

Обычно NAT транслирует из одной сети (192.168.1.0/24) в другую (т. е. 84.145.77.23/32) и наоборот. Поэтому вам может потребоваться настроить правила NAT на вашем шлюзе 192.168.1.5, чтобы все работало.

Итак, исходящий путь:

client -> 192.168.1.210 ->NAT-> 192.168.1.5 ->NAT-> mailserver

А входящий путь для ответов:

mailserver -> 192.168.1.5 ->NAT-> 192.168.1.210 ->NAT-> client

Как видно из рисунка, 192.168.1.210 можно исключить, а шлюз можно настроить на прием и трансляцию NAT исходящего трафика smtp/pop3 от всех клиентов и прием исходящего трафика http(s)/ftp только от 192.168.1.210.

По моему скромному мнению, второй NAT между 192.168.1.210 и 192.168.1.5 может вызвать проблемы (та же сеть) и не нужен.

Чтобы включить NAT в целом на 192.168.1.210, попробуйте сначала сделать следующее:

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

При необходимости измените eth0 на имя вашего сетевого интерфейса.

Связанный контент