LINUX.ORG.RU
ФорумAdmin

Правила в iptables для прокси сервера

 , ,


0

4

Здравствуйте!

У меня есть сервер под ОС Ubuntu который является шлюзом для выхода в интернет из локальной сети. Eth0 - внешний интерфейс, а eth1 локальная сеть. На этом сервере на свободном порту запускаю самописный прокси сервер и хочу завернуть на него только http трафик. Для этого добавляю правило в iptables: iptables –t nat –A PREROUTING –p tcp –destination-port 80 –j REDIRECT –to-port 8888

При этом на узлах локальной сети работает доступ в интернет по всем портам кроме 80. А соединения по 80 порту зависают. Причем на прокси сервере я вижу, что http запросы к нему пришли, но не приходят ответы.

А вот если на машине из локальной сети выставить настройки в браузере по проксированию трафика и в качестве адреса прокси-сервера указать адрес интерфейса eth1 то все работает нормально.

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

но не приходят ответы

Потому что ты не написал правило iptables по роутингу ответов.

Всегда ваш, К.О.

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

Не подскажете, что за правило? Не понимаю, как мне именно ответы маршрутизировать?

Это пакеты с s_port=80?

tailer73
() автор топика

Юзай DNAT вместо REDIRECT

iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to $IP:8888
где $IP - адрес сервера, висящий на eth1

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

Еще один момент. Браузеры по-разному общаются с сайтами и прокси-серверами, поэтому твой прокси должен уметь работать в прозрачном (transparent) режиме.

Deleted
()

На этом сервере на свободном порту запускаю самописный прокси сервер

А он у вас, как уже написали выше, прозрачным умеет быть?

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

А что значит «умеет»? Как я понял прозрачность - это и есть организация маршрутизации таким образом, чтобы юзеру не надо было нечего настраивать.

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

А что значит «умеет»?

Вы написали что у вас «самописный прокси сервер» про различия выше уже написали Правила в iptables для прокси сервера (комментарий)

Как я понял прозрачность - это и есть организация маршрутизации

В вашем случае не совсем верно. Сам проксик тоже должен уметь работать в transparent.

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