LINUX.ORG.RU

раздача интернета в сеть (интернет через прокси)


0

1

Приветствую всех! Помогите пожалуйста раздачей интернета в локальную сеть!?

Источник интернета: прокси-сервер («спринт») на «этой» машине (спутниковый интернет) Система: ubuntu 10.04 desktop Интерфейсы: eth0 (локальная сеть) адрес 192.168.1.1

Задача: раздать интернет «локальной сети» таким образом, что бы «весь» трафик «заворачивался» на прокси порт 3128 (спутниковый интернет), что бы трафик не «шел» по «земле».

На клиентских компьютерах прописаны «шлюз» и «днс»: 192.168.1.1

«iptables» практически вообще не понимаю

помогите?


Вот тебе пример для tcp-трафика на 80-м порту:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

А вот так для редиректа на другой айпишник

iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 192.168.0.2:3128

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

понимаю, что похожи настройки должны быть со «сквидом», НО у меня не «сквид», а «спринт», и «спринт» не прозрачен.

могу ли я «отделаться» настройками только iptables? ... собственно чего я и прошу! Настройки iptables для моего случая

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

Не хочет редиректиться!

Ввёл:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128
- результата нет :(

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

самое интересное, что: если поставить в обозревателе на «клиентской» машине прокс-сервер 192.168.1.1:80, то интернет работает... А нужно то как раз, что бы работало без явного указания «прокси-сервера» на клиентской машине.

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

Чего то тут не хватает...

Видимо не хватает какой то опции или параметра... а вот чего именно хз...

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

Другой вариант?

Другой вариант конфигурации «iptables» или ... ?

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

вывод sudo iptables -t nat -L PREROUTING

root@inet-desktop:~# sudo iptables -t nat -L PREROUTING
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:www redir ports 3128
REDIRECT   tcp  --  anywhere             anywhere            tcp dpt:www redir ports 3128
babel
() автор топика
Ответ на: вывод sudo iptables -t nat -L PREROUTING от babel

У тебя одна строка лишняя. Просмотри номера всех строк:

iptables -t nat -L PREROUTING --line-numbers
Удали последнюю
iptables -t nat -D PREROUTING номер 

Ты писал

если поставить в обозревателе на «клиентской» машине прокс-сервер 192.168.1.1:80

Так у тебя прокся на 80-м порту? Запусти ее на 3128 и проверь работает ли она если это указать в браузере руками. И вообще поставь squid

sudo apt-get install squid
В конфиге по умолчанию для squid (/etc/squid/squid.conf) надо изменить одну строку
http_port 3128
на
http_port 3128 transparent
Рестартуем squid:
sudo service squid restart

andrew667 ★★★★★
()

Никто не сможет пользоваться ftp, https (т.е. еще и всеми сайтами с небыдловской аутентификацией), торрентами и т.д., и т.п.

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от andrew667

Где-то с год назад чего только не перепробовал. Ну не умеет он прозрачно проксировать https (без взлома), ftp (вообще) и всякие «интересные вещи».

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

Где-то с год назад чего только не перепробовал. Ну не умеет он прозрачно проксировать https (без взлома), ftp (вообще)

Ну-ну. Особенно про ftp особенно про ftp повеселил. ftp работает, но несколько ограниченно, что тоже лечится.

andrew667 ★★★★★
()
Ответ на: Спасибо, ребят, за помощь от babel

P.S. если у тебя нету локального бинда на 192.168.1.1, то не забудь сделать маскарад трафика на 53 порту.

andrew667 ★★★★★
()
Ответ на: Спасибо, ребят, за помощь от babel

Спасибо товарищи за помощь!

Обошёлся без «SQUID». На самом деле надо то было «всего лишь поставить пакет»: «dnsmasq»

sudo apt-get install dnsmasq
так как DHCP сервер мне не нужен, я обошёлся без его настройки:
sudo nano /etc/dnsmasq.conf
Ну и конечно же сам ПРОБРОС портов (у меня 80, может потребуется ещё для https и ftp ввести парочку, мы уже знаем как делать):
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

И всё работает! Спасибо всем!

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

Правила добавил в скрипт, и..

Забыл про правило «маскарадинга». В этом случае весь трафик от других ПК в сети перенаправляется на интерфейс «ppp0» (3G/GPRS соединение), так же на клиентских ПК сети, разумеется, появляется «пинг» в «интернет». Получается полноценный «маршрутизатор», но, в моём случае, без «DHCP» сервера:

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

Ну и повторюсь, - это правило «заворачивает» «http» соединения на порт прокси-сервера (у меня это «Спринт»). Разумеется, такое правило для того, что бы «http» трафик с других ПК в сети шёл через «спутник»:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128

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