LINUX.ORG.RU

squid + iptables


0

1

проблема чото не могу настроить iPtables со сквидом на офф сайте рэд хэта пишут -A INPUT -p tcp --dport 3128 -j ACCEPT -A OUTPUT -p tcp --sport 3128 -j ACCEPT -A FORWARD -p tcp --dport 3128 -j ACCEPT

но такая тема не катит

на сисадмин орг тоже вариант неработающий # «Заварачиваем» весь http трафик на squid.

$IPTABLES -t nat -A PREROUTING -s 192.168.1.0/24 \ -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128

хотя по логике вещей рэд хэтовский вариант должен работать мб кто подскажет? Заранее благодарен


в студио: ifconfig, iptables-save

crick
()
Ответ на: комментарий от edigaryev

да настраиваю скуид для прозрачного выхода через него в инет

eth1 -локаль eth2 -инет думаю ничо больше из ifconfiga не надо

*filter :INPUT ACCEPT [19445:3959064] :FORWARD ACCEPT [6181:4334540] :OUTPUT ACCEPT [3062:2244380] -P INPUT DROP -P OUTPUT DROP -P FORWARD DROP №№№№№№№№№Для связи подсетей и маршрутизации инет -> юзеры№№№№№ -A INPUT -i eth0 --source 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 --destination 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 --source 192.168.0.*/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth1 --destination 192.168.0.*/24 --match state --state ESTABLISHED -j ACCEPT #############для скида########## #-A INPUT -p tcp --dport 3128 -j ACCEPT #-A OUTPUT -p tcp --sport 3128 -j ACCEPT #-A FORWARD -p tcp --dport 3128 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [6763:1169484] :POSTROUTING ACCEPT T[258:16384] :OUTPUT ACCEPT [376:23956] -A POSTROUTING -o eth1 -j MASQUERADE -A POSTROUTING -o eth1 -j MASQUERADE COMMIT

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

[code] *filter :INPUT ACCEPT [19445:3959064] :FORWARD ACCEPT [6181:4334540] :OUTPUT ACCEPT [3062:2244380] -P INPUT DROP -P OUTPUT DROP -P FORWARD DROP #########Для связи подсетей и маршрутизации инет -> юзеры##### -A INPUT -i eth0 --source 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 --destination 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 --source 192.168.0.*/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth1 --destination 192.168.0.*/24 --match state --state ESTABLISHED -j ACCEPT #########для скида########## -A INPUT -p tcp --dport 3128 -j ACCEPT -A OUTPUT -p tcp --sport 3128 -j ACCEPT -A FORWARD -p tcp --dport 3128 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [6763:1169484] :POSTROUTING ACCEPT T[258:16384] :OUTPUT ACCEPT [376:23956] -A POSTROUTING -o eth1 -j MASQUERADE -A POSTROUTING -o eth1 -j MASQUERADE COMMIT

[/code].

***

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

в squid.conf в строчке http_port что написано?

да - правильный вариант для прозрачного прокси у тебя был в первом посте, при условии s/192.168.1.0/192.168.0.0/, судя по iptables

George
()

надеюсь в конфиге стоит transparent?

cy4apa
()
Ответ на: комментарий от George

ага, в этой каше не рассмотрел. да тогда уж -P OUTPUT ACCEPT.

crick
()
Ответ на: комментарий от George

да не 80 разрешать не надо с этой машины недолжно быть выхода в инет, а только с тех которые идут дальше

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

надо. в инет будет выходить squid. так что там у тебя в строчке http_port в squid.conf ?

George
()
Ответ на: комментарий от cmd

iptables -t nat -A PREROUTING -i eth1 -s 192.168.0.0/24 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128

работает :)
squid не работает :)

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

я с работы просто свалил, я чо говорю нафиг мне на этой тачке открывать 80 порт если по 3128 трахаеться прокси или я не прав? почему оутпут надо полностью открывать? почему нельзя открыть для отдельного порта?

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

а вообще мб я не правильно iptables сдклал? надо чтобы

Маршрутизатор разрешает клиентам внутренней сети устанавливать соединение с узлами в интернет.

Маршрутизатор имеет возможность удаленного управления из внутренней сети и только из внутренней сети.

Маршрутизатор блокирует все попытки установить новое соединение из сети интернет.

Маршрутизатор не принимает пакеты из сети интернет сам, только перенаправляет пакеты во внутреннюю сеть и только принадлежащие установленным соединениям.

вот чото тип того и чтобы скуид работал

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

соединения устанавливает проксик, поэтому ему нужен доступ в инет. просто сделай, как тебе сказали, и радуйся: открой OUTPUT, заверни траф на 80 порт из локалки на 3128, напиши в squid.conf http_port 3128 transparent. разреши все соединения на loopback интерфейс, причем правила должны быть в начале цепочек.

и да, разрешенный OUTPUT ну никак не противоречит описанным тобой выше требованиям. это исходящие соединения маршрутизатора.

George
()
Ответ на: комментарий от cmd

вот пока на данном этапе получилось следующие # Firewall configuration written by system-config-securitylevel # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [19445:3959064] :FORWARD ACCEPT [6181:4334540] :OUTPUT ACCEPT [3062:2244380] -P INPUT DROP -P OUTPUT ACCEPT -P FORWARD DROP -A INPUT -i eth0 --source 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A OUTPUT -o eth0 --destination 192.168.0.*/24 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth0 --source 192.168.0.*/24 --destination 0.0.0.0/0 --match state --state NEW,ESTABLISHED -j ACCEPT -A FORWARD -i eth1 --destination 192.168.0.*/24 --match state --state ESTABLISHED -j ACCEPT -A INPUT -p tcp --dport 3128 -j ACCEPT -A FORWARD -p tcp --dport 3128 -j ACCEPT -A INPUT -p tcp --dport 3128 -j ACCEPT -A FORWARD -p tcp --dport 3128 -j ACCEPT COMMIT *nat :PREROUTING ACCEPT [6763:1169484] :POSTROUTING ACCEPT T[258:16384] :OUTPUT ACCEPT [376:23956] -A POSTROUTING -o eth1 -j MASQUERADE -A POSTROUTING -o eth1 -j MASQUERADE COMMIT

не работает(

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

отформатируй в lorcode, ну невозможно же читать

почему RELATED соединения не разрешены? паранойя? и да - почитай уже мануал по iptables, сразу много вопросов отпадет

George
()
Ответ на: комментарий от cmd

Опишите задачу подробнее: нужен ли вам NAT или только squid или все вместе?

+ ifconfig еще нужен.

eth1 — локальная сеть, eth2 — интернет. Что за eth0 и почему у вас маскарадинг на локальную сеть, а не на интернет?

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

eht0 не используется маскарадинг для наших юнных друзей из отдела, в иф конфиги ничо особенного все стандартно а так нужно чтобы инет приходил на локальную сеть, и обратно и чтобы полноценно работал скуид, но не в прозрачном режиме

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

Сначала очищаете цепочки и на всякий случай делаете policy ACCEPT.

iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -F
iptables -t nat -F

Затем добавляете правила:

iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.0.0/24 -p tcp --dport 3128 -j ACCEPT

iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i eth0 -s 192.168.0.0/24 -j ACCEPT

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

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

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

Буду краток - opennet.ru. Там хороший ман по iptables, ибо вы НЕ ПОНИМАЕТЕ что вам нужно... или не можете это объяснить внятно...

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

ОГРОМНОЕ человеческое спасибо все работает а теперь самый глупый вопрос, а как все это сохранить чтобы после перезагрузки не пришлоось поновой вбивать, Iptables-save, это ввроде просто да бэк ап, только вбивать в файл?

cmd
() автор топика
Ответ на: комментарий от edigaryev
inet addr:внешний ип  Bcast:широко вещательный канал  Mask:255.255.255.248

И как широко вещает? :D

sysmouse
()
Ответ на: комментарий от cmd

Средствами дистрибутива. Или сделать небольшой BASH скрипт (который запускается при загрузке системы), который делает iptables-restore < /foo/bar/firewall, где /foo/bar/firewall — файл, полученный с помощью iptables-save.

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

всем огромное спасибо особенно edigaryev записал это в /etc/sysconfig/iptables перезапускаю службу все шикарно работает огромное всем спасибо!

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