LINUX.ORG.RU

1 IP на 2 сети шлюз


0

1

Привет. Подскажите, кто сталкивался можно ли подобное реализовать через IPTables или еще, как ни будь? Суть проблемы в след..

роутер с 2 сетевыми платами 1. шлюз в сети №1 виден как 10.10.10.10 2. шлюз в сети №2 виден как 20.20.20.20 3. За шлюзом своя сеть с ИП 40.40.40.40

Пример. У меня в сети 40.* стоит сервер, который умеет отвечать клиенту только 1-м ИП. Это игровой сервер и он просто не поддерживает мульти адреса. Заточен на 1-н ип который ему в настройках укажешь. Т.е. для клиента 10.* я ставлю у сервера ответ 10.* -A PREROUTING -d 10.10.10.10 -i eth0 -j DNAT --to-destination 40.40.40.40 -A PREROUTING -d 20.20.20.20 -i eth1 -j DNAT --to-destination 40.40.40.40

при таком раскладе клиент из 20.* не может зайти. Можно, как ни будь подменить ИП на шлюзе? я пробовал, что ни будь в роде -A PREROUTING -d 20.20.20.20 -i eth1 -j DNAT --to-destination 10.10.10.10

но это не подходит. Я не являюсь, каким ни будь системным администратором только учусь работать в сетях. Подскажите, есть какой ни будь вариант решить мою проблему? Желательно подробнее, потому что я новичок. Спасибо за внимание.

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

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

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

ip_forward - вы имеете ввиду вкл. его на моем шлюзе и настроить? если форварды у сетей не прописаны, это поможет? Я нуб еще в этом :)

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

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

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

Форварды у меня прописаны. Как видите я спец. взял себе сигмент отличный от них. Если даже в одной сети меня пропишут по умолчанию, ведь мой сигмент не перекликается с их, то игровой сервер то все равно только одним отвечает. А в двух не пропишут 100%... Вот я и думаю, возможно ли как нибудь сделать для них один ИП общий с подменой так сказать. Хотя в их родных сетях это будут два разных ИП. Т.е. сервер будет обоим отвечать например как 40.* и обе сети будут видеть этот адрес и принимать его за свой.

gpadmin ()

>Пример. У меня в сети 40.* стоит сервер, который умеет отвечать клиенту только 1-м ИП.
Переведите. Сервер умеет отвечать только адресам из указанной подсети? Или что?

fractaler ★★★★★ ()

-I POSTROUTING -o eth2 -d 40.40.40.40 -j SNAT --to-source 40.40.40.x

и в настройках сервера ответ на 40.40.40.x

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

Отвечает 1-н любым который ему укажешь. Если поставить ответ на одну сеть, то вторая не подключится. Потому что сети друг друга физически не видят. А мне хотелось бы сделать какое нибудь хитрое подключение для обоих сетей, чтобы для них обоих был один ИП по которому они могли бы заходить. Что нибудь с подменой...

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

Если делать как вы указали, то для второй сети это будет выглядить так?

-I POSTROUTING -o eth0 -d 30.30.30.30 -j SNAT --to-source 30.30.30.x

и в настройках сервера ответ на 30.30.30.x

т.е. вторая сеть не зайдет. Потому что ответы разными ИП.

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

Рисуйте схемы. На словах у вас объяснять не получается...

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

Для каждой сети вы пишете DNAT правило как в первом посте. А потом для всех этих соединений делаете SNAT. Одно SNAT правило. 40.40.40.x обозначает ip-адрес, присвоенный машрутизатору в той сети, где стоит сервер с ip-адресом 40.40.40.40.

Только я не понял, сколько сетевых интерфейсов, если есть сеть 1, сеть 2 и «За шлюзом своя сеть с ИП 40.40.40.40»?

mky ★★★★★ ()

>За шлюзом своя сеть с ИП 40.40.40.40

за каким шлюзом то?

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

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

Спасибо что помогаете мне народ :)

Сетевых 3 шт. две внешние и одна внутреняя. Вот картинка, спрашивайте если что не понятно. http://filebeam.com/c4da79c25b528dd466a86e4a67eebaaa.jpg

сеть 2 прописала мой шлюз у себя на оборудовании и теперь их пользователи видят мой шлюз на пряму так сказать. Сеть 1 отказывается это сделать, поэтому я использую до сих пор их ИП адрес выданный внутри сети. Cервер 40.* умеет отвечать только 1 ИП адресом. Поэтому если поставить ответ как 30.30.30.1 сеть 2 сможет играть, сеть 1 нет. Ну и на оборот можно сделать, смысл то же. Вот и вопрос. Каким нибудь образом можно через шлюз задать 1 ИП для ответа обоим сетям через iptables?

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

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

попробуй для начала тупо на шлюзе написать

route add -host 40.40.40.40 eth0

если 40.40.40.40 висит ЗА eth0.

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

Не могли бы вы подробнее объяснить ход ваших мыслей. Куда вы пытаетесь меня направить? Что мне даст? route add -host 40.40.40.40 eth0

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

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

таким образом роутеру мы четко говорим что пакеты, которые идут на 40.40.40.40 кидать дальше.

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