URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 2013
[ Назад ]

Исходное сообщение
"iptables - надо 'завернуть' пакеты..."

Отправлено Alba , 04-Апр-05 03:36 
есть роутер:
eth0 - интернет
eth1 - подсеть серверов (веб/фтп/почта) (реальные айпишники)
eth2 - локальная сеть 1 (192.168.0.0/24)
eth3 - локальная сеть 2 (192.168.1.0/24)

в интернет народ из сети выпускаю так:
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.*.* -j MASQUERADE

хочу сделать, чтобы если маскарад на кого-то не прописан, то его "заворачивало"-бы на локальный порт роутера, но, в подсеть серверов он-бы остался ходить без проблем...

очень-бы устроил вариант с:
iptables -t nat -A PREROUTING -s 192.168.*.* -o eth0 --dport 80 -j DNAT --to 192.168.0.1
но, PREROUTING с -o, как известно, не работает...

кто-нибудь что-нибудь может посоветовать? засунуть всё в PREROUTING и в -d перечислить все неинтернетовские айпишники - не хочется (да и не понял, можно-ли вообще указать несколько айпишников в этом самом -d)...
и, блин, POSTROUTING не умеет DNAT делать :(


Содержание

Сообщения в этом обсуждении
"iptables - надо 'завернуть' пакеты..."
Отправлено baby , 04-Апр-05 09:45 
>есть роутер:
>eth0 - интернет
>eth1 - подсеть серверов (веб/фтп/почта) (реальные айпишники)
>eth2 - локальная сеть 1 (192.168.0.0/24)
>eth3 - локальная сеть 2 (192.168.1.0/24)
>
>в интернет народ из сети выпускаю так:
>iptables -t nat -A POSTROUTING -o eth0 -s 192.168.*.* -j MASQUERADE
>
>хочу сделать, чтобы если маскарад на кого-то не прописан, то его "заворачивало"-бы
>на локальный порт роутера, но, в подсеть серверов он-бы остался ходить
>без проблем...
>

А прописать алиасы на eth1 с внутренних подсетей неподходит?

>очень-бы устроил вариант с:
>iptables -t nat -A PREROUTING -s 192.168.*.* -o eth0 --dport 80 -j
>DNAT --to 192.168.0.1
>но, PREROUTING с -o, как известно, не работает...
>
>кто-нибудь что-нибудь может посоветовать? засунуть всё в PREROUTING и в -d перечислить
>все неинтернетовские айпишники - не хочется (да и не понял, можно-ли
>вообще указать несколько айпишников в этом самом -d)...
>и, блин, POSTROUTING не умеет DNAT делать :(



"iptables - надо 'завернуть' пакеты..."
Отправлено Alba , 04-Апр-05 09:56 
>А прописать алиасы на eth1 с внутренних подсетей неподходит?
нет... это я дал немного упрощённые условия... в реале всё ещё сложнее (локальных подсетей больше и серверов не одна подсеть, а три)... так что этот вариант отпадает :(

"iptables - надо 'завернуть' пакеты..."
Отправлено bass , 04-Апр-05 10:39 
>>А прописать алиасы на eth1 с внутренних подсетей неподходит?
>нет... это я дал немного упрощённые условия... в реале всё ещё сложнее

да хоть 100.

>(локальных подсетей больше и серверов не одна подсеть, а три)... так
>что этот вариант отпадает :(

Мне кажется, судя по заявленному, топология сети плохо продуманна.
И не понятно, какой смысл натить в локальных сетях? Чем тут не устраивает обычный форвард.



"iptables - надо 'завернуть' пакеты..."
Отправлено Alba , 04-Апр-05 11:02 
>>>А прописать алиасы на eth1 с внутренних подсетей неподходит?
>>нет... это я дал немного упрощённые условия... в реале всё ещё сложнее
>
>да хоть 100.
>
>>(локальных подсетей больше и серверов не одна подсеть, а три)... так
>>что этот вариант отпадает :(
>
>Мне кажется, судя по заявленному, топология сети плохо продуманна.
почему? что непродумано? и, какие варианты есть ещё при таком раскладе?

>И не понятно, какой смысл натить в локальных сетях? Чем тут не
>устраивает обычный форвард.
в локальных сетях ната нету... нат появляется только если пакет уходит на eth0 (-o eth0)
повторю задачу в более другой формулировке: из локалки люди ходят в инет... если доступ открыт (есть маскарад), то они идут в инет, если доступ закрыт (маскарада нет), то хотелось-бы все запросы перенаправлять на веб-сервер роутера, на котором поднят апач и страничка типа "доступ закрыт" (типа ввёл www.yandex.ru, а попал на локальный апач). но, при этом доступ на "свои" веб/фпт/итд-сервера должен быть всегда...


"iptables - надо 'завернуть' пакеты..."
Отправлено bass , 05-Апр-05 04:41 
>>>>А прописать алиасы на eth1 с внутренних подсетей неподходит?
>>>нет... это я дал немного упрощённые условия... в реале всё ещё сложнее
>>
>>да хоть 100.
>>
>>>(локальных подсетей больше и серверов не одна подсеть, а три)... так
>>>что этот вариант отпадает :(
>>
>>Мне кажется, судя по заявленному, топология сети плохо продуманна.
>почему? что непродумано? и, какие варианты есть ещё при таком раскладе?
>
>>И не понятно, какой смысл натить в локальных сетях? Чем тут не
>>устраивает обычный форвард.
>в локальных сетях ната нету... нат появляется только если пакет уходит на
>eth0 (-o eth0)
>повторю задачу в более другой формулировке: из локалки люди ходят в инет...
>если доступ открыт (есть маскарад), то они идут в инет, если
>доступ закрыт (маскарада нет), то хотелось-бы все запросы перенаправлять на веб-сервер
>роутера, на котором поднят апач и страничка типа "доступ закрыт" (типа
>ввёл www.yandex.ru, а попал на локальный апач). но, при этом доступ
>на "свои" веб/фпт/итд-сервера должен быть всегда...


вот как задача повернулась :)
ну тогда используйте прокси, думаю самый грамотный без лишних заморочек


"iptables - надо 'завернуть' пакеты..."
Отправлено Andrey L , 06-Апр-05 07:00 
Создаётся впечатление что ты путаешь мягкое с тёплым :-)
>
>>И не понятно, какой смысл натить в локальных сетях? Чем тут не
>>устраивает обычный форвард.
>в локальных сетях ната нету... нат появляется только если пакет уходит на
>eth0 (-o eth0)
>повторю задачу в более другой формулировке: из локалки люди ходят в инет...
ты считаешь что ходят в инет - это только www/ftp?
>если доступ открыт (есть маскарад), то они идут в инет, если
>доступ закрыт (маскарада нет), то хотелось-бы все запросы перенаправлять на веб-сервер
>роутера, на котором поднят апач и страничка типа "доступ закрыт" (типа
>ввёл www.yandex.ru, а попал на локальный апач). но, при этом доступ
а куда я должен попасть если введу telnet mail.yandex.ru 110 ?
>на "свои" веб/фпт/итд-сервера должен быть всегда...



"iptables - надо 'завернуть' пакеты..."
Отправлено Alba , 06-Апр-05 11:11 
>Создаётся впечатление что ты путаешь мягкое с тёплым :-)
гм...я просто уменьшаю себе гемор и, добавляю удобства юзерам...

>>повторю задачу в более другой формулировке: из локалки люди ходят в инет...
>ты считаешь что ходят в инет - это только www/ftp?
а где написано, что я так считаю?

>>ввёл www.yandex.ru, а попал на локальный апач). но, при этом доступ
>а куда я должен попасть если введу telnet mail.yandex.ru 110 ?
никуда - у тебя не будет маскарада... а если по 80-му порту пойдёшь (эксплорером), то должна появиться "блокирующая страница" с разъяснениями...


"iptables - надо 'завернуть' пакеты..."
Отправлено Alba , 27-Апр-05 16:00 
хочется-таки поднять эту тему, так как вопрос не решён...

а что если маркировать пакеты через iptables mangle и, потом их редиректить? так возможно? маркировать-то возможно, а вот что с этим маркированным пакетом дальше делать?