Решено: Iptables (настройка редиректа с исключениями)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

zakachkin
Сообщения: 137

Решено: Iptables

Сообщение zakachkin »

Здравствуйте знатоки iptables - этот вопрос для вас!
имееться сеть 169.254.0.0/24 - которую мы пускаем через прокси
но есть хосты которые должны этот прокси миновать спрашиваеться -как это реализовать?
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Решено: Iptables

Сообщение pelmen »

Напряг мозг и понял, что в сети на шлюзе (который для всех является шлюзом по-умолчанию) настроен редирект с помощью iptables на прокси-сервер, наверное даже squid, наверное даже работающий на этом же шлюзе, наверное даже в прозрачном режиме, иначе не работало бы...
Задача: сделать так, чтоб все так дальше и работали через прозрачный прокси, а некоторые - напрямую через шлюз (без прокси)
Если я тебя правильно понял, то просто перед правилом файервола типа:
iptables -t nat -A PREROUTING -s 169.254.0.0/24 -d !169.254.0.0 -p tcp --dport 80 -j REDIRECT --to-ports 3128
вставить строки
iptables -t nat -A PREROUTING -s 169.254.0.1 -d !169.254.0.0 -p tcp --dport 80 -j ACCEPT
iptables -t nat -A PREROUTING -s 169.254.0.2 -d !169.254.0.0 -p tcp --dport 80 -j ACCEPT
Таким образом над пакетами данного типа выполнится правило "разрешить" и дальше по критериям файервол не пойдет.
Спасибо сказали:
skor
Сообщения: 419
ОС: RTFM-OS v127.0.0.1

Re: Решено: Iptables

Сообщение skor »

iptables -A PREROUTING -t nat -s 169.254.0.10 -j ACCEPT
iptables -A PREROUTING -t nat -s 169.254.0.12 -j ACCEPT
iptables -A PREROUTING -t nat -s 169.254.0.20 -j ACCEPT
....
iptables -A PREROUTING -t nat -s 169.254.0.0/24 -p tcp --dport 80 -j REDIRECT 3128
...
iptables -A POSTROUTING -t nat -s 169.254.0.0/24 -j SNAT --to-source x.x.x.x <<<---- чтоб наружу не уходили с "серыми" адресами

Опередили :rolleyes:
Спасибо сказали:
neol
Сообщения: 600
ОС: Debian Stable

Re: Решено: Iptables

Сообщение neol »

имееться сеть 169.254.0.0/24 - которую мы пускаем через прокси

Тыц
Спасибо сказали:
zakachkin
Сообщения: 137

Re: Решено: Iptables

Сообщение zakachkin »

Да да-) спасибо-) всё получилось-)
Спасибо сказали:
Аватара пользователя
danger08
Сообщения: 715
ОС: Linux (CentOS, Ubuntu)

Re: Решено: Iptables

Сообщение danger08 »

zakachkin писал(а):
27.09.2009 14:10
имееться сеть 169.254.0.0/24 - которую мы пускаем через прокси
но есть хосты которые должны этот прокси миновать спрашиваеться -как это реализовать?

(pelmen) писал(а):Задача: сделать так, чтоб все так дальше и работали через прозрачный прокси, а некоторые - напрямую через шлюз (без прокси)

Можно сделать красивее, сделать универсальное решение (не прерывая последовательности прохождения по цепочкам).
В решении "-A PREROUTING -s 169.254.0.0/24 -d !169.254.0.0" логика неочевидна (имхо, конечно).

Маркируем пакеты, которые не должны заворачиваться на прокси, например:

Код: Выделить всё

# пакеты с адресом назначения 194.226.32.15
iptables -t mangle -A PREROUTING -i eth0 -d 194.226.132.15 -j MARK --set-mark 5
# пакеты с адресом источника 192.154.0.10
iptables -t mangle -A PREROUTING -i eth0 -d 169.254.0.10 -j MARK --set-mark 5
# и т.д., в общем, маркируете все то, что не должно идти на прокси

А потом заворачиваете весь трафик, который подпадает под критерии редиректа, кроме специально маркированного:

Код: Выделить всё

iptables -t nat -A PREROUTING -i eth0 -m mark ! --mark 5 -p tcp -m multiport --dport 80,81,82,83,88,8000,8001,8002,8080,8081 -j REDIRECT --to-ports 3128
Блогосайт - http://www.fateyev.com
Спасибо сказали: