Обсуждение:Выявление NAT
Материал из Мир Jabber
(перенаправлено с «Обсуждение:Выявление NAT в Windows Vista»)
Перейти к навигацииПерейти к поиску
Локальный ли ?
Три специальных диапазона IP адресов зарезервированы для локальных сетей и в интернете не используются:
10. 0. 0. 0 - 10. 255.255.255 172. 16. 0. 0 - 172. 31.255.255 192.168. 0. 0 - 192.168.255.255
Если IP адрес вашего компьютера находится в одном из этих диапазонов, то есть начинается с 10. или с 192.168. или с 172.nn. (где nn - от 16 до 31), то это локальный (внутренний) адрес, и вы точно находитесь за NAT.
- Вроде как это и было описано в конце статьи... Нет? --rain 01:38, 24 января 2009 (UTC)
Перенес текущий вариант сюда. На всякий случай... H31 19:19, 9 марта 2009 (UTC)
...И снова появилось это прописывание собственного адреса в клиенте :). Ну зачем? Его ж нигде не приходилось использовать. --Rain 14:33, 10 июля 2009 (UTC)
- Провел небольшой следственный эксперимент по этому поводу: запустил передачу файла. Рассмотрим кусок переданных данных:
<iq type="set" to="h31mail@ya.ru/qutIM" id="aac7a" > <query xmlns="http://jabber.org/protocol/bytestreams" mode="tcp" sid="s5b_0c2a115a3f03a137" > <streamhost port="54444" host="10.21.23.135" jid="h31mail@ya.ru/Psi+" /> <streamhost port="54444" host="127.0.0.1" jid="h31mail@ya.ru/Psi+" /> <fast xmlns="http://affinix.com/jabber/stream"/> </query> </iq>
- Как видно, Psi сообщает о 2 IP-адресах. Ни внешний адрес, ни адрес прокси не прописан. Естественно, QutIM не сможет подключиться к обоим адресам по понятным причинам. А теперь пропишем IP-адрес в клиенте и повторим эксперимент:
<iq type="set" to="h31mail@ya.ru/qutIM" id="aac5a" > <query xmlns="http://jabber.org/protocol/bytestreams" mode="tcp" sid="s5b_59e1d7ac8c826337" > <streamhost port="54444" host="10.21.23.135" jid="h31mail@ya.ru/Psi+" /> <streamhost port="54444" host="127.0.0.1" jid="h31mail@ya.ru/Psi+" /> <streamhost port="54444" host="94.232.12.231" jid="h31mail@ya.ru/Psi+" /> <fast xmlns="http://affinix.com/jabber/stream"/> </query> </iq>
- Появился третий, настоящий IP-адрес. К нему-то как раз и сможет подключиться QutIM. H31 15:00, 10 июля 2009 (UTC)
- А что за адрес "10.21.23.135" и как вообще выглядит подключение к интернету? --Rain 15:17, 10 июля 2009 (UTC)
- Адрес 10.21.23.135 - внутренний у провайдера. Смотри самый верх обсуждения. Этот IP действителен только в локальной сети моего провайдера - для взаимодействия с Интернетом используется 94.232.12.231. Psi взял скорее всего 10.21.23.135 из ifconfig. Узнать 94.232.12.231 он просто так не сможет - только через STUN или подобный сервер, ну или банально в настройках прописать. H31 15:50, 10 июля 2009 (UTC)
- Что-то вроде VPN'a? Есть сегмент локальной сети, в нем обычно по DHCP раздается локальный адрес (тот, что выше), ДНС, в ней же идет дозвон до VPN-сервера и создается другой интерфейс, ppp0, уже с внешним адресом - так? Но тогда это бага в Psi, он должен определять и отправлять адрес правильно. В любом случае, для пользователя в таком случае поможет прокси. В принципе, описание про динамический адрес / его прописывание / использование DynDNS на странице определения НАТа можно оставить, может чуть перефразировать, чтоб сильно не путать людей. --Rain 17:08, 10 июля 2009 (UTC)
- STUN - это такая штуковина, которая говорит приложению его внешний адрес и тип NAT, если он есть
- Нет, у меня не PPP. Так что никаких ppp0, просто eth0, и через него и локальная сеть, и Интернет. Чтобы не путать людей, я специально написал, что следующая информация нужна только если хотят Out-Of-Bound без прокси. H31 17:39, 10 июля 2009 (UTC)
- "через него и локальная сеть, и Интернет" - т.е., на одном интерфейсе 2 адреса - 10.21.23.135 и 94.232.12.231 - так, получается? --Rain 09:55, 11 июля 2009 (UTC)
- Что-то вроде VPN'a? Есть сегмент локальной сети, в нем обычно по DHCP раздается локальный адрес (тот, что выше), ДНС, в ней же идет дозвон до VPN-сервера и создается другой интерфейс, ppp0, уже с внешним адресом - так? Но тогда это бага в Psi, он должен определять и отправлять адрес правильно. В любом случае, для пользователя в таком случае поможет прокси. В принципе, описание про динамический адрес / его прописывание / использование DynDNS на странице определения НАТа можно оставить, может чуть перефразировать, чтоб сильно не путать людей. --Rain 17:08, 10 июля 2009 (UTC)
- Адрес 10.21.23.135 - внутренний у провайдера. Смотри самый верх обсуждения. Этот IP действителен только в локальной сети моего провайдера - для взаимодействия с Интернетом используется 94.232.12.231. Psi взял скорее всего 10.21.23.135 из ifconfig. Узнать 94.232.12.231 он просто так не сможет - только через STUN или подобный сервер, ну или банально в настройках прописать. H31 15:50, 10 июля 2009 (UTC)
- А что за адрес "10.21.23.135" и как вообще выглядит подключение к интернету? --Rain 15:17, 10 июля 2009 (UTC)
[aaa@myhost ~]$ ifconfig eth0 Link encap:Ethernet HWaddr 00:1E:8C:D6:14:B1 inet addr:10.21.23.135 Bcast:10.21.23.255 Mask:255.255.255.128 inet6 addr: fe80::21e:8cff:fed6:14b1/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:450222 errors:0 dropped:0 overruns:0 frame:0 TX packets:624208 errors:0 dropped:0 overruns:0 carrier:1 collisions:0 txqueuelen:1000 RX bytes:92279443 (88.0 Mb) TX bytes:461139399 (439.7 Mb) lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:10200 errors:0 dropped:0 overruns:0 frame:0 TX packets:10200 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:1419719 (1.3 Mb) TX bytes:1419719 (1.3 Mb) [aaa@myhost ~]$
- Тут этот способ очень популярен, ибо монтажники лишь подключают кабель и ничего не настраивают, всё сразу работает. Через этот интерфейс работает и локальная сеть, и Интернет. H31 10:50, 13 июля 2009 (UTC)
- Но в данном случае машина и приложения на ней не знают про внешний адрес... А как при обращении на внешний адрес делается обращение на такую машину? --Rain 11:21, 13 июля 2009 (UTC)
- Скорее всего все преобразования делаются на стороне провайдера. А ОС тупо отсылает все пакеты на шлюз и всё. Когда у меня не было внешнего IP, то всё было абсолютно так же. :-) H31
- Изврат :) Пробрасывать реальный IP через блок локальных адресов "лишь бы ничего не настраивать"... В общем, примерно понял. --Rain 14:30, 13 июля 2009 (UTC)
- Скорее всего все преобразования делаются на стороне провайдера. А ОС тупо отсылает все пакеты на шлюз и всё. Когда у меня не было внешнего IP, то всё было абсолютно так же. :-) H31
- Но в данном случае машина и приложения на ней не знают про внешний адрес... А как при обращении на внешний адрес делается обращение на такую машину? --Rain 11:21, 13 июля 2009 (UTC)
- Тут этот способ очень популярен, ибо монтажники лишь подключают кабель и ничего не настраивают, всё сразу работает. Через этот интерфейс работает и локальная сеть, и Интернет. H31 10:50, 13 июля 2009 (UTC)