2

Я установил сервер nextcloud на Raspberry Pi у себя дома, к которому я могу получить доступ из-за пределов своего Wi-Fi через домен noip dyn-dns. Изнутри сети я не могу использовать домен, хотя, поскольку он разрешает мой внешний ip, но не внутренний ip малины.

Для этого я нашел два подхода, которые не работают в моем случае:

1.) Наиболее рекомендуемый подход - активировать Loopback NAT на маршрутизаторе. К сожалению, это невозможно, так как мой маршрутизатор не поддерживает это, и я не собираюсь покупать новый только для этого случая использования.

2.) Изменение локальной записи DNS. Я использую Linux и, таким образом, могу изменить /etc /hosts, чтобы сопоставить домен с внутренним ip. Работает нормально, если я локально подключен к своей домашней сети, но не работает, если я хочу подключиться извне. Возможно, был бы способ обойти это, но другой важный недостаток этого подхода заключается в том, что мне нужно было бы редактировать локальные записи DNS для нескольких устройств, включая Windows, iOS и Android. Итак, я бы предпочел найти метод, который не должен изменять несколько локальных клиентов, но делает это более централизованно.

Есть ли другой способ решить эту проблему?

1 ответ1

0

Я решил это, настроив DNS-сервер на малине.

Для этого я сделал:

  1. Настройте статический IP на моей малине

  2. Установил dnsmasq и настроил его в соответствии с этой статьей:https://www.raspberrypi.org/forums/viewtopic.php?t=46154 Я использовал файл /etc/dnsmasq.conf, представленный в этой статье, но изменил следующее :

    #the domain to be accesses from outside and inside
    domain=mydomain.ddns.net
    
    resolv-file=/etc/resolv.dnsmasq  
    min-port=4096
    
    #Google's DNS Server:
    server=8.8.8.8 
    
    # Max cache size dnsmasq can give us, and we want all of it!    
    cache-size=10000    
    
    # Below are settings for dhcp. Comment them out if you dont want    
    # dnsmasq to serve up dhcpd requests.    
    dhcp-range=192.168.0.101,192.168.0.149,255.255.255.0,1440m    
    dhcp-option=3,192.168.0.100    
    dhcp-authoritative
    

    Я раскомментировал строки о DHCP, которые сделали малину доступной. Как DHCP и DNS связаны в этом контексте, я не совсем понял, но так как он работает таким образом, я не стал больше заниматься исследованиями.

  3. добавьте в /etc /hosts на raspberry следующую строку, так что мой домен будет внутренне преобразован в статический IP-адрес моей raspberry.

    192.168.0.100   mydomain.ddns.net 
    
  4. установить статический IP-адрес моей малины в качестве DNS-сервера на разных клиентах в их сетевых настройках (в моем случае это работало на Linux, Windows, Android и iOS).

ОБНОВЛЕНИЕ:

DHCP-настройки малины помешали DHCP моего роутера, поэтому я отключил его на малине, закомментировав строки, касающиеся DCHP, в /etc/dnsmasq.conf. Он работает и без него, если вы вручную добавляете IP-адрес малины в качестве DNS-сервера на подключенных клиентах.

UPDATE2:

Вот подробное описание всех шагов, подробно описывающих установку DNS-сервера в контексте nextcloud на raspbian:https://ownyourbits.com/2017/03/09/dnsmasq-as-dns-cache-server-for-nextcloudpi и-raspbian/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .