LINUX.ORG.RU
ФорумAdmin

Вопрос по NAT


0

2

Вообщем задал препод такой вопрос: Дано:

локальная сеть 192.168.0.1/24(20 клиентов) , один провайдерский ip 10.0.0.2 (не важно в принципе какой) и ip провайдерского шлюза 10.0.0.1.

Вопрос:

Как и почему можно в данном случаи, используя только СТАТИЧЕСКИЙ NAT (без PAT), выпустить всех абонентов в сеть?????



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

Што есть статический нат? Маппинг 192.168.0.1/24 на 10.0.0.0/24 чтоли?

anonymous
()

а в чем проблема? ipt -t nat -A POSTROUTING -o eth0 -s 192.168.0.1/24 -p tcp -j MASQUERADE ну и несколько правил на форвардинг,не?

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

если я через iptables сделаю snat $IPT -t nat -A POSTROUTING -s $LAN_IP_RANGE -j SNAT --to-source $INET_IP

разве это не будет использование PAT???

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

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

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

Это не про iptables Существует 3 базовых концепции трансляции адресов: статическая (Static Network Address Translation), динамическая (Dynamic Address Translation), маскарадная (NAPT, NAT Overload, PAT).

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

давай лучше послушаем, что по этому поводу думает ТС, и ответим ей в ее терминах. потому что есть огромная вероятность, что вы используете один и тот же термин в разных значениях. сравни для примера Таненбаума, документацию Циско, документацию Джунипера и МС, Олиферов, Гольдштейнов, Стивенса..

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

вообщем есть прегруженный NAT и нужно организовать без него думаю он понимает под этим следующие

прегруженный NAT - форма динамического NAT, который отображает несколько незарегистрированных адресов в единственный зарегистрированный IP адрес, используя различные порты. Известен также как PAT (Port Address Translation)

Речь не идет про iptables, а про саму технологию NAT

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

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

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

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

Я так понимаю это будет динамический NAT?

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

перегруженный nat это и есть маскарадинг. Вобщем ответ на твой вопрос такой - нужен SNAT потому что есть статический ip на внешнем интерфейсе и все.

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

> тобы клиенты не чувствовали никаких ограничений и порты Такого условия небыло

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

перегруженный nat это и есть маскарадинг. Вобщем ответ на твой вопрос такой - нужен SNAT потому что есть статический ip на внешнем интерфейсе и все.

В том то и дело что нужно без прегруженного NATa сделать

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

Всем отозвавшимся огромное спасибо!!! Завтра пойду к преподу с ответом: нельзя использую статический NAT решить данную задачу т.к. Статический NAT - Отображение незарегистрированного IP адреса на зарегистрированный IP адрес на основании один к одному.

Хотя он и утверждает, что возможно!!! И даже говорит, что у нас на кафедре это реализовано (интересно будет посмотреть).

Завтра отпишусь

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

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

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

>в любом случае, это чисто теоретическое ментальное упражнения, на практике так никто не делает.

Совершенно согласен

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

>Она самая

Неправильно выразился. Проброс адресов он имеет в виду или что?

freebsd-online
()

Если провайдерский IP постоянный, то лучше так:

#!/bin/sh
LOCNET=192.168.0.1/24
EXTIP=10.0.0.2
EXTINT=eth0
iptables -t nat -A POSTROUTING -o $EXTINT -s $LOCNET -d ! $LOCNET -j SNAT --to-source $EXTIP

Если провайдерский IP каждый раз разный (динамический), то:

#!/bin/sh
LOCNET=192.168.0.1/24
EXTINT=eth0
iptables -t nat -A POSTROUTING -o $EXTINT -s $LOCNET -d ! $LOCNET -j MASQUERADE

Первый способ работает быстрее, маскарад - универсальнее.

Ну и FORWARD-цепочки тоже нужно разрешить. В простейшем случае так:

#!/bin/sh
LOCNET=192.168.0.1/24
EXTINT=eth0
LOCINT=eth1
iptables -A FORWARD -i $LOCINT -o $EXTINT -s $LOCNET -j ACCEPT     
iptables -A FORWARD -i $EXTINT -o $LOCINT -m state --state ESTABLISHED,RELATED -j ACCEPT

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

Ответ препода:

я вам зачту потому что возникло недопонимание с обеих сторон.

Собственно вот и все)) Скорей всего препод загнался во время формулировки вопроса)) Так что реализацию увидеть видать не судьба, но подозреваю что там маппинг 192.168.0.1/24 на 10.0.0.0/24, хотя просил всех выпустить через один IP да еще без PAT, и делал на этом акцент.

Всем спасибо за помощь!!!

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

Нужно было сдавать на 5+ и предложить поставить прокси. NATа вообще не будет.

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