Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Интернет-шлюз через родительский прокси (http://forum.oszone.net/showthread.php?t=218408)

atm_kzn 19-10-2011 22:21 1777337

Интернет-шлюз через родительский прокси
 
Добрый день.
Ситуация следующая: провайдер (точнее вышестоящая организация) даёт интернет через свой прокси. Хочу поднять шлюз на ubuntu server 10.04 с прозрачным прокси (https через nat пусть идёт).
Сеть настроена следующим образом:
Код:

/etc/network/interfaces
#eth0 - локалка
#eth1 - инет
auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.0.254
netmask 255.255.255.0

auto eth1
iface eth1 inet static
address 192.168.71.30
netmask 255.255.255.252
gateway 192.168.71.29

Собственно, в /etc/systcl.conf раскоментировал "net.ipv4.ip_forward = 1"
Ну и включён маскарад в iptables:
Код:

iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE
DNS-ы форвардятся при помощи dnsmasq.
Если на клиентах в качестве шлюза и днс-сервера указать 192.168.0.254 и убрать в настройках браузера родительский прокси, то инета нет.
Если на сервере поднять прозрачный squid, настроенный на родительский прокси и завернуть 80 порт на 3128, то инет на клиентах появляется, но без явного указания прокси в браузере не работает https.
Я так понимаю, что серверу нужно как-то указать, чтобы он работал через родительский прокси (вопрос - КАК?). wget и apt на сервере работают, но для них указан прокси.
Редактировать сообщение

El Scorpio 20-10-2011 09:22 1777544

Цитата:

Цитата atm_kzn
Если на сервере поднять прозрачный squid, настроенный на родительский прокси и завернуть 80 порт на 3128, то инет на клиентах появляется, но без явного указания прокси в браузере не работает https. »

Потому что HTTPS по-умолчанию использует другой порт (443-й), для которого "заворачивание" не настраивали

dmitryst 20-10-2011 12:28 1777668

Цитата:

Цитата El Scorpio
Потому что HTTPS по-умолчанию использует другой порт (443-й), для которого "заворачивание" не настраивали »

А Squid https протокол вроде как не обрабатывает:
Цитата:

Squid can accept regular proxy traffic using https_port in the same way Squid does it using an http_port directive. Unfortunately, popular modern browsers do not permit configuration of TLS/SSL encrypted proxy connections. There are open bug reports against most of those browsers now, waiting for support to appear. If you have any interest, please assist browser teams with getting that to happen. Meanwhile, tricks using stunnel or SSH tunnels are required to encrypt the browser-to-proxy connection before it leaves the client machine. These are somewhat heavy on the network and can be slow as a result.
(отсюда - http://wiki.squid-cache.org/Features/HTTPS). Лучше весь шифрованый трафик пускать напрямую, не через сквид

vadblm 20-10-2011 12:59 1777690

SSL (да и вообще всё) можно пускать через SOCKS5 прокси, но ессно нужен и парент SOCKS5.

atm_kzn 20-10-2011 13:32 1777740

Цитата:

Цитата El Scorpio
Потому что HTTPS по-умолчанию использует другой порт (443-й), для которого "заворачивание" не настраивали »

Пробовал, без толку.
Цитата:

Цитата dmitryst
А Squid https протокол вроде как не обрабатывает: »

Именно.

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

dmitryst 20-10-2011 13:44 1777746

Цитата:

Цитата atm_kzn
Проблема в том, что если сквид остановить и оставить только правило для ната - инета всё равно нет. Непонятно, как сказать серверу, чтобы он работал через родительский прокси. »

что значит- "нет интернета"? Недоступен порт 80 или 443? Для 443-го надо делать свое правило, чтобы в обход сквида шел траффик.

atm_kzn 20-10-2011 14:35 1777779

Цитата:

Цитата dmitryst
что значит- "нет интернета"? »

Это значит, что если просто сделать нат, то на пользовательских компах никакие страницы не грузятся (ни по http, ни по https), хотя по идее
Код:

net.ipv4.ip_forward = 1
и
iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth1 -j MASQUERADE

достаточно для того, чтобы интернет в локалке был.
Цитата:

Цитата dmitryst
Для 443-го надо делать свое правило, чтобы в обход сквида шел траффик. »

Я так понимаю, что 443 нужно заворачивать не на eth1, а на порт родительского прокси? Я правильно понимаю?

dmitryst 20-10-2011 21:20 1778079

Цитата:

Цитата atm_kzn
Я так понимаю, что 443 нужно заворачивать не на eth1, а на порт родительского прокси? Я правильно понимаю? »

трафик от локальной сети заворачиваем на тот порт, который выходит в интернет.

Цитата:

Цитата atm_kzn
если просто сделать нат, то на пользовательских компах никакие страницы не грузятся »

я в линуксах не разбираюсь, но по идее должно работать. Проверьте, на каком этапе исчезает пинг.

El Scorpio 21-10-2011 01:03 1778249

Цитата:

Цитата dmitryst
А Squid https протокол вроде как не обрабатывает: »

Прокси-сервера HTTPS не могут кэшировать, потому что не могут расшифровать. Однако перенаправлять - перенаправляют

atm_kzn 21-10-2011 16:42 1778757

Цитата:

Цитата dmitryst
Проверьте, на каком этапе исчезает пинг. »

Пинги и трасировка не работают. Трасировка обрывается на одном из родительских маршрутизаторов, видимо, запрещено.
Цитата:

Цитата El Scorpio
Однако перенаправлять - перенаправляют »

Ага, в двух организациях настраивал squid и всё работало, а в своей не могу с https разобраться. Да и просто NAT не работает, только через squid.

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

dmitryst 21-10-2011 18:50 1778848

Цитата:

Цитата El Scorpio
Однако перенаправлять - перенаправляют »

со сквидом мне договориться не удалось - не работало.

Цитата:

Цитата atm_kzn
Пинги и трасировка не работают »

это как?

El Scorpio 24-10-2011 09:17 1780376

Цитата:

Цитата atm_kzn
Да и просто NAT не работает, только через squid. »

Значит, в чём-то неправильно настроен.
Но это уже второй вопрос


Время: 00:20.

Время: 00:20.
© OSzone.net 2001-