Вопрос по iptables?

Многим известна схема проброса портов с роутера на сервер, находящийся в локальной сети DNAT+SNAT. В таком случае IP входящих соединений будут принадлежать внутреннему адресу роутера.


Возможно ли сделать так, чтобы на сервер транслировались пакеты с их реальными IP, без SNAT, и сервер бы смог на них беспрепятственно отвечать при условии, что сервер не должен иметь выход в интернет. Ответы на пакеты должны перенаправляться роутеру, а тот их уже отправит туда, откуда пришел запрос. Т.е. функционал DNAT+SNAT, но без SNAT, т.к. маршрут выхода в интернет отсутствует.
  • Вопрос задан
  • 4880 просмотров
Решения вопроса 1
@alz
В таком случае IP входящих соединений будут принадлежать внутреннему адресу роутера

Это не так. При DNAT подменяется адрес назначения, а не источника. На роутер приход пакет с адресом назначения равным внешнему адресу роутера и он этот адрес заменяет на внутренний адрес хоста, на который делается проброс, и отправляет пакет дальше
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
@ToSHiC
Вы хотите сделать BiNAT. По этому ключевому слову гугл знает много рецептов :)
Ответ написан
Alukardd
@Alukardd
Мде, с учётом прочтённого выше могу сказать, что много слишком вы хотите получить. Вас должно спасти проксирование, правда тут уже не только netfilter будет задействован.
Ответ написан
Комментировать
foxmuldercp
@foxmuldercp
Системный администратор, программист, фотограф
Эм, а что мешает сделать обратный NAT, когда пакеты отправляясь на роутер, отправляются на внешний IP, доступа к которому у внутреннего сервера нет?
картина то одна и та же:

внешний клиент -> пакет -> преобразование IP
внутренний клиент -> пакет -> преобразование IP
Ответ написан
Комментировать
@phasma
xinetd умеет пробрасывать порты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы