Рейтинг:0

Правила IPtables для обхода прокси-сервера squid

флаг it

Я думаю, мне просто нужна проверка работоспособности некоторых правил iptables. (Осторожно, спойлер, это не хорошо.)

Основной вопрос. У нас есть прокси-сервер Squid, который мешает работе с различными интернет-ресурсами. Я удаленно и хочу обновить правила IPTable на прокси-сервере, чтобы трафик никогда не достигал прокси-сервиса. Это временное исправление, пока я работаю над переносом сети на реальное сетевое оборудование.

Таким образом, цель состоит в том, чтобы направить весь трафик, который не является SSH, из локальной сети (enp5s0 10.90.30.1/16) на «Маршрутизатор» (192.168.165.1/24) с интерфейсом (enp4s0 192.168.165.1/24)

iptables -t nat -A PREROUTING -p tcp --dport 22 -d 10.90.30.1 -j ВХОД
iptables -t nat -A PREROUTING -p tcp --dport 80 -d 10.90.30.1 -j ВХОД
iptables -t nat -A PREROUTING -i enp5s0 -d 10.90.30.1 -j DNAT --to 192.168.165.1
iptables -t nat -A PREROUTING -i enp4s0 -d 192.168.165.151 -j DNAT --to 10.90.30.1
iptables -A INPUT -tcp --dport 22 -d 10.90.30.1 -j ПРИНЯТЬ
iptables -A Foward -i enp5s0 -d 10.90.30.1 --dport 22 принять
iptables -t nat -A POSTROUTING -o enp4s0 -j ​​MASQUERADE
iptables -t nat -A POSTROUTING -o enp5s0 -j ​​MASQUERADE

Я ценю всю помощь, которую я могу получить. Мне нравится думать, что я понимаю Iptables достаточно, чтобы настроить основные брандмауэры. Но расширенная маршрутизация — это то, чем мне никогда не приходилось заниматься.

Сколько NAT слишком много NAT? столько НАТ.

vidarlo avatar
флаг ar
Как вы ожидаете, что ваш маршрутизатор узнает, что делать с пакетами, которые он получает, если вы переписываете пункт назначения?
Рейтинг:0
флаг ar

Итак, причина, по которой работает прозрачный прокси, заключается в том, что протоколы верхнего уровня содержат информацию о том, куда подключаться. В HTTP это Хозяин заголовок; в TLS это заголовок SNI.

Но когда вы перенаправляете пакеты на уровне 3, где работают маршрутизаторы, маршрутизатор, который получает переписанный пакет, понятия не имеет, что с ним делать. Пункт назначения указан как IP-адрес маршрутизатора, который, вероятно, не прослушивает порт назначения. Если окажется, что он прослушивает, он передаст пакет тому программному обеспечению, которое его прослушивает, а не перенаправит его.

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

Рейтинг:0
флаг id

Вероятно, вы можете пометить пакеты с помощью iptables, а затем создать специальную таблицу маршрутизации для этих помеченных пакетов. Просто пример, как это работает:

# IPv4 адрес прокси
ПРОКСИIP4=192.168.1.45

# IPv6 адрес прокси
PROXYIP6=fd48:2b50:6a95:a6db::73:7175:6964

# интерфейс, обращенный к клиентам и клиентам, которые будут сквидифицированы
CLIENTIFACE=br-lan
CLIENTIP=smart-tv.lan

# произвольная метка, используемая брандмауэром для маршрутизации пакетов. Может быть любым от 1 до 64.
FWMARK=8

# цепочка (должно быть OUTPUT на клиенте и PREROUTING на роутере)
ЦЕПЬ=ПРЕДВАРИТЕЛЬНАЯ ПРОВОДКА

# идентификатор таблицы маршрутизации
ТАБЛИЦА=252


# разрешить выход Squid Box в Интернет
#iptables -t mangle -A $CHAIN ​​-p tcp --dport 80 -s $PROXYIP4 -j ПРИНЯТЬ
#ip6tables -t mangle -A $CHAIN ​​-p tcp --dport 80 -s $PROXYIP6 -j ПРИНЯТЬ

# помечаем все остальное на порту 80 как маршрутизируемое на Squid box
iptables -t mangle -A $CHAIN ​​-p tcp -s $CLIENTIP -m multiport --dports 80 443 -j MARK --set-mark $FWMARK
ip6tables -t mangle -A $CHAIN ​​-p tcp -s $CLIENTIP -m multiport --dports 80 443 -j MARK --set-mark $FWMARK

# NP: Убедитесь, что трафику внутри сети снова разрешено зацикливаться.
iptables -t filter -A FORWARD -i $CLIENTIFACE -o $CLIENTIFACE -p tcp --dport 80 -j ПРИНЯТЬ
ip6tables -t filter -A FORWARD -i $CLIENTIFACE -o $CLIENTIFACE -p tcp --dport 80 -j ПРИНЯТЬ

ip правило добавить fwmark $FWMARK таблицу $TABLEID
ip route добавить по умолчанию через таблицу $PROXYIP4 $TABLEID
правило ip -6 добавить fwmark $FWMARK таблицу $TABLEID
ip -6 маршрут добавить по умолчанию через таблицу $PROXYIP6 $TABLEID

Для вас без модификаций он неприменим, потому что фактически делает наоборот — перенаправляет трафик НА Squid-прокси. (Вероятно, я также получил это из какого-то учебника.) Моя цель состоит в том, чтобы продемонстрировать, что вы можете применять другую таблицу маршрутизации для отмеченных пакетов, и я думаю, что это то, что вам также нужно сделать.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.