Всем привет!
как в iptables можно сделать возврат пакетов из FORWARD в PREROUTING ?
задача в том, что бы изменить ип адрес назначения пакета (как пример - прозрачный прокси)
т.е. в FORWARD есть набор правил, разрешающий только определенные домены,
надо что бы все, что не попало в этот список разрешений, форвардилось на мой прокси.
у меня нет других идей как это сделать, кроме как перед правилом drop по умолчанию в FORWARD, пометить пакеты с портом назначения 80 и отправить их назад в PREROUTING, что бы там по данной метке отфорвардить на прокси.
просто сделать все через прокси - нельзя.
нат тоже не подходит, так как испоьзуются правила типа:
iptables -A FORWARD -m string –string «firma.ru» –algo kmp –to 65535 -j ACCEPT
>[оверквотинг удален]
> надо что бы все, что не попало в этот список разрешений, форвардилось
> на мой прокси.
> у меня нет других идей как это сделать, кроме как перед правилом
> drop по умолчанию в FORWARD, пометить пакеты с портом назначения 80
> и отправить их назад в PREROUTING, что бы там по данной
> метке отфорвардить на прокси.
> просто сделать все через прокси - нельзя.
> нат тоже не подходит, так как испоьзуются правила типа:
> iptables -A FORWARD -m string –string «firma.ru» –algo kmp –to
> 65535 -j ACCEPTлучше сформулируйте то, что надо изначально, а не то, что получилось в результате нагромождения неких конструкций, основанных на технологиях собственного изобретения
>>[оверквотинг удален]
> лучше сформулируйте то, что надо изначально, а не то, что получилось в
> результате нагромождения неких конструкций, основанных на технологиях собственного изобретенияпока ничего не получилось :) и не изобретено, только пробую
надо с помощью iptables
1 разрешить нат 80 и 443 порта (может еще каких то) на список доменов\урлов
2 разрешить все на несолько конеретных ип адресов
3 все что не попало в 1 и 2е правило, и адресуется на 80 или 443 порт - завернуть на внешний прокси
4 все остальное - запретить
>[оверквотинг удален]
>> лучше сформулируйте то, что надо изначально, а не то, что получилось в
>> результате нагромождения неких конструкций, основанных на технологиях собственного изобретения
> пока ничего не получилось :) и не изобретено, только пробую
> надо с помощью iptables
> 1 разрешить нат 80 и 443 порта (может еще каких то) на
> список доменов\урлов
> 2 разрешить все на несолько конеретных ип адресов
> 3 все что не попало в 1 и 2е правило, и адресуется
> на 80 или 443 порт - завернуть на внешний прокси
> 4 все остальное - запретитьТакое лучше делать на уровне squid, и с iptables заворачивать прозрачно. А то з@3бетесь правила создавать, слишком много :)
Список доменов/урлов как-то ближе к squid.
>>[оверквотинг удален]
> Такое лучше делать на уровне squid, и с iptables заворачивать прозрачно. А
> то з@3бетесь правила создавать, слишком много :)
> Список доменов/урлов как-то ближе к squid.увы, надо так, без сквида. тем более что список не будет более 150урлов\доменов, и клиентов - 2-3шт..
так что для фаера -нагрузка небольшая
>[оверквотинг удален]
>> лучше сформулируйте то, что надо изначально, а не то, что получилось в
>> результате нагромождения неких конструкций, основанных на технологиях собственного изобретения
> пока ничего не получилось :) и не изобретено, только пробую
> надо с помощью iptables
> 1 разрешить нат 80 и 443 порта (может еще каких то) на
> список доменов\урлов
> 2 разрешить все на несолько конеретных ип адресов
> 3 все что не попало в 1 и 2е правило, и адресуется
> на 80 или 443 порт - завернуть на внешний прокси
> 4 все остальное - запретитья имел в виду, что вы "изобрели", например, пакетный фильтр, позволяющий в правилах указывать домены
возврат пакетов из FORWARD в PREROUTING - тоже "изобретение"
> я имел в виду, что вы "изобрели", например, пакетный фильтр, позволяющий в
> правилах указывать домены
> возврат пакетов из FORWARD в PREROUTING - тоже "изобретение"ну если -m string –string мое изобретение - то я польщен
> возврат пакетов из FORWARD в PREROUTING - тоже "изобретение"
если бы Вы прочитали внимательно - то я спросил:
> как в iptables можно сделать возврат пакетов из FORWARD в PREROUTING ?
достаточно было ответить что это невозможно.
так как в ваших ответах в данном топике - я пока пользы не нашел.
>[оверквотинг удален]
> надо что бы все, что не попало в этот список разрешений, форвардилось
> на мой прокси.
> у меня нет других идей как это сделать, кроме как перед правилом
> drop по умолчанию в FORWARD, пометить пакеты с портом назначения 80
> и отправить их назад в PREROUTING, что бы там по данной
> метке отфорвардить на прокси.
> просто сделать все через прокси - нельзя.
> нат тоже не подходит, так как испоьзуются правила типа:
> iptables -A FORWARD -m string –string «firma.ru» –algo kmp –to
> 65535 -j ACCEPTНу и делайте проверки в PREROUTING.
iptables -t nat -A PREROUTING -m string –string «firma.ru» –algo kmp –to 65535 -j ACCEPT
iptables -t nat -A PREROUTING -j REDIRECT ...
Соответственно, в FORWARD нужен сравнительно безусловный ACCEPT, поскольку "запрещенные" пакеты уже будут REDIRECT.
> Ну и делайте проверки в PREROUTING.
> iptables -t nat -A PREROUTING -m string –string «firma.ru» –algo
> kmp –to 65535 -j ACCEPT
> iptables -t nat -A PREROUTING -j REDIRECT ...
> Соответственно, в FORWARD нужен сравнительно безусловный ACCEPT, поскольку "запрещенные"
> пакеты уже будут REDIRECT.хм...
ступил.
попробую
Не, srting в PREROUTING не заработает:
http://serverfault.com/questions/402838/iptables-string