LInux Squid прокси

В нашем офисе есть прокси-сервер RHEL 5.0.

Наша локальная сеть 172.20.12.0 /24 н / ж. IP-адрес прокси 172.20.12.4 / 24.

Я хочу поделиться интернетом через прокси.

Самое главное:

  1. Я хочу дать полный доступ к двум IP-адресам 172.20.12.8 и 172.20.12.9 для доступа в интернет
  2. Все пользователи должны иметь прокси-адрес в своих браузерах, чтобы получить интернет, без прокси в браузере интернет должен быть заблокирован.

Может кто-нибудь помочь мне с тем, что написать в iptables?

1 ответ

Если вы хотите, чтобы определенные диапазоны IP-адресов проходили через прокси-сервер, в основном вы хотите заблокировать исходящий TCP-трафик через порт 80 (и 443, если вы используете HTTPS), исходящий из 172.20.12.0/24, на вашем интерфейсе с выходом в Интернет. Таким образом, если они попытаются не использовать прокси, соединения не будут установлены.

Вы хотите убедиться, что перед этим правилом поставлено три исключения:

  • один для самого прокси, трафику, исходящему из 172.20.12.4, следует разрешить отправлять трафик по портам TCP 80/443
  • два для IP-адресов, которые вы хотите пропустить прокси до этого правила, хотя.

Ниже вы можете добавить то, что iptables Сценарий или команды, которые вы можете выполнить напрямую. Три вещи, которые нужно иметь в виду:

  • Возможно, вам придется взглянуть на существующие правила, чтобы убедиться, что предыдущие правила не принимают трафик, который вы бы предпочли заблокировать.
  • Это предполагает ваш OUTPUT политика DROP (т.е. трафик, который явно не ACCEPTЭд является DROPPED). Если это не так, вам нужно еще одно правило внизу, чтобы отбросить все остальное, происходящее из 172.20.12.0/24 и пытающееся выйти через TCP 80/443.
  • $OUT_IFACE это ваш интернет или интерфейс, обращенный вверх

# accepts all traffic outgoing on TCP 80/443 from 172.20.12.8

/sbin/iptables -A OUTPUT --protocol TCP --source 172.20.12.8/24 --match -multi-port --destination-ports 80,443 --out-interface $OUT_IFACE --jump ACCEPT

# accepts all traffic outgoing on TCP 80/443 from 172.20.12.9

/sbin/iptables -A OUTPUT --protocol TCP --source 172.20.12.9/24 --match -multi-port --destination-ports 80,443 --out-interface $OUT_IFACE --jump ACCEPT

# accepts all traffic outgoing on TCP 80/443 NOT going to 172.20.12.4/sbin/iptables -A OUTPUT --protocol TCP --source 0/0 --destination 172.20.12.4 --match -multi-port --destination-ports 80,443 --out-interface $OUT_IFACE --jump ACCEPT

# assuming a policy of DROP everything not obeying the above rules shoud die. You could add a LOG target here to log any incidents.

Кроме того, прошло некоторое время с тех пор, как я играл со Squid, но я думаю, что у него есть возможность аутентифицировать пользователей и, возможно, применять различные наборы правил к таким пользователям (включая отсутствие правил для определенных пользователей - я думаю, что вы все еще получаете Via: заголовок внедряется в ваши потоки HTTP, которые выдают, что вы используете прокси).

Другие вопросы по тегам