Я пытался настроить небольшой домашний сервер.
Я использую динамический IP-адрес. WAN-адрес моего роутера такой 100.70.81.xxx, а мой публичный IP-адрес 81.213.177.xx
Я сделал переадресацию портов в своем роутере. www, smtp и pop3 порты открыты. Но мой сервер все еще недоступен из публичного интернета, я думаю.
Так должен ли мой компьютер находиться за Carrier Grade NAT? Если это так, возможно ли настроить веб-сервер за CGN?
решение1
Адрес вашего маршрутизатора "WAN" взят изчастныйДиапазон 100.64.0.0/10 (что-то вроде 192.168.x, но выделен специально для CGNAT). Это означает, что вы находитесь за CGN, и глобальный адрес, который вы видите, является общим для нескольких клиентов.
Таким образом, единственные способы настроить сервер за NAT, который вы не контролируете, это:
Заставьте интернет-провайдера выполнить переадресацию портов...Да, этого не произойдет. (Хотя теоретически NAT-PMP должен был это разрешить.)Получите свой собственный глобальный адрес из другого места, например, есть VPN-провайдеры, которые поддерживают хостинг серверов и могут предоставить вам статический адрес.
Если у вас есть IPv6,чтобудет доступен по всему миру, хотя вам дополнительно понадобится служба, которая может проксировать соединения от клиентов, говорящих по IPv4, к вашему серверу, поддерживающему только IPv6 (например, CloudFlare может справиться с этой задачей).
(IPFS также приходит на ум как вариант 3¾ — недавно я видел несколько сайтов со статическими страницами, размещенных через прокси-серверы «web-to-IPFS». Со стороны это выглядит как совершенно обычный домен, имеющий псевдоним gateway.ipfs.io
.)
решение2
ngrok отлично работает у меня. Я собирался удариться головой, но вы меня спасли. Мой роутер находится за CGNAT. Я зарегистрировался в ngrok с бесплатной учетной записью, и поверьте мне, он бесплатный навсегда. Нужно просто скачатьngrok для Linux перейдите в установленный каталог, распакуйте его и запустите ./ngrok tcp 22 --> я хочу получить доступ к своей машине Linux из интернета через ssh. Возможно, вам захочется открыть порт 80 или любое другое приложение, к которому вы хотите получить доступ через интернет. После завершения запуска вы получите динамическую ссылку с портом, все готово.
Наслаждаться !!
решение3
Я хотел бы упомянуть некоторые другие альтернативынгрок. Они следующие (в произвольном порядке):
Сервео(На момент написания статьи отключено)
Holepunch.io Цены см. там
Пакеттриот Цены см. там
Опенпорт Цены см. там
В настоящее время я тестирую последний вариант и он меня вполне устраивает для моих нужд (личное использование, некоммерческая деятельность).
решение4
Вы понимаете, что вы можете обойти CGNAT с помощью любого коммерческого VPN, однако, если вы просто хотите перенаправить порт за CGNAT, то процесс становится немного длиннее. Любой VPN может сделать это, поскольку он предоставляет публичный IP.
Проблема в том, что при попытке разместить сервер вам нужен выделенный IP, а не статический IP, поскольку статический IP может быть предоставлен другим клиентам вашим провайдером, выделенный немного дорогой и зарезервирован только для вас. Поэтому для безопасного метода выберите выделенный IP, а затем переадресуйте порт, если вам интересно, вы можетеследуйте этому процессу.