Определить используется ли PAT или нет? (можно ли из внутренней сети?)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС для молодых и начинающих системных администраторов.

Модератор: SLEDopit

Ответить
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Определить используется ли PAT или нет?

Сообщение Stauffenberg »

Всем привет.

Есть ли возможность определить (из внутренней сети) используется на рутере PAT (port address translation) или нет?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Определить используется ли PAT или нет?

Сообщение skeletor »

Конкретно PAT или NAT в целом?
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

skeletor писал(а):
06.02.2015 14:12
Конкретно PAT или NAT в целом?

Вообще PAT, но и по NAT информация будет интересна.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить используется ли PAT или нет?

Сообщение Bizdelnick »

PAT без NAT? Такое бывает?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

Bizdelnick
На сколько я знаю - нет.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить используется ли PAT или нет?

Сообщение Bizdelnick »

Тогда я не понимаю, в чём суть вопроса.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Определить используется ли PAT или нет?

Сообщение MrClon »

Код: Выделить всё

curl http://icanhazip.com

И если полученные адрес не присвоен твоему компу значит что-то такое используется.
Если пакеты отправленные из интернетов на тот адрес (на произвольный порт, не в рамках сессии инициированной твоим компом) доходят до твоего кома значит используется настоящий NAT (который используется очень редко и которым обычно называют то что по хорошему называется PAT), т.е. сопоставление адрес-к-адресу.
Если пакеты не доходят значит скорее всего используется PAT (который принято называть NAT-ом), т.е. сопоставление адрес:порт-к-адрес:порту.
Много путаницы в терминах. Так что именно ты хочешь определить?
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Определить используется ли PAT или нет?

Сообщение skeletor »

Смотря что конкретно подразумевать под этими понятиями. Лично я придерживаюсь такого мнения:
NAT is a feature of a router that will translate IP addresses. When a packet comes in, it will be rewritten in order to forward it to a host that is not the IP destination. A router will keep track of this translation, and when the host sends a reply, it will translate back the other way.
Home users who talk about NAT are actually talking about PAT, or Port Address Translation. This is quite easy to remember: PAT translates ports, as the name implies, and likewise, NAT translates addresses. Sometimes PAT is also called Overloaded NAT. It doesn't really matter what you call it, just be careful about blanket "NAT can't" statements: they are likely incorrect.
...
NAT is not used to simply share a single IP address. But when it is, in this strange configuration that's really called PAT,
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

MrClon писал(а):
06.02.2015 15:04

Код: Выделить всё

curl http://icanhazip.com

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

Да, показал другой IP. Осталось только выяснить NAT там или PAT :) Кстати, как это работает? Как он определил этот IP-aдрес?
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

MrClon писал(а):
06.02.2015 15:04
Много путаницы в терминах.

Я понимаю так:

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

* PAT: этот метод применяется, когда есть единственный глобально выделенный адрес. При этом каждый частный адрес отображается на один и тот же внешний адрес, но номер порта исходящего пакета заменяется уникальным знаением, которое в дальнейшем используется для ассоциирования входящих пакетов с частным сетевым адресом.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

Есть мнение, что при изменении адреса отправителя (NAT) или номера исходящего порта (PAT) меняется как контрольная сумма заголовка IP-датаграммы, так и контрольная сумма TCP-сегмента. Другими словами, тут может помочь сниффер, но как определить, что эти изменения были вызванны именно использованием NAT/PAT рутером? Хотя, если контрольная суммы не совпадают во ВСЕХ пакетах, то скорее всего так и есть.
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Определить используется ли PAT или нет?

Сообщение MrClon »

Stauffenberg писал(а):
06.02.2015 15:11
Как он определил этот IP-aдрес?

Смотрит Source IP пакета, т.е. с какого адреса пришёл запрос.
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Определить используется ли PAT или нет?

Сообщение MrClon »

Stauffenberg писал(а):
06.02.2015 15:30
Есть мнение, что при изменении адреса отправителя (NAT) или номера исходящего порта (PAT) меняется как контрольная сумма заголовка IP-датаграммы, так и контрольная сумма TCP-сегмента. Другими словами, тут может помочь сниффер

Снифер стоящий уже после NAT/PAT? Т.е. клиент -> NAT/PAT -> снифер? Чем этот вариант принципиально отличается от использования чего-то вроде icanhazip.com выдающей ещё и source port?
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить используется ли PAT или нет?

Сообщение Bizdelnick »

Stauffenberg писал(а):
06.02.2015 15:22
* принцип работы NAT заключается в преобразовании между частными сетевыми адресами и одним или несколькими глобально выделенными IP-адресами. Выбор из так называемого пула: имеется пул глобально выделенных IP-адресов и рутер динамически назначает один из них хосту, которому нужно связаться с хостом во внешней сети.

Вы когда-нибудь такое в дикой природе встречали? В Википедии, например, описаны one-to-one (никому на фиг не нужный) и one-to-many варианты NAT (второй - по сути PAT), а Вы описали какой-то many-to-many.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Аватара пользователя
skeletor
Сообщения: 1224

Re: Определить используется ли PAT или нет?

Сообщение skeletor »

Такое встречается очень редко, но тем не менее, ничего странного в этом не вижу. Или что вас смутило?
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

MrClon писал(а):
06.02.2015 15:54
Stauffenberg писал(а):
06.02.2015 15:11
Как он определил этот IP-aдрес?

Смотрит Source IP пакета, т.е. с какого адреса пришёл запрос.

Сделал traceroute icanhazip.com, в списке не оказалось хоста с IP-адресом, который выдал curl http://icanhazip.com... Ох уж эта пятница :)
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
MrClon
Сообщения: 838
ОС: Ubuntu 10.04, Debian 7 и 6

Re: Определить используется ли PAT или нет?

Сообщение MrClon »

Hint: у роутера может быть более одного IP адреса. Хуже того: NAT/PAT сервер не обязан использовать адреса используемые для NAT/PAT для чего-то ещё (например для отправки ICMP пакетов).
Спасибо сказали:
Аватара пользователя
Stauffenberg
Сообщения: 2042
Статус: ☮ PEACE ☮
ОС: открытая и свободная

Re: Определить используется ли PAT или нет?

Сообщение Stauffenberg »

Bizdelnick писал(а):
06.02.2015 16:05
Stauffenberg писал(а):
06.02.2015 15:22
* принцип работы NAT заключается в преобразовании между частными сетевыми адресами и одним или несколькими глобально выделенными IP-адресами. Выбор из так называемого пула: имеется пул глобально выделенных IP-адресов и рутер динамически назначает один из них хосту, которому нужно связаться с хостом во внешней сети.

Вы когда-нибудь такое в дикой природе встречали? В Википедии, например, описаны one-to-one (никому на фиг не нужный) и one-to-many варианты NAT (второй - по сути PAT), а Вы описали какой-то many-to-many.


Configuring Network Address Translation: Getting Started
Labor omnia vincit

"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Определить используется ли PAT или нет?

Сообщение Bizdelnick »

MrClon писал(а):
06.02.2015 16:16
Hint: у роутера может быть более одного IP адреса. Хуже того: NAT/PAT сервер не обязан использовать адреса используемые для NAT/PAT для чего-то ещё (например для отправки ICMP пакетов).

Собственно, у роутера, работающего как NAT, обычно минимум два весёлых адреса, один - "белый", другой - "серый". С машинами из внутренней сети он общается по "серому" адресу (он виден в трассировке), из внешней - по "белому" (он виден icanhazip.com). (Это при схеме one-to-many, при других внешних адресов больше.)
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Ответить