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


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: Настройки NAT и прозрачный прокси-сервер  (Прочитано 179482 раз)

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

Оффлайн sloki

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Добрый день!

Установил Ubuntu Server 12.10. На сервере установлены две сетевые карты:
eth0 – внутренняя сеть, IP 192.168.2.1
eth1 – внешняя сеть, IP 192.168.1.2 – подключена к модему с интернетом, модем сам подключается к интернету и имеет IP 192.168.1.1

Также организовал раздачу IP адресов клиентам средствами isc-dhcp-server (почему-то устанавливается вместо пакета DHCPD3) 192.168.2.10...192.168.2.150 с маской 255.255.255.0. Шлюз дается 192.168.2.1, а DNS провайдера.

Настройки IPTABLES делал так:

iptables --flush
iptables --table nat --flush
iptables --delete-chain
iptables --table nat --delete-chain

iptables -A FORWARD -i eth0 -o eth1 -s 192.168.2.0/24  -j ACCEPT
iptables -A POSTROUTING -t nat -j MASQUERADE

sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"

добавил в /etc/sysctl.conf
net.ipv4.conf.default.forwarding=1
net.ipv4.conf.all.forwarding=1

перегрузил сеть /etc/init.d/networking restart

Проверил, есть интернет у клиентов.

Сохранил настройки sh -c "iptables-save > /etc/iptables.up.rules"

Добавил в /etc/network/interfaces
pre-up iptables-restore < /etc/iptables.up.rules

Перегрузил сервак... все нормально. Интернет есть.
=========================================

Установил SQUID3 порт 3128 (стандарт), пока дал всем доступ в интернет http_access allow localnet
также прописал http_port 3128 transparent

Выполнил команды:
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

IE у клиентов заработал через SQUID.

Теперь хотелось бы закрыть все порты, чтоб все игнорировалось не доходя до кальмара, а только определенные порты, не прямо, а с заворотом шли через SQUID.

Оставить нужно https, ftp, маил агент, касперкий, пока вроде все.
Остальное закрыть, вплоть до обновления windows.
===============================================

КАК??? Что и куда дописать? В Ubuntu зеленый-зелены, просьба на пальцах показывать. С открытием думаю аналогично как и 80 порт, а вот как закрыть все сразу?

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #1 : 28 Марта 2013, 10:18:29 »
Теперь хотелось бы закрыть все порты, чтоб все игнорировалось не доходя до кальмара, а только определенные порты, не прямо, а с заворотом шли через SQUID.
"Переведи" ©

Теперь хотелось бы закрыть все порты, чтоб все игнорировалось не доходя до кальмара
Цитировать
iptables -A FORWARD -i eth0 -o eth1 -s 192.168.2.0/24  -j ACCEPT
iptables -A POSTROUTING -o eth1 -t nat -j MASQUERADE

чтоб все игнорировалось не доходя до кальмара
Цитировать
iptables -t nat -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
iptables -t nat -A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

Оффлайн sloki

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #2 : 28 Марта 2013, 14:33:56 »
Теперь хотелось бы закрыть все порты, чтоб все игнорировалось не доходя до кальмара, а только определенные порты, не прямо, а с заворотом шли через SQUID.
"Переведи" ©

Имел ввиду, чтоб все лишние кроме указанный портов резались фаерволом

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #3 : 28 Марта 2013, 14:45:15 »
Если их не завернуть на кальмара, то они и так упрутся в DROP в цепочке FORWARD. Ведь Вы выставили дефолтную политику DROP для данной цепочки (и для цепочки INPUT)?

Пользователь решил продолжить мысль 28 Марта 2013, 14:51:25:
На всякий случай поясню простейшие правила построения огненных стен.
Есть 2 основных варианта:
1. Всё запретить и разрешить только нужное
2. Всё разрешить и запрещать "запретные плоды"
В Вашем случае, самое верное использовать первый вариант, поэтому для всех основных политик фильтрации трафика (таблица filter) нужно использовать параноидальные политики, т.е. DROP. Но есть одно НО. Для начинающих правилописцев не рекомендуется устанавливать такое правило на цепочку OUTPUT, ввиду сложности понимания её конфигурирования.
А дальше начинаете разрешать....
« Последнее редактирование: 28 Марта 2013, 14:51:25 от fisher74 »

Оффлайн sloki

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #4 : 29 Марта 2013, 00:42:45 »
Если их не завернуть на кальмара, то они и так упрутся в DROP в цепочке FORWARD. Ведь Вы выставили дефолтную политику DROP для данной цепочки (и для цепочки INPUT)?

прописывал iptables -P FORWARD DROP на этом весь интернет заканчивался  :-\

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #5 : 29 Марта 2013, 08:41:24 »
Естественно. но заметьте, если браузеру прописать в настройках прокси, то интернет появится. А всё дело в DNS.
Вам нужно либо: а) свой DNS-сервер; б) свой репитер DNS-запросов; в) разрешить клиентам пользоваться DNS-серверами за пределами локальной сети, добавив соответствующее разрешающее правило в цепочку FORWARD

Оффлайн sloki

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #6 : 29 Марта 2013, 12:00:12 »
... добавив соответствующее разрешающее правило в цепочку FORWARD

примерно может подсказать как??? Я думал хватит разрешить порт iptables -A FORWARD -i eth1 -p tcp --dport 80 -j ACCEPT но не идет

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #7 : 29 Марта 2013, 12:33:40 »
sudo iptables -I FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A FORWARD -i eth1 -p udp --dport 53 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -p tcp --dport 53 -j ACCEPT

Оффлайн sloki

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #8 : 29 Марта 2013, 18:48:37 »
Приклоняю голову!!!!
Неделю по 4 часа в сутки спал, а тут 4 команды и все. Получается я Руководство по iptables (Iptables Tutorial 1.1.19) не только не начал вкуривать, а даже не раскурил нормально. Ни одной верной команды ...
Буду дальше читать ... Тут на форуме пишут, что https и ftp не идет по прозрачной прокси, но по моему Вы писали что все работает, я не ошибаюсь?
« Последнее редактирование: 29 Марта 2013, 18:51:27 от sloki »

Оффлайн Vitsliputsli

  • Старожил
  • *
  • Сообщений: 1293
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #9 : 29 Марта 2013, 19:36:09 »
Цитировать
Тут на форуме пишут, что https и ftp не идет по прозрачной прокси, но по моему Вы писали что все работает, я не ошибаюсь?
все должно работать, но вскрыть https и посмотреть что внутри через прозрачный не сможете.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28466
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #10 : 30 Марта 2013, 03:16:43 »
Vitsliputsli, HTTPS через прозрачный прокси вы не прокинете.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #11 : 30 Марта 2013, 08:18:19 »
+1
Если кальмар работает в обычном режиме, то браузер обращаясь по ssl через него передаёт ему траффик в открытом виде, а тот уже работает с ресурсом от своего имени. В случае прозрачности сей финт не получается.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28466
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #12 : 30 Марта 2013, 08:27:12 »
fisher74, если прокси работает в обычном виде, браузер запрашивает у него прямое соединение с удалённым хостом (CONNECT host:port HTTP/1.1), и дальше работает, практически, через тоннель.
Т.е. прокси знает, на какой адрес-порт клиент пошел, но кроме этого, и количества переданных данных, ничего узнать не в состоянии.
« Последнее редактирование: 30 Марта 2013, 09:09:11 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Настройки NAT и прозрачный прокси-сервер
« Ответ #13 : 30 Марта 2013, 08:50:16 »
Вынужден согласиться. Я глубоко не вдавался в процесс работы прокси. Где нужно было - там уже работает сто пятьдесят лет, в остальных сопровождаемых объектах скоростной анлим, потому прокси стало просто неактуально.

 

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