LINUX.ORG.RU
ФорумAdmin

NAT не хочет работать

 , , , ,


1

3

Подскажите, что да куда! Вообщем две сети с одинаковым диапазоном(192.168.0.0/24) Каждая сеть воткнута в свой интерфейс на сервере, этот сервер и есть недофаервол, пока! Назовем одну сеть внешней, от которой мы можем взять только один ip адрес, для связи с ней!! Вторая внутренняя.

Так вот нужно на этом сервере настроить NAT, что бы внешняя сеть видела внутреннюю как один ip адрес, который мы и берем у нее для связи А внутренняя сеть видела внешнюю как сеть из другого диапазон, транслируемого один в один!

Как я это пытаюсь делать: -Настраиваю сетевой интерфейс в который подключена внешняя сеть! -На этом интерфейсе настраиваю PREPOUTING и POSTROUTING -Использую NETMAP

но в итоге не получается! Подскажите как реализовать!

Каждая сеть воткнута в свой интерфейс на сервере, этот сервер и есть недофаервол, пока! Назовем одну сеть внешней, от которой мы можем взять только один ip адрес, для связи с ней!! Вторая внутренняя.

NETMAP тут тебе не поможет, тут надо крутить еще и network namespace и/или policy based routing. Потому что иначе всё перепутается еще на этапе разбора куда/откуда всё это роутить

Сменить адресацию - не вариант?

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

Менять адресацию. Как минимум во внутренней отрезать себя в /27 чтобы не совпадать с внешней. Лучше всё-таки внутри сделать 192.168.111.0/24

И на всякий случай, net.ipv4.ip_forward = 1 есть?

И да, маршруты нужно прописать хотябы вручную.

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

ну тогда обмазываться PBR-ом, namespace-ами и страдать

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

Я просто не работал с iptables, и не могу понять, как реализовывать это по кускам, подзадачам, то по сначала странслировать в одном направлении, проверить это как то и так далее

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

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

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

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

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

Так вот и надо сделать что бы одна сеть 192.168.1.0/24 видеала другую как, допустим, 192.168.2.0/24 и друга 192.168.1.0/24 видела первую как, допустим, тоже 192.168.2.0/24.

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

network namespace + policy based routing + NETMAP. Работать будет, но со стороны локалки придеться обращаться к компам за шлюзом по другому - например 192.168.1.10 вместо 192.168.0.10.

Судя по упоминанию NETMAP на ЭТО ТС готов пойти.

Но я искренне не понимаю зачем городить такой аццкий огород и почему нельзя сменить адресацию. Однако танцевать по полю граблей - уникальное неотъемлимое право ТСа.

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

А особо можно порадоваться за того человека, который придет разбираться с этим грабледромом после ТСа.

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

Работаю, причем уже давно. А вот Астру в глаза не видел, там могут быть свои тонкости.

Но ты сначала опиши возникшую проблему...

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

Если это не какие-то системы автоматизации/сервера (причем с двух сторон), где действительно прописано статиком то вы «больны» устраивать такой «ад и израиль» для /24.

anc ★★★★★
()

Я бы для начала посоветовал покурить две вещи: NET-3-HOWTO и Iptables Tutorial. Когда поймёте основы, не будет вопросов о том, как делать не надо.

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

Если в мою сеть подключать другие сети, совпадающего диапазона, то для каждой такой сети я поднимаю NS и связываю через veth интерфейсы с внутренней сетью, верно?

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

Если в кратце есть изделие(машины, сервера, куча служб, сложное ПО) и к нему должны подключаться другие изделия, без возможности их конфигурировать, просто чужие изделия, можно только взять от них свободный IP.Вообщем то в теории мы можем получить несколько изделий с одинаковыми подсетями и возможность конфигурировать только свой сервер на который все приходит

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

Если в кратце есть изделие(машины, сервера, куча служб, сложное ПО) и к нему должны подключаться другие изделия, без возможности их конфигурировать, просто чужие изделия, можно только взять от них свободный IP.Вообщем то в теории мы можем получить несколько изделий с одинаковыми подсетями и возможность конфигурировать только свой сервер на который все приходит

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

и возможность конфигурировать только свой сервер на который все приходит

Собственно серые сети и NAT для того и существует, чтобы обеспечить сетевое взаимодействие при наличии немаршрутизируемых сетей. Потому одинаковые сети - это нормально. Не нормально, что вы почему-то хотите один nat для двух одинаковых сетей. Может вам это и удасться заставить работать, но зачем усложнять жизнь и себе и другим? С уважением, ваш КО.

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

Только NATом не получается реализовать!

Там ключевое было «один» NAT на «одинаковые сети». Если один NAT на каждую одинаковую сеть - то одного nat будет достаточно.

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

Видимо я не так настраивал. Можно на примере или логикой работы? НА сервере куда приходят несколько одинаковых сетей, интерфейсам задаются адреса этих сетей, и они из одного диапазона, и пересылка покетов в этом случае непонятно какая, так вот это, для начала, разрулить iptables неудалось, и в теории надо использовать network namesoace для изоляции Как это модно сделать iptables, не подскажите?

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

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

Замечательно, я слабо представляю что это за нафиг. Клиент (КлиентЫ) у которых зарардкоден ip/dns/gw для соединения с сервером? Т.е. надо менять настройки на серверах для того что бы подсоединился клиент? А если два, три... 100500 клиентов и все с разными/одинаковыми настройками?
«Сервер не суетись под клиентом» (с)

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