LINUX.ORG.RU
ФорумAdmin

подмена ip

 


0

4

Ситуация такая, есть маршрутизатор на linux и 2 машины в локалки в подсетке 192.168.11.0/24 подключенные к нему.

Маршрутизатор так же соединен через ipsec с системой заказчика.

Заказчика хочет обращаться к этим машинкам по двум айпи, но другим 10.**** (не могу сказать сейчас точно их адреса, но их два). Конфигурировать подсетку 10*** (то есть выделить нм третий ip из этого диапазона) для настройки нормального роутинга он отказался. И сказал, что мы должн подменять ip на маршрутизаторе и транслировать их дальше. Подскажите как это можно сделать?

Я уже весь мозг сломал, пытался создавать виртуальне интерфейсы на конечных машинках с этими айпи и через route add добавлять роуты на маршрутизаторе и этих машинках, ничего не работает из этого. По идее это можно сделать через iptables, но чтение манов пока мне просветления не принесло.

★★★★★

Последнее исправление: Dudraug (всего исправлений: 2)

То есть грубо говоря роутер должен делать такую трансляцию

если заказчик обращается к примеру к 10.0.0.1, то обращение должно быть выполнено к 192.168.11.1. А если к 10.0.0.2, то к 192.168.11.2

Dudraug ★★★★★
() автор топика

Судя по нарисованной картине...это наркопритон...и там все обдолбанные
Теперь я, кстати, понял наконец, почему в штатах дилера называют provider

zolden ★★★★★
()
Ответ на: комментарий от zolden

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

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

что за сервисы (т.е. по каким портам на них ходят)крутятся на этих, как ты их называешь, «локалках»?
и что за железка выступает в качестве маршрутизатора?

zolden ★★★★★
()
Последнее исправление: zolden (всего исправлений: 2)
Ответ на: комментарий от zolden

и что за железка выступает в качестве маршрутизатора?

Компьютер с линксом.

что за сервисы (т.е. по каким портам на них ходят)крутятся на этих, как ты их называешь, «локалках»?

Я опечатался, там не две локалки, а две машины в одной локалке.

Грубо говоря в локалке 192.168.11.1,192.168.11.2,192.168.11.3 (11.1 маршрутизатор). Закзачик будет обращаться к 192.168.11.2 допустим по 10.0.0.1, а к 192.168.11.3 по 10.0.0.2. При этом он говорит, что это адреса из его сеток и третьего адреса (чтобы нормально дать его маршрутизатору и настроить роутинг) он не даст и мы должны подменять айпи и отправлять их куда надо.

Обе машины имеют 8000 порт открытый.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

Я бы использовал port forwarding с помощью xinetd
Оба адреса при этом надо будет навесить на сам маршрутизатор

# cat /etc/xinetd.d/server1
service server1
{
 disable = no
 type = UNLISTED
 socket_type = stream
 protocol = tcp
 wait = no
 redirect = 192.168.11.1 8000
 bind = 10.0.0.1
 port = 8000
 user = nobody
}

# cat /etc/xinetd.d/server2
service server2
{
 disable = no
 type = UNLISTED
 socket_type = stream
 protocol = tcp
 wait = no
 redirect = 192.168.11.2 8000
 bind = 10.0.0.2
 port = 8000
 user = nobody
}

zolden ★★★★★
()
Ответ на: комментарий от Dudraug

Да рядовая ситуация же.... сделать nat и всё. Чуть более, чем во всех случаях когда присоединяют сети 3-х организаций так делать приходится.

eabi
()
Ответ на: комментарий от eabi

Так а как?

iptables -t nat -A PREROUTING -p tcp -d 10.180.247.159 -j DNAT --to-destination 192.168.11.2

После этого я не могу пинговать 10.180.247.159 c маршрутизатора, или с маршрутизатора не получится?

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от eabi

Да рядовая ситуация же.... сделать nat и всё. Чуть более, чем во всех случаях когда присоединяют сети 3-х организаций так делать приходится.

Я думал нормально было бы выделить нам 10.180.247.156/30 и я бы настроил нормальную маршрутизацию. Тем более я могу менять ip в локалке как хочу, на что мне заказчик говорит «нет».

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Deleted

При этом если зайти на сам роутер, то 10.0.0.1 будет пинговаться?

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Deleted
root@xxxxxx:~# iptables -t nat --line-numbers -L
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DNAT       all  --  anywhere             10.180.247.159       to:192.168.11.2

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination 
root@xxxxxx:~# ping 192.168.11.2
PING 192.168.11.2 (192.168.11.2) 56(84) bytes of data.
64 bytes from 192.168.11.2: icmp_seq=1 ttl=64 time=1.45 ms
64 bytes from 192.168.11.2: icmp_seq=2 ttl=64 time=1.26 ms
64 bytes from 192.168.11.2: icmp_seq=3 ttl=64 time=1.32 ms
^C
--- 192.168.11.2 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 1.266/1.348/1.456/0.079 ms
root@xxxxxxx:~# ping 10.180.247.159
PING 10.180.247.159 (10.180.247.159) 56(84) bytes of data.
^C
--- 10.180.247.159 ping statistics ---
5 packets transmitted, 0 received, 100% packet loss, time 3999ms
Dudraug ★★★★★
() автор топика

блин, надо прилепить 2 темы в Admin: настройка двух интерфейсов и работа с iptables. И сразу поток вопросов иссякнет.

Когда изнутри локалки пингуешь - смотри откуда на сервер приходит пакет. А то вероятно получается что он в одну сторону пойдет через роутер, а в другую - как local subnet без L3

Вообще нарисуй схему сети и прохождение пакета от заказчика и из локалки до сервера вместе с подменой src ip и dst ip на каждом этапе

upcFrost ★★★★★
()
Последнее исправление: upcFrost (всего исправлений: 1)
Ответ на: комментарий от Dudraug

к 10.0.0.1, то обращение должно быть выполнено к 192.168.11.1. А если к 10.0.0.2, то к 192.168.11.2

нужен банальный редирект типа rinetd, причем здесь iptables?

axelroot
()
Последнее исправление: axelroot (всего исправлений: 1)
Ответ на: комментарий от axelroot

нужен банальный редирект типа rinetd, причем здесь iptables?

Подробнее? Желательно это сделать по ВСЕМ портам, такой редирект.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от axelroot

Подробнее в чем жесть? Я вообще не админ. Меня нанимали(точнее мою оутсурсинг компанию, а не именно меня) как программиста, а по факту я делаю у них ВСЕ(плюс админство винды еще). Поясните, пожалуйста, в чем жесть. Как сделать редирект через rinetd.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от upcFrost

https://www.dropbox.com/s/ecji9b2dxzz1swy/Untitled.png?dl=0

Извиняюсь за такую схему, но инструменто норм. под рукой нет. Так вот заказчик хочет обращаться (полный доступ) к серверам из подсетки 192.168.11.0.24 по ипишника 10*

К примеру к 192.168.11.1 по 10.0.0.1

Подмену должен делать наш роутер.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

Так вот заказчик хочет обращаться (полный доступ)

Скажи, что начальник службы безопасности (т.е. я) запросил полный список портов на которые они хотят ходить, с обоснованием в двух экземплярах. Будем оформлять служебку.

zolden ★★★★★
()
Ответ на: комментарий от zolden

Не выйдет. Заказчик в данном контексте - это заказчик заказчика. А сервера на которых я настраиваю роутер и локалку - это сервера уже нашего заказчика. А наш заказчик жопу лижет своему заказчику и отказывается задавать вопросы или искать альтернативные решения, говорят «они крутые, они хотят - они получат. делай»

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от zolden

В общем суть и не в этом. по идее iptables должен работать.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

«они крутые, они хотят - они получат. делай»

Тебе уже предложили несколько вариантов, так что да, пора делать

zolden ★★★★★
()
Ответ на: комментарий от Dudraug

ох... нарисуй схему на бумажке (да хоть на салфетке из мака) и нарисуй все интерфейсы (ну выдумай им названия и адреса если не хочешь палить), после чего нарисуй как пойдет _пакет_. можно прямо словами «здесь src ip = ..., dst ip = ...». После чего если хочешь выложить - отфоткай на мобильник.

Смысл не в схеме сети, а именно в том, что происходит с идущим по ней пакетом, т.е. где и что меняется и как он пойдет дальше

upcFrost ★★★★★
()
Ответ на: комментарий от Dudraug

В линуксе как сделать уже разжевали вроде тут - DNAT.

Ну не хотят они выделать вам /30 - имеют право. Они у себя написали 2 маршрута на ip серверов на ваш «роутер» и их больше ничего не волнует - как вы это там у себя сделаете им безразлично. Позиция может быть и стремная немного, но уж какая есть. Нарисуйте для них dnat и все дела. Внутри-то у вас всё будет работать по вашей адресации и только для трафика от этого «сперклиента» будет трансляция.

eabi
()
Ответ на: комментарий от zolden

Тебе уже предложили несколько вариантов, так что да, пора делать

Как? Мой начальник службы безопасноти не может ничего требовать от заказчика заказчика.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick

По идее да, оно. Но никак не могу понять работает оно или нет. Я так понимаю с самого роутера пингануть по этому подмененому ip не получится?

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

вообще не админ. Меня нанимали(точнее мою оутсурсинг компанию, а не именно меня) как программиста, а по факту я делаю у них ВСЕ

Российский бизнес in a nutshell. Заказчик - наркоман, вы - жлобы.

cherry-pick
()
Ответ на: комментарий от cherry-pick

Это правильная команда для моей задачи?

iptables -t nat -A PREROUTING -p tcp -d 10.180.247.159 -j DNAT --to-destination 192.168.11.2

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick

Российский бизнес in a nutshell. Заказчик - наркоман, вы - жлобы.

Заказчик - немец. Заказчик заказчика - немец. Заказчик (наш прямой) не хочет выделять денег на специалиста большего чем одного, мы им ни раз говорили, что на такой проект одного человека мало. При чем тут российский бизнес вообще? Скорее немцы нищеброды. Да и разговор тут не об этом. Мне прямо так на вопрос никто и не овтетил

iptables -t nat -A PREROUTING -p tcp -d 10.180.247.159 -j DNAT --to-destination 192.168.11.2

Верна ли эта команда? если да, то должна ли она с этого роутера пинговаться? Если да, то что-то не так, если нет, то заказчик заказчика не может его пинговать тоже и если все остальное выше ок, то значит что-то с настройками ipsec уже.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick

Спасибо, точняк же. Голова дубовая уже, два дня без сна.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick
root@xxxx:~# iptables -t nat --line-numbers -L
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DNAT       all  --  anywhere             10.180.247.159       to:192.168.11.2
2    DNAT       icmp --  anywhere             10.180.247.159       to:192.168.11.2
3    DNAT       udp  --  anywhere             10.180.247.159       to:192.168.11.2

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination         

Chain POSTROUTING (policy ACCEPT)
num  target     prot opt source               destination

root@xxxxx:~# ping 10.180.247.159
PING 10.180.247.159 (10.180.247.159) 56(84) bytes of data.
^C
--- 10.180.247.159 ping statistics ---
124 packets transmitted, 0 received, 100% packet loss, time 123982ms
     
Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

что ты заморочался этими пингами?
скажи начальнику, что реализовал высокооптимизированную схему на L4, проверять надо телнетом, пусть премию тебе выпишет уже

zolden ★★★★★
()
Ответ на: комментарий от zolden

что ты заморочался этими пингами?

Заказчик заказчика сказал, что если не будет пингов не будет проекта.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от zolden

Это делает заказчик заказчика и у него не выходит. А это может значит три вещи 1) у них фейл в маршрутизации 2) у нас (или у них) фейл в настрйоке ipsec 3) у нас фейл в настройке маршрутизации или nat

Поэтому сейчас мы и пытаемся понять где фейл. Их айпи(заказчика заказчика) не пингуются, потому что забочены пинги. А они трасировать до нас не могут до завтрешнего утра, когда их главный админ придет. Такие_дела.жпг

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

для проверки навесь этот адрес на маршрутизатор
отладите трассу до первого своего хопа, дальше уже будет проще

zolden ★★★★★
()
Ответ на: комментарий от Dudraug

Это делает заказчик заказчика и у него не выходит

Да пошлите вы нафиг таких заказчиков, денег вы от них нормальных не получите, зато геморрою море. Так еще и в минус уйдете.

cherry-pick
()
Ответ на: комментарий от zolden

Попробовал прописать на другой машине в локалке (11.3) рут статичный на этот адрес 10.180.247.159 на 192.168.1.1,а там настроить dnat. Пинги идут. Если убрать dnat, то пингов нет. Получается с настройками подмены ip все ок.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick

В общем походу dnat работает, проблема или на стороне заказчика заказчика, либо у нас в настройке роутов или ipsec.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от cherry-pick

Тогда такой вопрос

root@xxx:~# iptables -t nat --line-numbers -L
Chain PREROUTING (policy ACCEPT)
num  target     prot opt source               destination         
1    DNAT       icmp --  anywhere             10.180.247.159       to:192.168.11.2
2    DNAT       tcp  --  anywhere             10.180.247.159       to:192.168.11.2

Пинги с другой локальной машины идут (я прописал статик роут для 10.180.247.159 на 192.168.1.1). Если правило удалить, пингов нет. Но теперь я на 192.168.1.2 (которую пингуем) поднял python -m SumpleHTTPServer (на 8000 порту) длятеста.

И пытаюсь с машины скоторой пинги нормально шли попробовать открыть это через w3m http://10.180.247.159:8000, но чот не работает.

Dudraug ★★★★★
() автор топика
Ответ на: комментарий от Dudraug

ну хотя с другой стороны вариант c iptables более полезен в плане опыта и понимания матчасти

zolden ★★★★★
()
Ответ на: комментарий от Dudraug

ты забудь про нат, трансляцию придумали для сращивание локалок с инетом, а не для той херни которой ты занимаешься, у тебя ниче не выходит от того что ты не понимаешь как это работает. Тебе нужны маршруты, машруты и исче раз маршруты. Вощем начерти схему и придумай как роутингом добится желаемого, в твоем распоряжении алисы, мосты, vpn, tun/tap, возможно придется сделать промежуточный гейт в виртуалке, напрягай фантазию, не действуй прямолинейно.

vxzvxz ★★★
()
Ответ на: комментарий от vxzvxz

Ничего подобного. Трансляция адресов тут вполне подходит.

Другое дело что он и правда не понимает что и как работает.

nstorm
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.