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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Не получается настроить прозрачный прокси  (Прочитано 4829 раз)

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

Оффлайн dim-mik

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #30 : 20 Ноября 2010, 19:34:35 »
Мне нужно на прокси-сервере закрыть все порты для icq и т.д.
И открыть http, https, получение и отправка почты.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #31 : 20 Ноября 2010, 19:39:51 »
И открыть http, https
Тем самым открыть icq(если не применить дополнительные средства её запрета). Чем Вам аська-то мешает? Не такой уж большой траффик, на почте больше уйдёт

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Не получается настроить прозрачный прокси
« Ответ #32 : 20 Ноября 2010, 19:46:11 »
тогда
sudo nano /etc/ipts
Цитировать
# Generated by iptables-save v1.4.2 on Sat Nov 20 18:48:59 2010
*raw
:PREROUTING ACCEPT [139426227:87240434263]
:OUTPUT ACCEPT [32812158:32158573561]
COMMIT
# Completed on Sat Nov 20 18:48:59 2010
# Generated by iptables-save v1.4.2 on Sat Nov 20 18:48:59 2010
*mangle
:PREROUTING ACCEPT [137986412:86612972545]
:INPUT ACCEPT [27669636:18390482776]
:FORWARD ACCEPT [109870422:68157571813]
:OUTPUT ACCEPT [32706211:32059782527]
:POSTROUTING ACCEPT [142587047:100194531492]
-A FORWARD -p tcp -m tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
COMMIT
# Completed on Sat Nov 20 18:48:59 2010
# Generated by iptables-save v1.4.2 on Sat Nov 20 18:48:59 2010
*nat
:PREROUTING ACCEPT [1350920:115145020]
:POSTROUTING ACCEPT [4168355:233749824]
:OUTPUT ACCEPT [479954:33217489]
-A PREROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -i eth0 -p tcp  -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128 -v
-A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE -v
COMMIT
# Completed on Sat Nov 20 18:48:59 2010
# Generated by iptables-save v1.4.2 on Sat Nov 20 18:48:59 2010
*filter
:INPUT ACCEPT [26547:2117586]
:FORWARD DROP [46:3509]
:OUTPUT ACCEPT [32706226:32059785725]
-A FORWARD -m conntrack --ctstate INVALID -j DROP -v
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -v
-A FORWARD -s 192.168.0.0/24 -i eth0 -m conntrack --ctstate NEW -j ACCEPT -v
-A FORWARD -m conntrack --ctstate DNAT -j ACCEPT -v
COMMIT
# Completed on Sat Nov 20 18:48:59 2010

$ sudo iptables-restore < /etc/ipts

$ sudo nano /etc/ipt
#!/bin/sh
DPORTS="25 110 465"
for dp in $DPORTS; do
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport $dp -m conntrack --ctstate NEW -j ACCEPT -v
done

$ sudo sh -vx /etc/ipt
$ sudo iptables-save > /etc/ipts

и как правильно указал fisher74, собирать ядро и патчить iptables для работы c l7-filter

$ sudo su -c "grep -v "^#" /etc/squid3/squid.conf | sed -e '/^$/d'"
что говорит?

если добавить

Цитировать
acl ICQ_ports port 443
acl ICQ_ports port 5190
http_access deny CONNECT ICQ_ports

то через squid ICQ клиент подключиться, если клиенту явно указать использование proxy?


Пользователь решил продолжить мысль 20 Ноября 2010, 19:55:39:
попробовать заблокировать ICQ без установки l7 filter можно так

Цитировать
BLOKED_DOMAIN_NAME="login.icq.com id.rambler.ru"

for bdn in $BLOKED_DOMAIN_NAME
do
iptables -t filter -A INPUT -m string --string "$bdn" --algo kmp --to 65535 -j DROP -v
iptables -t filter -A FORWARD -m string --string "$bdn" --algo kmp --to 65535 -j DROP -v
done

iptables -I FORWARD -m tcp -p tcp --dport 5190 -j DROP

« Последнее редактирование: 20 Ноября 2010, 20:22:31 от Unreg »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28511
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #33 : 21 Ноября 2010, 03:31:29 »
кстати говоря

$ uname -r; /usr/sbin/iptables -V
Цитировать
2.6.30.1-l7
iptables v1.4.4
$ sudo iptables-save -t nat
Цитировать
-A PREROUTING ! -d 172.16.1.0/24 -i eth1 -p tcp -m iprange --src-range 172.16.1.2-172.16.1.254 -m multiport --dports 80,8080 -j DNAT --to-destination 172.16.1.1:3131
а
$ uname -r; /sbin/iptables -V
2.6.26-2-686
iptables v1.4.2
$ sudo iptables-save -t nat

Цитировать
-A PREROUTING -d ! 192.168.5.0/24 -i eth1 -p tcp -m iprange --src-range 192.168.5.2-192.168.5.254 -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.5.1:3128

Без разницы. Ещё на 1,3,8 правильно работают оба варианта.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн dim-mik

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #34 : 23 Ноября 2010, 10:50:56 »
Пытался делать по подсказкам Unreg.
-A PREROUTING -s 192.168.0.0/24 ! -d 192.168.0.0/24 -i eth0 -p tcp  -m multiport --dports 80,8080 -j DNAT --to-destination 192.168.0.1:3128 -v
-A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE -v
sysctl -w net.ipv4.ip_forward=1

Все открыто и работает.

Потом

iptables -P FORWARD DROP
iptables -A FORWARD -m conntrack --ctstate INVALID -j DROP -v
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -v
iptables -A FORWARD -m conntrack --ctstate DNAT -j ACCEPT -v

nano /etc/ipt
#!/bin/sh
DPORTS="25 110 465"
for dp in $DPORTS; do
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport $dp -m conntrack --ctstate NEW -j ACCEPT -v
done
sh -vx /etc/ipt

Ничего не работает.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13763
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #35 : 23 Ноября 2010, 11:12:08 »
порты в /etc/ipt через запятую надо
и смотреть всегда надо результирующие цепочки.

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: Не получается настроить прозрачный прокси
« Ответ #36 : 23 Ноября 2010, 13:03:40 »
Цитировать
порты в /etc/ipt через запятую надо
зачем? тогда надо --dport на  -m multiport --dports менять и одним правилом разрешать эти порты назначения. Идея была в том чтобы на каждый порт отдельной правило на порт назначения с действием ACCEPT
просто если этих портов штук 50, то проще добавить цифры в массив $DPORTS
Цитировать
$ sudo iptables -F; sudo iptables -F -t nat ; sudo iptables -F -t mangle; sudo iptables -P INPUT ACCEPT; cat /etc/ipt;sudo sh -vx /etc/ipt; sudo iptables-save -t filter;
Цитировать
#!/bin/sh
DPORTS="25 110 465"
for dp in $DPORTS; do
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport $dp -m conntrack --ctstate NEW -j ACCEPT -v
done
Цитировать
#!/bin/sh
DPORTS="25 110 465"
+ DPORTS='25 110 465'
for dp in $DPORTS; do
iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport $dp -m conntrack --ctstate NEW -j ACCEPT -v
done
+ for dp in '$DPORTS'
+ iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport 25 -m conntrack --ctstate NEW -j ACCEPT -v
ACCEPT  tcp opt -- in eth0 out *  192.168.0.0/24  -> 0.0.0.0/0  tcp dpt:25 ctstate NEW
+ for dp in '$DPORTS'
+ iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport 110 -m conntrack --ctstate NEW -j ACCEPT -v
ACCEPT  tcp opt -- in eth0 out *  192.168.0.0/24  -> 0.0.0.0/0  tcp dpt:110 ctstate NEW
+ for dp in '$DPORTS'
+ iptables -A FORWARD -s 192.168.0.0/24 -i eth0 -m tcp -p tcp --dport 465 -m conntrack --ctstate NEW -j ACCEPT -v
ACCEPT  tcp opt -- in eth0 out *  192.168.0.0/24  -> 0.0.0.0/0  tcp dpt:465 ctstate NEW
# Generated by iptables-save v1.4.4 on Tue Nov 23 12:57:18 2010
*filter
:INPUT ACCEPT [16:832]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [5001:466697]
-A FORWARD -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 25 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 110 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -i eth0 -p tcp -m tcp --dport 465 -m conntrack --ctstate NEW -j ACCEPT
COMMIT
# Completed on Tue Nov 23 12:57:18 2010
« Последнее редактирование: 23 Ноября 2010, 13:10:19 от Unreg »

Оффлайн dim-mik

  • Автор темы
  • Участник
  • *
  • Сообщений: 104
    • Просмотр профиля
Re: Не получается настроить прозрачный прокси
« Ответ #37 : 29 Ноября 2010, 18:49:05 »
Настраиваю следующим образом:
eth0 - интернет
eth1 - локалка

/etc/sysctl.conf
net.ipv4.ip_forward = 1

iptables -A INPUT -i lo -j ACCEPT
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

из внешней сети внутрь
iptables -A FORWARD -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o eth1 -j REJECT

из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -p udp -m udp --dport 53 -m state --state NEW -j ACCEPT
iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dports 110,25,465,80,443 -m mac --mac-source 00:00:00:00:00:01 -j ACCEPT # computer1
iptables -A FORWARD -i eth1 -o eth0 -p tcp -m multiport --dports 110,25,465 -m mac --mac-source 00:00:00:00:00:02 -j ACCEPT #computer2
#  и т.д.
iptables -A FORWARD -i eth1 -o eth0 -j REJECT

Работает так:
computer1 - открывает http, https, получает и отправляет почту.
computer2 - получает и отправляет почту.

Могу блокировать сайты
iptables -A FORWARD -m string --string "vkontakte.ru" --algo kmp --to 65535 -j DROP

Как вариант тоже нормально.
Но если установить SQUID, он не выполняет правил iptables. Почему?
Хотелось бы чтоб одни только почту получали, другие на web-странички заходили.
ICQ блокировать определенным пользователям тоже не могу.
« Последнее редактирование: 29 Ноября 2010, 20:18:48 от dim-mik »

 

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