LInux Squid прокси
В нашем офисе есть прокси-сервер RHEL 5.0.
Наша локальная сеть 172.20.12.0 /24 н / ж. IP-адрес прокси 172.20.12.4 / 24.
Я хочу поделиться интернетом через прокси.
Самое главное:
- Я хочу дать полный доступ к двум IP-адресам 172.20.12.8 и 172.20.12.9 для доступа в интернет
- Все пользователи должны иметь прокси-адрес в своих браузерах, чтобы получить интернет, без прокси в браузере интернет должен быть заблокирован.
Может кто-нибудь помочь мне с тем, что написать в iptables?
1 ответ
Если вы хотите, чтобы определенные диапазоны IP-адресов проходили через прокси-сервер, в основном вы хотите заблокировать исходящий TCP-трафик через порт 80 (и 443, если вы используете HTTPS), исходящий из 172.20.12.0/24, на вашем интерфейсе с выходом в Интернет. Таким образом, если они попытаются не использовать прокси, соединения не будут установлены.
Вы хотите убедиться, что перед этим правилом поставлено три исключения:
- один для самого прокси, трафику, исходящему из 172.20.12.4, следует разрешить отправлять трафик по портам TCP 80/443
- два для IP-адресов, которые вы хотите пропустить прокси до этого правила, хотя.
Ниже вы можете добавить то, что iptables
Сценарий или команды, которые вы можете выполнить напрямую. Три вещи, которые нужно иметь в виду:
- Возможно, вам придется взглянуть на существующие правила, чтобы убедиться, что предыдущие правила не принимают трафик, который вы бы предпочли заблокировать.
- Это предполагает ваш
OUTPUT
политикаDROP
(т.е. трафик, который явно неACCEPT
Эд являетсяDROP
PED). Если это не так, вам нужно еще одно правило внизу, чтобы отбросить все остальное, происходящее из 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, которые выдают, что вы используете прокси).