Jump to content

Question

Posted (edited)

Доброго времени суток

Роутер Keenetic Giga,  KeeneticOS: 3.3.1

Подскажите как правильно настроить доступ к ресурсам локальной сети?

В локальной сети есть машина, с IP-адресом 192.168.1.2

В cli роутера делаем

ip host asms.home 192.168.1.2
ip host torrent.home 192.168.1.2
system configuration save

На 192.168.1.2 nginx вот с такими конфигами

/etc/nginx/sites-available  $ cat asms 
server {
    listen   80;
    root /local/www/HMS/;
      
    access_log /var/log/nginx/HMS/access.log; #расположение логов данного хоста
    error_log /var/log/nginx/HMS/error.log;

    server_name www.asms.home asms.home;

    satisfy any;
    allow 192.168.1.0/24;
    deny all;

    auth_basic "CrazyNAS";
    auth_basic_user_file /local/auth/.htpasswd;

    index index.php index.html index.htm;

    location @notfound {
         return 404;
    }
    
    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location / {
        try_files $uri $uri/ @notfound;
    }
}
/etc/nginx/sites-available  $ cat torrent 
server {
    listen   80;
    root /local/www/ruTorrent/;
      
    access_log /var/log/nginx/ruTorrent/access.log; #расположение логов данного хоста
    error_log /var/log/nginx/ruTorrent/error.log;

    server_name www.torrent.home torrent.home;

    satisfy any;
    allow 192.168.1.0/24;
    deny all;

    auth_basic "CrazyNAS";
    auth_basic_user_file /local/auth/.htpasswd;

    index index.php index.html index.htm;

    location @notfound {
         return 404;
    }
    
    location ~ \.php$ {
        #fastcgi_pass 127.0.0.1:9000;
        fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }

    location / {
        try_files $uri $uri/ @notfound;
    }
}

перезагружаем роутер, рестартуем nginx

теперь по адресам: 

     asms.home -> живет сайт 1,

     torrent.home -> живет сайт 2

 

Теперь хочу получить доступ из интернета. Провайдер дает мне белый динамический ip-адрес, поэтому настраиваем KeenDNS без облака

676654054_2019-12-262_04_25.thumb.png.3702f5533f87a513d119c5a97af7a51e.png

Сохраняем настройки, теперь идем в Пользователи и доступ

1192933559_2019-12-262_11_01.thumb.png.972e3bb0e7ad6899169655daced19dd1.png

Сохраняем, и перезагружаем рутер. так же рестартуем nginx.

Теперь пробуем зайти с телефона не подключенного к WiFi роутера

http://asms.#@%#@%.keenetic.pro -> сайт 1, тут все ок

https://asms.#@%#@%.keenetic.pro -> сайт 1, тут все ок

http://torrent.#@%#@%.keenetic.pro -> тут тоже сайт 1, а должен был бы быть сайт 2

https://torrent.#@%#@%.keenetic.pro -> тут тоже сайт 1, а должен был бы быть сайт 2

Никак не могу понять что я сделал не так.

 

И второй вопрос

По адресу http://#@%#@%.keenetic.pro и https://#@%#@%.keenetic.pro доступна админка роутера. Можно каким-то образом ее отключить, что бы по таким адресам ничего не отдавалось

 

Как сделать доступ только по http или https?

Edited by CrazyTSTer

9 answers to this question

Recommended Posts

  • 0
Posted

Так же в конфиге nginx обновил строчки sever_name

сделал:

     server_name asms.home asms.#@%#@%.keenetic.pro;

     server_name torrent.home torrent.#@%#@%.keenetic.pro;

но это не помогло

  • 0
Posted
В 25.12.2019 в 23:39, CrazyTSTer сказал:

Так же в конфиге nginx обновил строчки sever_name

сделал:

     server_name asms.home asms.#@%#@%.keenetic.pro;

     server_name torrent.home torrent.#@%#@%.keenetic.pro;

но это не помогло

ip http proxy preserve-host  должно помочь

  • 0
Posted
В 25.12.2019 в 23:17, CrazyTSTer сказал:

По адресу http://#@%#@%.keenetic.pro и https://#@%#@%.keenetic.pro доступна админка роутера. Можно каким-то образом ее отключить, что бы по таким адресам ничего не отдавалось

Никак

  • 0
Posted (edited)
On 1/11/2020 at 10:23 PM, metahor said:

ip http proxy preserve-host  должно помочь

 Долго думал...

сначала сделал 

ip http proxy preserve-host ENTER

потом наконец дошло

ip http proxy %DOMAIN% preserve-host

где %DOMAIN% - доменноe имя из настроек KeenDNS из секции Доступ к веб приложениям домашней сети

сделал так

(config)> ip http proxy asms preserve-host 
Http::Proxy: "asms": enabled Host header preservation.

(config)> ip http proxy torrent preserve-host 
Http::Proxy: "torrent": enabled Host header preservation.

(config)> system configuration save 

судя по названию эта опция позволяет прокидывать поле HOST в заголовке запроса

перепроверил конфиги nginx, перегрузил роутер

но блин к сожалению не помогло :(

Edited by CrazyTSTer
  • 0
Posted

еще раз все перепроверил, прочитал https://nginx.org/ru/docs/http/request_processing.html Как nginx обрабатывает запросы

выглядит так что поле HOST из Request Header не пробрасывается nginx'у и потому мне отдается дефолтный сайт

т.е.  preserve-host не работает, или работает как-то не так

  • 0
Posted

шаг №1 - проверяем, что доменное имя(имена) к которому мы обращаемся имеет запись А где указан нужный вам IP адрес,

например, мой.сайт.екатеренбурга.нет А 111.222.333.444 , даша.и.гена.букин.рф А 111.222.333.444

шаг №2 - на роутере создаём правило NAT для перенаправления 80 порта с внешнего интерфейса, который подключён к сети интернет, к IP адресу компьютера в локальной сети, на порт 80, где запущен web сервер

шаг №3 - в конфиге nginx пишем

server {
    listen   80;
	server_name мой.сайт.екатеренбурга.нет;
}

server {
    listen   80;
	server_name даша.и.гена.букин.рф;
}

возможные проблемы:

1 - если не работает как описано выше - пробуем поменять роутер, пишем в службу поддержки кинетик

2 - если у вас нет возможности редактировать запись А у домена, например, вы просто не купили домен, то или на самом устройстве с которого будем открывать сайт мой.сайт.екатеренбурга.нет добавляем нужный домены и адреса в список маршрутизации, например в семи известный файл hosts, или добавляем адреса доменов и соотносящихся к ним А записей(IP адресов) в маршрутизацию роутера, через который мы выходим в сеть интернет

  • 0
Posted
2 hours ago, Sovenok said:

шаг №1 - проверяем, что доменное имя(имена) к которому мы обращаемся имеет запись А где указан нужный вам IP адрес,

например, мой.сайт.екатеренбурга.нет А 111.222.333.444 , даша.и.гена.букин.рф А 111.222.333.444

шаг №2 - на роутере создаём правило NAT для перенаправления 80 порта с внешнего интерфейса, который подключён к сети интернет, к IP адресу компьютера в локальной сети, на порт 80, где запущен web сервер

шаг №3 - в конфиге nginx пишем


server {
    listen   80;
	server_name мой.сайт.екатеренбурга.нет;
}

server {
    listen   80;
	server_name даша.и.гена.букин.рф;
}

возможные проблемы:

1 - если не работает как описано выше - пробуем поменять роутер, пишем в службу поддержки кинетик

2 - если у вас нет возможности редактировать запись А у домена, например, вы просто не купили домен, то или на самом устройстве с которого будем открывать сайт мой.сайт.екатеренбурга.нет добавляем нужный домены и адреса в список маршрутизации, например в семи известный файл hosts, или добавляем адреса доменов и соотносящихся к ним А записей(IP адресов) в маршрутизацию роутера, через который мы выходим в сеть интернет

Спасибо, так вполне работает в связке с no-ip. но не хотелось бы пробрасывать порт.

Возможно с точки зрения безопасности лучше и проще сделать vpn во внутреннюю сеть и не заморачиваться.

Но хотелось воспользоваться возможностями KeenDNS. А как я написал выше пока не получается :(

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...