У меня есть домашняя локальная сеть, которая подключена к Интернету с помощью маршрутизатора Dlink DIR-825. ISP:s dhcp дал один внешний ip (например, 91.154.214.101, который по соображениям безопасности не является моим истинным ip), и к нему можно получить доступ с помощью внешнего имени хоста (например, mydns101.dlinkddns.com, который по соображениям безопасности не является моим истинным именем хоста).

У меня есть правило переадресации портов (в маршрутизаторе Dlink используется термин «виртуальный сервер»), которое перенаправляет трафик на порт 80 на локальный сервер centos6 с локальным IP-адресом 129.168.0.120 (см. Изображение ниже).

Я хочу получить доступ к этому локальному серверу только из моей домашней сети, но с помощью URL https://mydns101.dlinkddns.com. Теперь я могу получить доступ к https://mydns101.dlinkddns.com отовсюду.

Как я могу ограничить доступ к этому серверу, чтобы он мог быть доступен только из моей домашней сети (91.154.214.101), но с использованием внешнего адреса https://mydns101.dlinkddns.com?

Конечно, я могу получить к нему доступ с использованием локального IP-адреса 129.168.0.120 и не использовать переадресацию портов, что означает, что к нему нельзя получить доступ из других мест, но таким образом я не могу использовать внешний адрес https://mydns101.dlinkddns.com.

И я, конечно, могу ограничить доступ, используя httpd.conf локального сервера, но это не тот способ, которым я хочу использовать, потому что цель этого домашнего сервера - быть сервером разработки 1-1 для живого сервера, и я хочу использовать идентичный httpd.conf:s в них обоих. Я хочу использовать Dlink Router для ограничения доступа.

Поскольку 91.154.214.101 - это мой ip, я думаю, что разрешить доступ с него и запретить доступ с других ip:s - это путь. Итак, я проверил все комбинации с использованием входящих фильтров (см. Http://support.dlink.com/emulators/dir825/Advanced.html#Inbound_Filter):

Name    Action  Remote IP Range      
ALLOW   Allow   0.0.0.0-91.154.214.100, 91.154.214.102-255.255.255.255      
DENY    Deny    0.0.0.0-91.154.214.100, 91.154.214.102-255.255.255.255      
ALLOW2  Allow   91.154.214.101-91.154.214.101       
DENY2   Deny    91.154.214.101-91.154.214.101

и присоедините эти фильтры к правилам пересылки "Виртуальный сервер" следующим образом:

но ни одно из этих правил не работает так, как хотелось бы. Они либо ограничивают доступ отовсюду, либо разрешают доступ отовсюду, что не является желаемым поведением.

1 ответ1

1

Попробуйте добавить требуемое правило перевода в файл hosts на клиенте. Как это сделать, будет зависеть от клиентской ОС (/etc/hosts в * nix системах).

Если вы используете локальный DNS, вы можете исправить это там, но в противном случае вам нужно будет как-то сделать это на клиентской основе, и файл hosts должен быть глобальным и простым способом.

Просто добавьте строку

129.168.0.120 mydns101.dlinkddns.com

каждому желаемому hosts клиента и посмотрим, что получится. Внешне блокируйте веб-сервер, как вы описали, если вам не нужен внешний доступ.

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