Соединение двух компьютеров по локальной сети во время борьбы с DHCP

402
BobserLuck

Прошу прощения за этот вопрос, если он не в том стеке или считается, что он ищет рекомендации по обслуживанию. Я попытался спросить об этом в Network Engineering, однако они не имеют никакого отношения к уровню 4 OSI и направил меня сюда.

Я буду размещать безголовый сервер (хотя, выступая в качестве другого клиента) в моей локальной сети университетов. Я хотел бы иметь возможность подключаться к нему через SSH со своего ноутбука, однако эта сеть основана на DHCP, поэтому любой из них или оба могут изменять IP-адреса по усмотрению сети. Как я буду информировать свой ноутбук об IP-адресе сервера, если он изменится? Я думал об использовании Python для определения, когда сервер меняет IP-адреса, а затем об использовании почтового клиента для отправки себе нового IP-адреса по электронной почте, а затем на моем ноутбуке автоматически проверял этот почтовый ящик на наличие изменений IP. Это бы сработало, но кажется, что это очень круто, и требует немного больше усилий, чем кажется. Любые другие варианты, которые я мог бы попробовать? Обратите внимание, что я не могу установить статический IP-адрес, так как у меня нет доступа к серверу DHCP, и я

0
Если вы заинтересованы в покупке экземпляра облачных вычислений, такого как дроплет DigitalOcean, вы можете использовать openVPN. Поместите сервер openVPN на дроплет, а клиент openVPN - на безголовый «сервер». Если вы хотите сделать это бесплатно, я бы взял общую идею, которая у вас есть, но пусть python вызывает API pushover.net для отправки уведомления на мой телефон, я бы проанализировал это вручную, если мне нужно было войти в систему. Существует удобный клиент для настольных ПК, который не уверен, что вы сможете использовать его для автоматизации работы ноутбука. Pushover намного быстрее (и надежнее), чем электронная почта. Tyson 5 лет назад 1
@ Тайсон Я определенно думал об этом (Hak5 великолепен), но я действительно не хочу намеренно обходить брандмауэр, если смогу помочь. Я бы хотел, чтобы мой нос был чистым. Это будет вариант для запуска этого в качестве фактического сервера с несколькими онлайн-сервисами, однако администрация не заинтересована в идее, потому что эта сеть предназначена для клиентского трафика, а не для хостинга серверов. И поэтому он будет работать как гигантский клиент, вероятно, используемый для машинного обучения. Я просто хочу простой способ подключения к нему во время учебы, и мне не нравится TeamViewer. Pushover больше похож на то, что я ищу BobserLuck 5 лет назад 0
@ Тайсон Я взглянул на суету, и это похоже на то, что мне нужно, без всяких проблем с подпрыгивающими письмами повсюду. И хотя вы не можете использовать клиент для настольного компьютера в автоматизации, есть доступный клиентский API, и их сочетание идеально. Спасибо за рекомендацию BobserLuck 5 лет назад 0
Я уже почти полтора года пользуюсь системой домашней автоматизации, она всегда работает и работает очень быстро. Уведомление приходит мгновенно. Tyson 5 лет назад 0

2 ответа на вопрос

2
Stese

Используйте DNS-имя для автономного сервера вместо IP-адреса.

Это предполагает, что DNS включен в этой сети.

Совсем другой вопрос, но как мне узнать, включен ли DNS без полной установки и настройки сервера. BobserLuck 5 лет назад 0
@Bobser: поддержка DNS - это особенность инфраструктуры локальной сети (обычно, в частности, DHCP-сервера), если ваш безголовый сервер использует DHCP, он сообщит DHCP-серверу, какое имя хоста сконфигурировано для безголового сервера, а служба DHCP обновит службу DNS, так что что клиенты могут использовать это имя для доступа к безголовому серверу. RedGrittyBrick 5 лет назад 0
если он находится в сети, DHCP должен объявить адрес сервера подключающемуся клиенту. если у вас уже есть компьютер в сети, проверьте, есть ли DNS-сервер в списке. адрес, который вы затем используете.домен Stese 5 лет назад 1
Используя ifconfig и nslookup для проверки IP-адресов двух компьютеров, не похоже, что имена хостов общедоступны. Это больше похоже на то, что я нахожусь за роутером, но мой ноутбук и сервер могут менять IP всякий раз, когда происходит переподключение. BobserLuck 5 лет назад 0
BobserLuck - вы можете опубликовать экраны ifconfig для обеих машин? Stese 5 лет назад 0
0
LawrenceC

@ Стеше ответ хороший.

Хороший способ узнать, назначает ли ваша сеть DNS-имя для вашего IP-адреса, - это узнать свой IP-адрес, а затем выполнить проверку nslookupна своем IP-адресе (работает в большинстве операционных систем):

nslookup 10.X.X.X

Это называется «обратным поиском» и сообщит вам имя DNS, если оно существует.

Ваша сеть может не предоставлять имя или возможно, назначенное DNS-имя может содержать ваш IP-адрес или иным образом генерироваться уникальным образом.

Если это так, то вам нужен динамический DNS-провайдер. Раньше Dyndns был хорошим бесплатным, другой нынешний провайдер - noip.com. Там есть другие. Вам нужно будет создать учетную запись, а затем запустить «клиент обновления» на вашем сервере, который будет в основном проверять изменения IP и сообщать обратно службе, которая затем обновляет общедоступную запись DNS, которую он поддерживает.

Я думал об использовании Python для определения того, когда сервер меняет IP-адреса, а затем об использовании почтового клиента для отправки себе нового IP-адреса по электронной почте, а затем на моем ноутбуке автоматически проверял этот почтовый ящик на наличие изменений IP. Это бы сработало, но кажется, что это очень круто, и требует немного больше усилий, чем кажется.

Не исключайте этого, если, например, ваш университет по какой-то причине блокирует noip.com.

Университетские сети обычно назначают частные не маршрутизируемые (10.xxx) IP-адреса, поэтому OP спрашивает. Tyson 5 лет назад 0
Я имею в виду, что No-IP великолепен, и я использовал его раньше для домашней сети, но, к сожалению, эти компьютеры находятся за брандмауэром и не маршрутизируются из внешней сети. Я знаю, что есть способы обойти брандмауэры изнутри (на ум приходит обратный VPN), но это не мое намерение. Только для обновления локальных IP-адресов в поддомене сети, которую я использую. И не похоже, что этот домен назначает имена для nslookup в сети. BobserLuck 5 лет назад 0
Да, не знаю, почему я предположил, что у вас будет перенаправленный порт в инфраструктуре маршрутизации вашего университета. Вам нужна система вне сети, чтобы построить VPN-туннель. Вы также можете посмотреть на запуск скрытой службы Tor - поскольку она начинается с установления исходящего соединения с Tor, она будет работать. Но чтобы использовать его, вам нужно запустить Tor. LawrenceC 5 лет назад 0

Похожие вопросы