А если у меня через роутер настроено подключение и на ноутбуке ifconfig показывает «внутренний» IP, который получил от роутера — и они естественно не совпадают?
В общем случае — на самом деле никак. Если провайдер очень хочет скрыть промежуточный прокси, то он это сделает. Но если подстав от провайдера не ожидается, то зайти на веб-морду роутера и глянуть там IP. Если IP не из приватного диапазона (https://en.wikipedia.org/wiki/Private_network#Private_IPv4_address_spaces) то это уже почти гарантирует что он белый. В качестве гарантии можно действительно его сравнить с тем что тебе покажут разные сервисы типа http://ifconfig.me/
Домашнее задание: объяснить человеку, совершенно не шарящему в сетях и не имеющему доступ к серверам во всех уголках планеты, как ему определить проходят или нет raw-ip пакеты.
Мне, честно говоря, нужно было просто иметь возможность подключится к маминому компьютеру (она в другом городе), т.к. надоело в скайпе объяснять куда что нажать.
Но оказалось, что у нас провайдер один и тот же, но у меня IP прямой, а у нее нет :(
Я для таких целей использую openVPN. Уезжая я настроил соединение, и как только родителям что-то нужно, они поднимают ВПН и я соединяюсь по SSH. В случае венды наверное тоже можно удаленный рабочий стол какой-нибудь изобрести.
А вообще в древние времена, я уезжая на дачу вешал модем на телефон, и админил свой сервак звоня ему по телефону, вот это были веселые времена. Особенно весело было непосвященным: они звонят на номер, модем снимает трубку, и тишина.
Мне, честно говоря, нужно было просто иметь возможность подключится к маминому компьютеру (она в другом городе), т.к. надоело в скайпе объяснять куда что нажать.
Поставь ей TeamViewer. Он хоть и ужасен, зато прост в установке и белый IP не нужен.
Другое дело, что даже если провайдер дает тебе белый IPшник, он всё-равно может быть динамическим (то есть, будет выдаваться каждый раз разный на каждую сессию).
Но оказалось, что у нас провайдер один и тот же, но у меня IP прямой, а у нее нет :(
1. IP может быть «прямым»/«белым» ВНУТРИ сетки провайдера, или части сетки. А ЗА пределами может быть кривым. Т.ч. проверять нужно ping'уя хосты один с другого. Т.е. «прямизна» понятие относительная, и если тест с одного хоста показывает одно, то с другого может по другому.
2. если у тебя «прямой», а у неё нет, то она может подключится к тебе, а ты к ней нет. Т.е. можно использовать какой-то RDP только запускать его должна она.
да, IP может быть белым для роутера, но серым для компьютера. Так и есть по умолчанию. Нужно пробросить нужный порты в настройках роутера. Сам он не пробрасывается потому, что роутер не знает, какой именно из ваших компьютеров должен отвечать на запрос. Например сайты работают на порту 80, и если на ваш IP заходят браузером, то роутер не знает, куда отправить пакет на 80 порт, на КАКОЙ комп. Ну и выкидывает пакет.
Что-бы всё работало, надо
1. привязать IP внутри вашей сети, что-бы ЭТОТ компьютер был ВСЕГДА 192.168.1.5. Желательно по MAC адресу(это адрес сетевой карты), тогда можно втыкать ЭТОТ комп в разные дырки роутера, и IP не поменяется.
2. пробросить порт. Каждый сервис работает на своём порте, список стандартных в /etc/services.