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

Исходное сообщение
"требуется утилита которая может подменять source ip у входящих пакетов"

Отправлено kav789 , 27-Сен-05 15:52 
требуется утилита которая может подменять source ip у входящих не маршрутизипуемых пакетов
iptables этого делать не может
Может кто знает

Содержание

Сообщения в этом обсуждении
"требуется утилита которая может подменять source ip у входящ..."
Отправлено bromantik , 27-Сен-05 15:55 
>iptables этого делать не может
Проверяли??? не утверждаю, но что если попробовать такое правило
iptables -t nat POSTROUTING -i $external_iface -j SNAT --to-source $ip

"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 16:03 
Критерий -i можно использовать только в цепочках INPUT, FORWARD и PREROUTING.

"требуется утилита которая может подменять source ip у входящ..."
Отправлено bromantik , 27-Сен-05 16:04 
>Критерий -i можно использовать только в цепочках INPUT, FORWARD и PREROUTING.
да, действительно :)
Кстати, Джонатан, помните вы мне про натинг гре говорили про патчоматик, поставил, заработало, спасибо большое :)

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 16:28 
>>Критерий -i можно использовать только в цепочках INPUT, FORWARD и PREROUTING.
>да, действительно :)
>Кстати, Джонатан, помните вы мне про натинг гре говорили про патчоматик, поставил,
>заработало, спасибо большое :)

т.е. способа сменить source ip у входяших пакетов нет вообще?


"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 16:06 
>>iptables этого делать не может
>Проверяли??? не утверждаю, но что если попробовать такое правило
>iptables -t nat POSTROUTING -i $external_iface -j SNAT --to-source $ip

входяшие не маршрутизируемые пакеты в postrouting не пападают


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 16:32 
Опишите задачу подробнее.

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 16:50 
>Опишите задачу подробнее.

Задача такая
есть сервер
сервисы которого настроены на работу с клиентом с определенным ip выделенка

вдруг по причине пропадания основного канала клиенты начинают выходить в
интернет с помощью dialup с другого ip адреса
в реэультате сервисы не доступны

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

чтобы этого не делать хотелось бы подменить source ip у определенных входяших пакетов на адрес уже разрешенный к доступу у сервисов


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 17:07 
>интернет с помощью dialup с другого ip адреса
Я так понимаю, заранее не известны ip адреса этих dialup соединений?

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 17:16 
>>интернет с помощью dialup с другого ip адреса
>Я так понимаю, заранее не известны ip адреса этих dialup соединений?


Да адреса не известны
но становятся известны когда соединение получено


"требуется утилита которая может подменять source ip у входящ..."
Отправлено tangar , 27-Сен-05 17:28 
iptables -t nat -A PREROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000 -j DNAT --to-destination lanip.lanip.lanip.lanip:1000

что-то типа этого.
в этом случае все приходящие пакеты на интерфейс pppip.pppip.pppip.pppip на порт 1000 будут переправляться на lanip.lanip.lanip.lanip:1000
это надо?


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 17:30 
>iptables -t nat -A PREROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000 -j
>DNAT --to-destination lanip.lanip.lanip.lanip:1000
>
>что-то типа этого.
>в этом случае все приходящие пакеты на интерфейс pppip.pppip.pppip.pppip на порт 1000
>будут переправляться на lanip.lanip.lanip.lanip:1000
>это надо?
И где здесь меняется source ip?

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 17:50 
>iptables -t nat -A PREROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000 -j
>DNAT --to-destination lanip.lanip.lanip.lanip:1000
>
>что-то типа этого.
>в этом случае все приходящие пакеты на интерфейс pppip.pppip.pppip.pppip на порт 1000
>будут переправляться на lanip.lanip.lanip.lanip:1000
>это надо?
нет надо чтобы заменялся source ip для входящих не проходящих маршрутизации пакетов


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 17:29 
>Да адреса не известны
>но становятся известны когда соединение получено
Что значит получено? Откуда Вы знаете, что это соединение пришло от вашего клиента, если по dialup он будет получать разные ip?
Может ли Ваш сервис ограничивать доступ не только по ip, но и по именам?
Если перед сервером стоит роутер (linux, cisco...) и ответы от сервера идут через него, то можно попробовать на нем  настроить SNAT этих адресов на нужные.
Еще вариант с сервером удаленного доступа. Т.е. клиенты сначала содиняются с Вашим VPN-сервером (pptp и т.п.), получают определенные для них адреса независимо source ip. На сервере настроить доступ только с этих VPN-подсетей.

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 17:45 
>>Да адреса не известны
>>но становятся известны когда соединение получено
>Что значит получено? Откуда Вы знаете, что это соединение пришло от вашего
>клиента, если по dialup он будет получать разные ip?

можно удаленно на сервере выполнить по ssh скрипт после получения dialup
соединения
ему же передать адрес от которого будут исходить соединения.
вход на ssh по приватному ключу.

>Может ли Ваш сервис ограничивать доступ не только по ip, но и
>по именам?
>Если перед сервером стоит роутер (linux, cisco...) и ответы от сервера идут
>через него, то можно попробовать на нем  настроить SNAT этих
>адресов на нужные.

роутер наверняка есть но он мне не доступен он админится провайдером

Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 27-Сен-05 17:56 
>Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?
Нет. Подмена source ip только у исходящих пакетов.
Если Ваш сервер может ограничивать доступ по именам, то посмотрите в сторону dymanic dns. Можно использовать внешние сервисы (http://www.dtdns.com, http://www.dyndns.org и т.п.) или поставить свой. У клиента утитилита обновляет информацию (по паролю) о текущем ip. Где-то встречал одного из таких клиентов, который может сохранять свой ip и на FTP-сервере.

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 18:02 
>>Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?
>Нет. Подмена source ip только у исходящих пакетов.
>Если Ваш сервер может ограничивать доступ по именам, то посмотрите в сторону
>dymanic dns. Можно использовать внешние сервисы (http://www.dtdns.com, http://www.dyndns.org и т.п.) или
>поставить свой. У клиента утитилита обновляет информацию (по паролю) о текущем
>ip.

может это и подойдет если в courier-imap,apache,postfix можно прописать
имена а не ip


"требуется утилита которая может подменять source ip у входящ..."
Отправлено roos , 27-Сен-05 18:47 
>>>Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?
>>Нет. Подмена source ip только у исходящих пакетов.
>>Если Ваш сервер может ограничивать доступ по именам, то посмотрите в сторону
>>dymanic dns. Можно использовать внешние сервисы (http://www.dtdns.com, http://www.dyndns.org и т.п.) или
>>поставить свой. У клиента утитилита обновляет информацию (по паролю) о текущем
>>ip.
>
>может это и подойдет если в courier-imap,apache,postfix можно прописать
>имена а не ip
Помоему чтото типа такого

iptables -t nat -A POSTROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000 -j SNAT --to-source lanip.lanip.lanip.lanip


"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 27-Сен-05 18:53 
>>>>Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?
>>>Нет. Подмена source ip только у исходящих пакетов.
>>>Если Ваш сервер может ограничивать доступ по именам, то посмотрите в сторону
>>>dymanic dns. Можно использовать внешние сервисы (http://www.dtdns.com, http://www.dyndns.org и т.п.) или
>>>поставить свой. У клиента утитилита обновляет информацию (по паролю) о текущем
>>>ip.
>>
>>может это и подойдет если в courier-imap,apache,postfix можно прописать
>>имена а не ip
>Помоему чтото типа такого
>
> iptables -t nat -A POSTROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000
>-j SNAT --to-source lanip.lanip.lanip.lanip

это правило будет работать только для пакетов проходящих маршрутизацию


"требуется утилита которая может подменять source ip у входящ..."
Отправлено roos , 27-Сен-05 19:05 
>>>>>Кстати iproute2 утилиты не могут делать snat для входящих пакетов ?
>>>>Нет. Подмена source ip только у исходящих пакетов.
>>>>Если Ваш сервер может ограничивать доступ по именам, то посмотрите в сторону
>>>>dymanic dns. Можно использовать внешние сервисы (http://www.dtdns.com, http://www.dyndns.org и т.п.) или
>>>>поставить свой. У клиента утитилита обновляет информацию (по паролю) о текущем
>>>>ip.
>>>
>>>может это и подойдет если в courier-imap,apache,postfix можно прописать
>>>имена а не ip
>>Помоему чтото типа такого
>>
>> iptables -t nat -A POSTROUTING -d pppip.pppip.pppip.pppip -p tcp --dport 1000
>>-j SNAT --to-source lanip.lanip.lanip.lanip
>
>это правило будет работать только для пакетов проходящих маршрутизацию


ну тогда можно попробовать завернуть dnat-om или iproute2 на localhost ,  чтоб пакет посчитался транзитным для входящего интерфейса и попробовать snat, не уверен но можно попробовать


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 28-Сен-05 09:29 
>может это и подойдет если в courier-imap,apache,postfix можно прописать
>имена а не ip
Конечно можно.
postfix
    man 5 access
apache
    Allow from host.example.com
courier-imap
   Точно не знаю, но должен.

К тому же, насколько я помню, все они могут использовать TCP Wrappers (файлы /etc/hosts.(allow|deny), в которых можно указывать имена хостов). Не проще вообще использовать возможность этих продуктов аутентифицировать по паролю?


"требуется утилита которая может подменять source ip у входящ..."
Отправлено jonatan , 28-Сен-05 10:56 
Пардон. postfix не поддерживает TCP Wrappers.

"требуется утилита которая может подменять source ip у входящ..."
Отправлено kav789 , 28-Сен-05 11:09 
Спасибо за помощь

"требуется утилита которая может подменять source ip у входящ..."
Отправлено bromantik , 28-Сен-05 08:29 
>>Опишите задачу подробнее.
>
>Задача такая
>есть сервер
>сервисы которого настроены на работу с клиентом с определенным ip выделенка
>
>вдруг по причине пропадания основного канала клиенты начинают выходить в
>интернет с помощью dialup с другого ip адреса
>в реэультате сервисы не доступны
>
>чтобы сделать сервисы доступными трнбуется поправить различные конфиги
>перестартовать сервисы и.т.д
>
>чтобы этого не делать хотелось бы подменить source ip у определенных входяших
>пакетов на адрес уже разрешенный к доступу у сервисов

Если я правильно понял, это сделано для секьюрности, тогда выходом будет использование пптп, так как если вы будете изменять исходящий адрес, то любой человек сможет подключиться к сервису, вы не сможете проверить, тот ли это, кому можно, в случае с диалапом...
Так что, имхо:
1) ВПН
2) использование ssl в случае с каждым сервисом.