LINUX.ORG.RU
решено ФорумAdmin

Перенаправление ip адресов

 


0

1

Привет всем админам. Я чайник, прошу Вас помочь мне решить мою проблему. Уже 2й день ковыряюсь но все никак не получается. Что нужно : Есть машина1 (с сервером игры) (открытый порт 7777) . Машина2 - должна работать как прокси сервер (для подключения). Получается люди подключается по ip к машине2, она отправляет запросы к машине1 и обратно.

Читал манулы по iptables но так и не разобрался. Как я понял на машине2 нужно открыть порт7777 и сделать перенаправление на машину1. Подскажите пожалуйста.



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

Ответ на: комментарий от gdijulsxeh

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

Тогда не DMZ нужен, а IPIP-туннель.

Можно еще iptables'ом forward с помощью DNAT/SNAT-сделать.

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

Создавал запросы, но после сохранения фала и установки его на автозапуск, не могу теперь на машину попасть. Переустанавлеваю уже 4й раз. Можете ткнуть носом что сделать то надо ?

FORD
() автор топика

socat

Если лень разбираться с iptables, можно использовать socat.

Недавно захотелось поиграть в ssamtfe в кооператив, сервер поднят на моём ноуте. Ноут за провадейрским натом. В наличии VPS с белым IP и VPN от ноута к VPS, соответственно, VPS может связаться с ноутом напрямую по его VPN'овскому адресу и наоборот.

socat tcp-listen:25600,reuseaddr,fork tcp:192.168.100.2:25600
socat udp-listen:25600,reuseaddr,fork udp:192.168.100.2:25600
socat udp-listen:25601,reuseaddr,fork udp:192.168.100.2:25601

Тут 192.168.100.2 – адрес ноута, который ему выдал VPN-сервер, работающий на VPS.

Чтобы процессы не останавливались при отвале ssh-сессии, запускайте под screen или tmux. Запускать надо от рута, либо выдать юзеру соответствующие права.

При желании можно сделать то же самое без VPN – открыть 2 порта на сервере, на обоих слушать, и input одного перенаправлять на второй и наоборот, а потом на локальной машине запустить socat, который свяжет локальные listen'ы с удалёнными. Всё нужное есть в man 1 socat. Мне, правда, лень было в этом разбираться и открывать лишние порты на сервере, так как уже был готовый работающий VPN.

Если не нужен UDP, то всё намного проще – можно использовать ssh -R (man 1 ssh), также известный как RemoteForward (man 5 ssh_config). VPN при этом не требуется. Достаточно на сервере открыть нужный порт, а при подключении по ssh на локальной машине указать источник и назначение, например:

ssh -R 25600:127.0.0.1:25600 -R 25601:127.0.0.1:25601 myserver.tld

В этом примере любое внешнее подключение на порт 25600 и 25601 моего сервера будет стуннелировано на 127.0.0.1:25600 и 25601 на моём ноуте.

xenith
()
Ответ на: socat от xenith

UDP нужен. Мне нужен не сам порт . Порт у меня используется подключением к серверу игры. на машине1 в настройках осуществляется вот такой коннект для прокси подключений :

<proxyServer origId=«1» proxyId=«2» proxyHost=«31.131.25.198» proxyPort=«7777» />

сама настройка выглядит примерно так

Использование : <proxyServer origId=«<original_server_id>» proxyId=«<proxy_server_id>» proxyHost=«<proxy_host>» proxyPort=«<proxy_port>» />

Именно: <original_server_id> - Оригинальный ID сервера. Например Bartz - 1 <proxy_server_id> - Сервер ID который будет использовать прокси сервер (фэйково парковать доп адрес). К примеру 2 - Sieghardt <proxy_host> - (Хост) IP адрес прокси сервера <proxy_port> - Порт прокси сервера Пример: <proxyServer origId=«1» proxyId=«2» proxyHost=«127.0.0.1» proxyPort=«7777» />

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

IPIP-туннель: https://www.sanglyb.ru/kak-nastroit-ipip-tunnel-mezhdu-linux-serverami

По поводу DNAT/SNAT:

1. iptables -t nat -A PREROUTING -d ip_машины2_которая_прокси -p tcp --dport порт_машины2 -j DNAT --to-destination ip_машины1:порт_машины1

Например:

iptables -t nat -A PREROUTING -d 197.178.20.20 -p tcp --dport 3389 -j DNAT --to-destination 177.188.30.30:4444

2. iptables -t nat -I POSTROUTING -d 177.188.30.30 -p tcp --dport 4444 -j SNAT --to-source 197.178.20.20

То есть указываем теперь сначала ip машины 1, а уже потом2

3. в /etc/sysctl.conf включить net.ipv4.ip_forward=1, убрав перед строкой решетку (комментарий, символ диеза-шарпа #), сохранить.

Внимание, если сервер работает по протоколу UDP, то изменить в моих примерах tcp на udp.

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

Если такой скрипт есть в вашем дистрибутиве, используйте iptables-apply – он поможет протестировать конфигурацию iptables и вернёт конфигурацию к прежнему виду если пользователь не смог перезайти на сервер и подтвердить её корректность. Это чтобы не отрезать себе доступ.

Также можно тестировать конфигурацию iptables добавляя сначала временные правила и не сохраняя их навсегда, пока нет уверенности, что они правильные. Если доступ перекрыт, достаточно перезагрузить машину в панели управления хостингом.

Если правила всё же стали постоянными, можно попробовать исправить ситуацию путём входа на машину через Web Console / VNC и использовать тамошнюю консоль, такая возможность есть у многих хостеров в панели управления.

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

Спасибо за ссылку. Забыл написать Там на сайте настраивают тунель, но проблема : машина1 - виндовс сервер машина2 - дебиан

=-=-=-=-=-=-=-=- Такой вопрос, если я так и не смогу сделать сможет кто помочь мне в этом вопросе ? И сколько нужно будет дать на мороженое ? :)

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

Я же написал. Если IPIP-туннель не подходит, воспользуйся iptables'ом.

Я даже пошаговую инструкцию дал с примерами.

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

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

В моем примере они разные. Ты можешь везде 7777 поставить, чтобы не запутаться. Только вместо tcp у тебя будет udp

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

Спасибо за ответы. Сейчас попробовал, не получилось.

Завтра на свежую голову буду пробовать еще ... Спасибо всем кто откликнулся.

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

В общем, даже танцы с бубном не помогли. Воспользовался теми запросами что ты написал.

Все вроде прошло нормально, правило установило, порт открыл, при заходе в игре, прокси (машина1) пингуется , но в игру не пускает.

Пользовался твоим мануалом и в добавку

http://blog.sedicomm.com/2016/12/16/iptables-ustanovka-i-nastrojka/

http://itblog.su/vklyuchaem-ip-forwarding-v-linux.html

и делал по 10 раз все с начала но лыжи так и не тронулись.

Вот думаю, может есть проблема с пропуском на машине2 (в самом движке игры) ?

Но, на машине2 установлен «опенсервер» с привязаным доменом (под сайт )

То есть в браузере по ip (миашины2) конектится к сайту, а в игре по этому же ip конектится к игре.

Я это к тому, что получается если у меня получиться перенаправить ip с машины1 на машину2, то при вводе ip машины1 я ведь должен попадать на сайт машины2? . Уже не знаю что думать.

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

Ты явно что-то не так делаешь.

Дай свои контакты (vk или tox). Подробно разберем ситуацию. По окончании сюда напишу причину неудачи.

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

В общем решил я данный вопрос.

Методом: открытия tcp udp протоколов по данному порту через фаервол в панели управления.

Но как это сделать в самом дебиане, я так и не разобрался.

Спасибо всем кто откликнулся и пытался хоть как-то помочь.

FORD
() автор топика
8 июля 2019 г.

Наша песня хороша...

Доброе время суток . Короче снова я вернулся на ту же дорожку с переадресацией. Не могу понять что не так ? Может и хостер мой не дает это сделать.... Я не знаю как проверить я не очень понимаю линукс. Сейчас на Debian пытаюсь сделать что... Нужно елементарно настроить iptables так,чтобы прокси машина принимала входящие соединения по 7777 порту и пробрасывала их к моей основной)

прокси машина самостоятельно на уровне сети должна пробрасывать все входящие соединения на 7777 порт к вашей основной машине, ну и обратно

FORD
() автор топика
Ответ на: Наша песня хороша... от FORD

У вас есть машина1 и машина2, вы хотите перенаправлять все подключения на определённый порт с машины2 на тот же самый порт, но на машине1.

Какая механика работы: вам нужно переадресовать пакет, адресованный машине2 на машину1. Но с условием, что бы ответ от машины1 вернулся опять на машину2 и уже машина2 ответила клиенту, подключившемуся на её порт.

Вам нужно сделать подмену адреса назначения, т.е. DNAT, чтобы пакет адресованный на адрес машины2 был перенаправлен на адрес машины1, а также сделать подмену адреса источника SNAT, чтобы машина1 увидела в качестве адреса клиента, который послал пакет адрес машины2, тогда машина1 сможет вернуть пакет с ответом на машину2 и уже машина2 отдать пакет клиенту.

Если сделать только DNAT, то тогда машина1 будет отдавать пакеты напрямую клиенту, но клиент их отбросит, т.е. он посылал пакет на адрес машины2, а ответ придёт от машины1.

Вот почитайте: https://www.opennet.ru/docs/RUS/iptables/

Здесь расписано как идут пакеты, по каким цепочкам, когда можно делать правило DNAT, а когда SNAT.

Почитайте в Internet как писать правила DNAT и SNAT для iptables.

Так же нужно включить продвижение пакетов между интерфейсами, вот почитайте: http://itblog.su/vklyuchaem-ip-forwarding-v-linux.html

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

Спасибо большое за подсказку. Буду дальше пробовать ломать голову. Но хорошо что Вы уже мне подсказали я хоть примерно понимаю где мне копать. А есть кто сможет показать как это сделать ? Естественно не за спасибо .

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

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

В цепочке PREROUTING таблицы nat вам нужно сделать DNAT, а в цепочке POSTROUTING таблицы nat сделать SNAT.

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

Ну вот снова загвоздка! Спасибо большое что тыкаете носом и даете ссылки на мануалы. Но в ваших мануалах не нашел как поставить ваш DNAT. Мой сервер ругается все равно что его нет! Чем дальше в лес тем больше дров. Не могу понять почему не отображает внутренний адрес машины... Все мануалы в гугле соединяют внешний адрес с внутреним адресом.

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

Но в ваших мануалах не нашел как поставить ваш DNAT

«мануал и DNAT не мой, я просто разместил объяву». Вы прочитали весь iptables tutorial и не поняли что нужно сделать. Показывайте что пытались сделать. Мы поправим где ошиблись.
ЗЫ И что бы два раза не вставать, схемку сети нарисуйте.

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

Пытаюсь понять откуда в мануалах появляются другие подсети когда их не было! было 11,11,11,1 и 11,11,11,2 потом после конфига interfaces появился 11,11,11,0\24 ! Откуда он нарисовался ? Я не учил линукс и сталкнулся с ним сосем не давно, пожалуйста не пинайте ногами! Мне очень тяжело разобраться в этом , т.к. задача которая мне нужна, не встречается вообще. У вас идет настрока клиент(лок) - клиент (вне). Постараюсь описать схему. Есть сервер1, на нем установлен сервер игры . Есть сервер2 который я хочу использовать как прокси сервер . Игроки будут подключатся к ip сервер2! Пакеты идут на сервер1 и обратно через сервер2 . Таким образом получается, что я буду видеть что игроки подключаются с ip сервер2 , но и игроки будут видеть что они подключаются и пакеты идут им с сервер2 . Таким образом я как бы хочу скрыть реальный ip сервер1 на которой стоит весь основной сервер. Это так же может быть использовано для локализации подключений с разных стран если у меня (допустим) будет сервер3(украина) сервер4(белорусь) . Но это потом. Сейчас задача клиент - сервер2 - сервер1 -сервер2 -клиент

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

Я никого не тролю, я действительно пытаюсь найти проблему и пишу как можно понятней... для меня как кажется. Забыл дописать что все клиенты должны еще подключатся по определенному порту! \ Может кто делал подобное ? Могу предоставить тачку для теста. Может на самом хосте что-то не так...

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

Дядя, вот после этого:

Пытаюсь понять откуда в мануалах появляются другие подсети когда их не было! было 11,11,11,1 и 11,11,11,2 потом после конфига interfaces появился 11,11,11,0\24 !

я даже читать дальше не стал. Возможно тут найдется кто-то, кто пожалеет «не окончившего начальную школу» но это буду точно не я.
А по решению вашей задачи вам очень, очень-очень правильно, ответил выше infomeh Перенаправление ip адресов (комментарий)

anc ★★★★★
()
Последнее исправление: anc (всего исправлений: 1)
Ответ на: комментарий от FORD
iptables -A PREROUTING -p udp -m udp --dport 7777 -j DNAT --to-destination IP_SERVER1
iptables -A PREROUTING -p tcp -m tcp --dport 7777 -j DNAT --to-destination IP_SERVER1
iptables -A POSTROUTING -p udp -m udp --dport 7777 -d IP_SERVER1/32 -j SNAT --to-source IP_SERVER2  -m comment --comment "SNAT to Server1"
iptables -A POSTROUTING -p tcp -m tcp --dport 7777 -d IP_SERVER1/32 -j SNAT --to-source IP_SERVER2  -m comment --comment "SNAT to Server1"

Вам нужно прописать всего 2 правила, одно для DNAT, второе для SNAT.

Здесь прописаны 4 правила, т.к. я не знаю по какому протоколу идёт обращение по TCP или UDP.

Правила нужно прописывать на сервере2, также не забудьте включить продвижение пакетов между интерфейсами, смотрите 2 ссылку в моём сообщении выше.

infomeh ★★
()
14 августа 2019 г.
Ответ на: комментарий от infomeh

Прошел еще месяц. \ По выше изложенному вы уже разжевали мне все что можно. Раньше запросы выводились с ошибкой. Теперь они проходят без ошибки, но в настройках iptables они не появляются.

Может у меня там ошибка на элементарном, а я голову ламаю уже сколько времени. Дорогой форум, прошу снова у Вас помощи ! Помогите пожалуйста! С меня печеньки , пепси, пополняшка что угодно!!

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

Теперь они проходят без ошибки, но в настройках iptables они не появляются.

Что это значит, почему запросы должны отображаться в настройках iptables и каких?

У вас в iptables на машине2 должны быть прописаны правила iptables для dnat и snat пакетов, адресованных на порт 7777.

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

В iptables важна очерёдность правил.

Покажите для начала вывод iptables-save в тегах [code][/code].

IP адреса можете заменить, только так, что было понятно, где адрес машины2, а где машины1.

infomeh ★★
()
Ответ на: комментарий от infomeh
 :INPUT DROP [11:504]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [92:9336]
:fail2ban-FTP - [0:0]
:fail2ban-MAIL - [0:0]
:fail2ban-SSH - [0:0]
:fail2ban-VESTA - [0:0]
:vesta - [0:0]
-A INPUT -p tcp -m tcp --dport 21 -j fail2ban-FTP
-A INPUT -p tcp -m tcp --dport 8083 -j fail2ban-VESTA
-A INPUT -p tcp -m multiport --dports 25,465,587,2525,110,995,143,993 -j fail2ban-MAIL
-A INPUT -p tcp -m tcp --dport 22 -j fail2ban-SSH
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 212.22.77.88/32 -j ACCEPT
-A INPUT -s 92.119.113.64/32 -j ACCEPT
-A INPUT -s 127.0.0.1/32 -j ACCEPT
-A INPUT -s 212.22.77.88/32 -p tcp -m tcp --dport 7777 -j ACCEPT
-A INPUT -s 92.119.113.64/32 -p udp -m udp --dport 2106 -j ACCEPT
-A INPUT -s 92.119.113.64/32 -p tcp -m tcp --dport 2106 -j ACCEPT
-A INPUT -p udp -m udp --dport 2106 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 2106 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 7777 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 21,12000:12100 -j ACCEPT
-A INPUT -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 25,465,587,2525 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 110,995 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 143,993 -j ACCEPT
-A INPUT -p tcp -m multiport --dports 3306,5432 -j ACCEPT
-A INPUT -s 176.59.0.0/19 -p tcp -m tcp --dport 8083 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A fail2ban-FTP -j RETURN
-A fail2ban-MAIL -j RETURN
-A fail2ban-SSH -s 153.36.240.126/32 -j REJECT --reject-with icmp-port-unreachable
-A fail2ban-SSH -j RETURN
-A fail2ban-VESTA -j RETURN
COMMIT
 

Я уже писал, что знаний мне не хватает! Я это не скрываю и признаю. Да я готов заплатить человеку если он сделает данную фичу. В разумных конечно ценах.

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

Ну и в чём вопрос?

Если это вывод с вашей «прокси» машины, то я не вижу здесь правил перенаправления с порта 7777 на другую машину.

Добавьте их и сохранение правила iptables, что бы они загружались при старте системы.

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

В том то и дело, добрый человек! Может я не сохраняю... Может что не так делаю ... По этому я и здесь :(

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

В том-то и дело, что если вам нужна помощь, то вам нужно в начале написать какой у вас дистрибутив Linux, Debian, Ubuntu, CentOS, Suse, Fedora, что-то другое, какой версии.

Какие команды вы вводите, что ещё делаете, что не получается.

А так, правила iptables примерны я вам написал.

Добавьте их, если они вам подходят.

А что бы вам сделать сохранение правил и их загрузку после перезапуска системы, вам нужно сходить в гугл и поискать «<Название вашего Linux> iptables» и далее разбираетесь как настраивается в вашем Linux iptables. Как сделать сохранение правил и их загрузку.

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

добавляю вот такие , но у них уже сделал кучу модификаций!

iptables -t nat -A PREROUTING -p tcp -m tcp -d 11.11.11.11 --dport 50544 -j DNAT --to-destination 192.168.1.100:50111
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.100 --sport 50111 -j SNAT --to-source 11.11.11.11:50544 

(debian)

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

Вы правила вот в этом сообщении Перенаправление ip адресов (комментарий) читали?

Если у вас добавлены приведённые вами правила.

То давайте разберём как они у вас отработают.

iptables -t nat -A PREROUTING -p tcp -m tcp -d 11.11.11.11 --dport 50544 -j DNAT --to-destination 192.168.1.100:50111

По этому правилу пакет, адресованный на 11.11.11.11 и порт 50544 будет перенправлен на 192.168.1.100 и порт 50111.

Если других правил нет, то пакет уйдёт на адрес 192.168.1.100 с адресом источника клиента, который первоначально подключался на 11.11.11.11 и порт 50544.

Поэтому ответный пакет 192.168.1.100 отправил не на хост, который переадресовал, а сразу клиенту.

Если этот переадресующий хост, конечне не является шлюзом для 192.168.1.10.

iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.100 --sport 50111 -j SNAT --to-source 11.11.11.11:50544 

Это правило, может быть и не нужно, надо смотреть схему сети.

Так что рисуйте схему сети, с внешними IP адресами, внутренними IP адресами, как соединяются хосты.

Ну и конечно нужно смотреть как ходят пакеты через tcpdump.

А теперь ещё раз прочитайте, что написано вот здесь: Перенаправление ip адресов (комментарий)

Про DNAT и SNAT, что и почему нужно делать.

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

Спасибо за ваш ответ. Да я читаю все что мне пишут. Схема полета пакетов : Клиент - сервер1 - сервер2 - сервер1 - клиент. В Сервере2 выставлена настройка, что бы возаращать пакет на сервер1.

https://vk.cc/9Hr1hU Это мой ВК.

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

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

По вашему описанию схемы ничего не понятно.

Если вам нужна помощь, то потрудитесь грамотно её составить, что бы на ней были отображены все важные участники сети, шлюз, его интерфейсы, его IP адреса, какие IP адреса у машины2 и машины1, что для них является шлюзом.

Изобразите как соединены машины, вместе со свичами. Если у машины два сетевых интерфейса и несколько IP адресов, то изобразите и их.

Т.е. схема должна быть примерно вот как в этой статье: http://blog.netskills.ru/2018/09/chem-risovat-shemu-sety.html

Отдельно опишите какие параметры сети на всех узлах.

Внешние IP адреса можете целиком не указывать.

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

https://i.ibb.co/C6YJKfV/image.png

На машине 222.22.22.2 стоит сервер игры! На пример пусть это будет Counter Strike /

Пользователь заходит в игру и видит нашу созданную карту нажимает подключится. И отправляет пакет на машину 111.11.11.1 по порту 7777, После этого пакет переадресовывается на 222.22.22.2 по порту 7777 . Запрос обрабатываться и высылает ответ на 111.11.11.1 по порту 7777. Запрос приходит на 111.11.11.1 и отправляется клиенту.

Вот мне нужно сделать так что бы когда в игре игрок отправит запрос на 111.11.11.1 его перебросило на 222.22.22.2

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

Извини, но с таким отношением и таким уровнем знаний, как у тебя тебе помочь невозможно, ищи среди своих знакомых или просто людей в твоём населённом пункте тех, кто знает Linux и может придти к тебе и выполнить необходимые настройки.

Для понимания почему ответ такой, вот к примеру ты привёл такие правила для iptables:

iptables -t nat -A PREROUTING -p tcp -m tcp -d 11.11.11.11 --dport 50544 -j DNAT --to-destination 192.168.1.100:50111
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.100 --sport 50111 -j SNAT --to-source 11.11.11.11:50544 
Я вижу здесь IP адрес из сети класса C, 192.168.1.100, адрес 11.11.11.11 - это видимо внешний адрес, который ты не хочешь показывать нам. Но если есть один адрес из сети 192.168.1.100 и есть другой комп с внешним адресом, то эти два компа как-то между собой общаются. А это значит, что на компе с внешним адресом, у тебя указан он 11.11.11.11, есть и второй внутренний адрес из сети 192.168.1.0/24 и где-то есть шлюз для этой сети.

Т.е. в итоге у тебя, скорее всего, есть внутренняя сеть, 192.168.1.0/24 со своим шлюзом и есть машины с вненими IP адресами.

И вопрос кто является шлюзом и как ходят пакеты.

Из-за твоих низкних знаний ты не понимаешь, что ситуация, когда шлюзом для сети является хост, гды ты прописываешь правила iptables для NAT / DNAT отличается от ситуации, когда шлюз для сети находится на одном компе, а правила ты прописываешь на другом.

В общем, если не можешь грамотно нарисовать схему как вот в этом примере: https://2.bp.blogspot.com/-KId6cDLqgXg/W5DUCpP8-XI/AAAAAAAAD84/E0FFqtI-XS0mUZ...

То тебе помочь нельзя и как я уже сказал, тебе нужно искать человека, кто разбирается в Linux и может придти к тебе и всё настроить.

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

Именно по этому я на этом форуме!!!! ЧТО НЕ ПОНЯТНО ВАМ ?!

Вы делаете мне замечания, когда сами даже не читаете что я пишу !

Я же написал что знания linux у меня это скопировал-вставил!

Вы сами себе противоречите! Вы же попросили как можно понятней вам нарисовать и описать схему ! Я все это сделал! Либо вы издеваетесь, либо же просто морочите мне голову!

Ip адреса 111** и 222*** да это внешние! Я просто заменил их что бы показать что это не сеть! Эти компы соединяются через интернет!

Помогите пожалуйста !

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

На данный момент, я остановился на том почему правила не добавляется . Нужен человек который сможет посмотреть , что я делаю не так ? Может я доступ к тачке не открыл и теперь парюсь уже сколько времени.

Работает по TCP

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

Эти компы соединяются через интернет!

iptables -t nat -A PREROUTING -p tcp -m tcp -d 11.11.11.11 --dport 50544 -j DNAT --to-destination 192.168.1.100:50111
iptables -t nat -A POSTROUTING -p tcp -m tcp -s 192.168.1.100 --sport 50111 -j SNAT --to-source 11.11.11.11:50544 

Тогда какого икса у тебя здесь фигурирует IP адрес 192.168.1.100?

Вот в этом сообщении Перенаправление ip адресов (комментарий) я тебе написал правила:

iptables -A PREROUTING -p udp -m udp --dport 7777 -j DNAT --to-destination IP_SERVER1
iptables -A PREROUTING -p tcp -m tcp --dport 7777 -j DNAT --to-destination IP_SERVER1
iptables -A POSTROUTING -p udp -m udp --dport 7777 -d IP_SERVER1/32 -j SNAT --to-source IP_SERVER2  -m comment --comment "SNAT to Server1"
iptables -A POSTROUTING -p tcp -m tcp --dport 7777 -d IP_SERVER1/32 -j SNAT --to-source IP_SERVER2  -m comment --comment "SNAT to Server1"
Которые тебе нужно добавить на твой «прокси» сервер.

Заменив IP_SERVER1 адресом реального сервера игры, который ты хочешь скрыть. А IP_SERVER2 - адресом твоего прокси сервера.

Если у тебя порты на одном и втором сервере не одинаковые, т.е. не 7777 и там и там, то поправь сам правила, ты нам об этом не сказал.

Хотя почему-то в твоих правилах есть порт 50111 и 50544, не знаю откуда они взялись. В первом сообщении темы ты написал только про 7777, вот в соответствие с твоим ТЗ тебе и написаны 4 рабочих правила, которые решат твою задачу.

И заметь написаны как раз для случая TCP и UDP.

Помечай тему решённой.

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

Я же написал что знания linux у меня это скопировал-вставил!
Именно по этому я на этом форуме!!!! ЧТО НЕ ПОНЯТНО ВАМ ?!

Все понятно, просто вы ошиблись разделом, вам сюда www.linux.org.ru/forum/job/

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

Спасибо Вам, что подсказали. Я просто не хотел флудить темами и заново все объяснять .

Мда ребят, ну и цены вы лупите за 4 запроса на новом ОС... Нужно действительно задуматься, может прийти к Вашу нишу...

Как я и думал, что проблема оказалась в элементарном! Странно, что все тут в теме такие умные, то говорят о моем образовании, то что я не одарен рисованием схем... Хотя ладно.

Спасибо всем кто откликнулся и пытался мне помочь.

Из-за 2х запросов, мне пришлось перечитать кучу ненужных мне мануалов и статей.

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