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


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

Автор Тема: прозрачный прокси сервер и https  (Прочитано 2194 раз)

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

Оффлайн Rydj

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
прозрачный прокси сервер и https
« : 28 Ноября 2011, 11:18:25 »
Доброго времени суток никак не могу решить проблему у себя в сети. Есть шлюз под управлением ubuntu 10.04, настроил прозрачный прокси сервер и проброс портов. Проблема в том что народ в последнее время стал сидеть на торентах, подскажите команду как заблокировать все порты и оставить только нужные. Попробовал настроить но почему то при этом варианте https не работает(
*filter
:INPUT DROP #запрещаем все входящие подключения
:FORWARD DROP #запрещаем все перенаправления через NAT
:OUTPUT ACCEPT

#для большей секьюрности:
-A INPUT ! -i lo -m addrtype --src-type LOCAL -j DROP
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp ! --tcp-flags FIN,SYN,RST,ACK SYN -j DROP
-A INPUT -p tcp -m conntrack --ctstate INVALID,NEW -m tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT --reject-with icmp-port-unreachable

-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT #пропускаем установленные соединения
-A FORWARD -i eth0 -p tcp -m state --state NEW -m tcp -m multiport --dports 80,8080,5900,443 -j ACCEPT #разрешаем подключения на необходимые порты
-A INPUT -i lo -j ACCEPT # разрешаем локальные подключения
-A INPUT -i eth1 -j ACCEPT# разрешаем все подключения из локалки
COMMIT

*nat
:PREROUTING ACCEPT
:POSTROUTING ACCEPT
:OUTPUT ACCEPT
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination x.x.x.x(ip локалки):80
-A PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination x.x.x.x(ip локалки):80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5900 -j DNAT --to-destination x.x.x.x(ip локалки):5900
-A POSTROUTING -o eth0 -j SNAT --to-source внешний ip
COMMIT

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #1 : 28 Ноября 2011, 13:11:25 »
Сразу видно, что Вы не разобрались что делаете...

Оффлайн Rydj

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #2 : 28 Ноября 2011, 13:58:11 »
Сразу видно, что Вы не разобрались что делаете...
Очень информативно спасибо. Я и сам понял что если не работает значит где-то ошибка, буду благодарен если объясните где и как добиться желаемого

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #3 : 28 Ноября 2011, 14:03:17 »
При чём тут https? У Вас там такой бардак, что в принципе, netfilter занимается какой-то хернёй, а не разруливает траффик.
Сразу видно. что подёргали интересные правила, а составить их в нормальные цепочки - не хватило знаний. Да что в цепочки, даже интерфейсы расставлены наобум.

Пользователь решил продолжить мысль 28 Ноября 2011, 14:07:58:
Объясните, что делает вот это правило?
-A FORWARD -i eth0 -p tcp -m state --state NEW -m tcp -m multiport --dports 80,8080,5900,443 -j ACCEPTИ судя по
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination x.x.x.x(ip локалки):80
....
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination x.x.x.x(ip локалки):80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5900 -j DNAT --to-destination x.x.x.x(ip локалки):5900
у Вас подняты пара http-серверов, icq-сервер
« Последнее редактирование: 28 Ноября 2011, 14:07:58 от fisher74 »

Оффлайн Rydj

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #4 : 28 Ноября 2011, 15:59:16 »
про первое правило там в коменте написано что для eth0 разрешает использовать порты для интернета и которые в NAT описаны. Я давно уже консультировался тут по этому поводу https://forum.ubuntu.ru/index.php?topic=160506.msg1181501#msg1181501 , потом на работе было не до этого вот сейчас решил все же разобраться.  Сейчас на сервере прописаны такие правила:
# Generated by iptables-save v1.4.4 on Mon Nov 28 14:34:33 2011
*filter
:INPUT ACCEPT [343107269:161456658101]
:FORWARD ACCEPT [290832778:116785609177]
:OUTPUT ACCEPT [437645944:171882026977]
-A INPUT -i lo -j ACCEPT
COMMIT
# Completed on Mon Nov 28 14:34:33 2011
# Generated by iptables-save v1.4.4 on Mon Nov 28 14:34:33 2011
*nat
:PREROUTING ACCEPT [58119044:3590588077]
:POSTROUTING ACCEPT [9197868:552048676]
:OUTPUT ACCEPT [18113700:1135508120]
-A PREROUTING -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 172.16.x.x:80
-A PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth0 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 172.16.x.x:80
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5900 -j DNAT --to-destination 172.16.x.x:5900
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5901 -j DNAT --to-destination 172.16.x.x:5901
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5902 -j DNAT --to-destination 172.16.x.x:5900
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5903 -j DNAT --to-destination 172.16.x.x:22
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5904 -j DNAT --to-destination 172.16.x.x:5900
-A PREROUTING -i eth0 -p tcp -m tcp --dport 4695 -j DNAT --to-destination 172.16.x.x:4695
-A PREROUTING -i eth0 -p tcp -m tcp --dport 3690 -j DNAT --to-destination 172.16.x.x:3690
-A PREROUTING -i eth0 -p tcp -m tcp --dport 5905 -j DNAT --to-destination 172.16.x.x:22
-A POSTROUTING -o eth0 -j SNAT --to-source x.x.x.x
COMMIT


подскажите что там нужно поправить?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #5 : 28 Ноября 2011, 16:19:13 »
Запрещаем шарахаться по любым портам
sudo iptables -P FORWARD DROP
Разрешаем траффик по установленным соединениям, загоняя правило в начало, чтобы снизить нагрузку на "ведро"
sudo iptables -I FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
Заменяем правила редиректа прозрачности
sudo iptables -t nat -D PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080 -j REDIRECT --to-ports 3128
sudo iptables -t nat-A PREROUTING -i eth1 -p tcp -m multiport --dports 80,8080,443 -j REDIRECT --to-ports 3128

P.S. правда многие здесь не любят https траффик через прокси, но ...

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #6 : 28 Ноября 2011, 16:20:34 »
Чего его любить, если он не работает? :)
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #7 : 28 Ноября 2011, 16:24:36 »
Да ладно. Пока не было проблем.

Оффлайн Rydj

  • Автор темы
  • Участник
  • *
  • Сообщений: 158
    • Просмотр профиля
Re: прозрачный прокси сервер и https
« Ответ #8 : 28 Ноября 2011, 16:39:32 »
Спасибо большое попробую на неделе

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: прозрачный прокси сервер и https
« Ответ #9 : 28 Ноября 2011, 19:48:50 »
Если уж так хочется завернуть https на прозрачный прокси, то капаните в сторону Zorp и tproxy
P.S. WPAD давно придумали

 

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