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


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

Автор Тема: squid и iptables  (Прочитано 902 раз)

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

Оффлайн Solodoron

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
squid и iptables
« : 26 Апреля 2017, 10:45:24 »
Здравствуйте. На компьютере, с 2-мя сетевыми интерфейсами, стоит прокси сервер squid и iptables. Задача сделать так, чтобы можно было лазить в интернете через прокси. Прокси настроил, машины выходят в сеть, если прописать ip:порт.
Проблема заключается в том, что если не прописывать прокси то машина тоже имеет доступ в интернет. Как я понимаю эти вещи необходимо ограничить iptables, и дело скорее всего в FORWARD.
Подскажите пожалуйста как должны быть настроены правила, у меня пока все по стандарту.

Правила iptables:
#!/bin/sh
 
#Включаем форвардинг пакетов
echo 1 > /proc/sys/net/ipv4/ip_forward
 
#Разрешаем траффик на lo
iptables -A INPUT -i lo -j ACCEPT
 
#Разрешаем доступ из внутренней сети наружу
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
 
#Включаем NAT
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
 
# Заворачиваем http на прокси
iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.0.0/24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.0.1:3128



Пользователь добавил сообщение 26 Апреля 2017, 12:19:59:
Решение было очень простым, пользователи должны работать на АРМ с правами доступа пользователя. Таким образом они не могли бы поменять dns.

Вопрос теперь стоит как настроить iptables.
Нашел неплохие правила, добавил в начале файла. Получилось так что не видит сеть внутреннюю сеть ( внешнюю не пинговал)

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#INPUT цепочка
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT #разрешить внутренний интерфейс
iptables -A INPUT -p icmp -j ACCEPT #разрешить пинг
iptables -A INPUT -p tcp -i eth0 --dport 3128 -j ACCEPT #Squid

#OUTPUT цепочка
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -p icmp -j ACCEPT # Разрешаем пинг
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #Доступ к web
$iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
$iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT

Добавил в цепочки
iptables -A INPUT -i eth0 --match state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -o eth0 --match state --state NEW, ESTABLISHED, RELATED -j ACCEPT

Эффекта никакого, подскажите в что не так с правилами?
« Последнее редактирование: 26 Апреля 2017, 12:19:59 от Solodoron »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: squid и iptables
« Ответ #1 : 26 Апреля 2017, 17:21:10 »
А всего-то надо
echo 1 > /proc/sys/net/ipv4/ip_forward
А про всё остальное просто забыть

Оффлайн Solodoron

  • Автор темы
  • Новичок
  • *
  • Сообщений: 11
    • Просмотр профиля
Re: squid и iptables
« Ответ #2 : 03 Мая 2017, 09:09:11 »
Это было, я забыл указать.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: squid и iptables
« Ответ #3 : 03 Мая 2017, 10:22:18 »
Что "было"?

 

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