Keenetic - настройки, вопросы и пути решения.

Интернет-центры Keenetic — основа современных сетей в миллионах домохозяйств и небольших офисов.
Ответить
anvldko
Ветеран
Сообщения: 880
Зарегистрирован: 30 июн 2019, 01:30
Откуда: Росси́йская Федера́ция

Keenetic - настройки, вопросы и пути решения.

Сообщение: # 3798Сообщение anvldko

Начало....
Справочник по cli командам
alexlaz1982
Бывалый
Сообщения: 94
Зарегистрирован: 30 июн 2019, 20:41
Откуда: Ейск

Re: Keenetic - настройки, вопросы и пути решения.

Сообщение: # 4199Сообщение alexlaz1982

Установка PHP 8

На примере кинетик OS, для других маршрутизаторов необходимо отредактировать только строчку

Код: Выделить всё

 user nobody nobody;
заменив группу на свою существующую, например на падаван эта строчка выглядеть будет так

Код: Выделить всё

user nobody nogroup;
,а для мобильных маршрутизаторов хуавей

Код: Выделить всё

user root root;
Приступаем к установке
Копируем код по кнопке "КОД: ВЫДЕЛИТЬ ВСЁ" и вставляем в терминал, веб сервер будет доступен на 88 порту вашего маршрутизатора.

Код: Выделить всё

opkg update
opkg upgrade

Код: Выделить всё

opkg install nginx
opkg install php8-fastcgi
opkg install php8-mod-curl
opkg install php8-mod-iconv
opkg install php8-mod-mbstring
opkg install php8-mod-session
opkg install php8-mod-simplexml
opkg install php8-mod-xml
opkg install php8-mod-zip
opkg install php8-mod-dom

Код: Выделить всё

cat > "/opt/etc/nginx/nginx.conf" <<EOF
user nobody nobody;
worker_processes 1;
events {
worker_connections 64;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile off;
keepalive_timeout 65;
server {
listen 88;
server_name localhost;
charset utf-8;
location / {
root /opt/share/www;
index index.php index.html index.htm;
}
error_page 404 /404.html;
error_page 403 /403.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /opt/share/nginx/html;
}
location ~ \.php\$ {
root /opt/share/www;
fastcgi_pass unix:/opt/var/run/php-fcgi.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
}
EOF

Код: Выделить всё

rm /opt/etc/nginx/fastcgi_params
cat > "/opt/etc/nginx/fastcgi_params" <<EOF
fastcgi_param QUERY_STRING \$query_string;
fastcgi_param REQUEST_METHOD \$request_method;
fastcgi_param CONTENT_TYPE \$content_type;
fastcgi_param CONTENT_LENGTH \$content_length;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
fastcgi_param SCRIPT_NAME \$fastcgi_script_name;
fastcgi_param REQUEST_URI \$request_uri;
fastcgi_param DOCUMENT_URI \$document_uri;
fastcgi_param DOCUMENT_ROOT \$document_root;
fastcgi_param SERVER_PROTOCOL \$server_protocol;
fastcgi_param REQUEST_SCHEME \$scheme;
fastcgi_param HTTPS \$https if_not_empty;
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx/\$nginx_version;
fastcgi_param REMOTE_ADDR \$remote_addr;
fastcgi_param REMOTE_PORT \$remote_port;
fastcgi_param SERVER_ADDR \$server_addr;
fastcgi_param SERVER_PORT \$server_port;
fastcgi_param SERVER_NAME \$server_name;
fastcgi_param REDIRECT_STATUS 200;
EOF

Код: Выделить всё

rm /opt/etc/init.d/S79php-fcgi
cat > "/opt/etc/init.d/S79php-fcgi" <<EOF
#!/bin/sh
export PHP_FCGI_CHILDREN=''
ENABLED=yes
PROCS=php-fcgi
ARGS="-b /opt/var/run/php-fcgi.sock &"
PREARGS=""
DESC=\$PROCS
PATH=/opt/bin:/opt/sbin:/opt/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
. /opt/etc/init.d/rc.func
EOF
chmod +x /opt/etc/init.d/S79php-fcgi

Код: Выделить всё

mkdir /opt/share/www
/opt/etc/init.d/S80nginx start

Код: Выделить всё

/opt/etc/init.d/rc.unslung restart
Веб скрипты кладём по адресу /opt/share/www
У вас нет необходимых прав для просмотра вложений в этом сообщении.
anvldko
Ветеран
Сообщения: 880
Зарегистрирован: 30 июн 2019, 01:30
Откуда: Росси́йская Федера́ция

Re: Keenetic - настройки, вопросы и пути решения.

Сообщение: # 4555Сообщение anvldko

Получение публичного ключа для Claudflare DNS

Добавляем в stubby.yml

Код: Выделить всё

# The cloudflare
  - address_data: 1.1.1.1
    tls_port: 853
    tls_auth_name: "cloudflare-dns.com"
    tls_pubkey_pinset:
      - digest: "sha256"
        value: PublicKey
  - address_data: 1.0.0.1
    tls_auth_name: "cloudflare-dns.com"
    tls_pubkey_pinset:
      - digest: "sha256"
        value: PublicKey
Устанавливаем пакет openssl

Код: Выделить всё

opkg install openssl-util
Выполняем команду в ответ на которую мы получим правильный публичный ключ DNS over TLS для cloudflare

Код: Выделить всё

echo | openssl s_client -connect '1.0.0.1:853' 2>/dev/null | openssl x509 -pubkey -noout | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | openssl enc -base64
Меняем в конфиге PublicKey на ключ получиный командой выше, на текущую дату он равен MnLdGiqUGYhtyinlrGTC4FZdDyDXv4NOWFGnXW3ur14=

Готовый конфиг

Код: Выделить всё

resolution_type: GETDNS_RESOLUTION_STUB
round_robin_upstreams: 1
appdata_dir: "/opt/var/lib/stubby"
tls_authentication: GETDNS_AUTHENTICATION_REQUIRED
tls_query_padding_blocksize: 128
edns_client_subnet_private: 1
idle_timeout: 5000
listen_addresses:
  - 127.0.0.1@5453
#  - 0::1@5453
dns_transport_list:
  - GETDNS_TRANSPORT_TLS
upstream_recursive_servers:
  - address_data: 1.1.1.1
    tls_port: 853
    tls_auth_name: "cloudflare-dns.com"
    tls_pubkey_pinset:
      - digest: "sha256"
        value: MnLdGiqUGYhtyinlrGTC4FZdDyDXv4NOWFGnXW3ur14=
  - address_data: 1.0.0.1
    tls_port: 853
    tls_auth_name: "cloudflare-dns.com"
    tls_pubkey_pinset:
      - digest: "sha256"
        value: MnLdGiqUGYhtyinlrGTC4FZdDyDXv4NOWFGnXW3ur14=
Дополнительно вы можете включить блокировщик с помощью cloudflare-dns, просто измените айпи адрес на требуемый вам вариант. (блокировка работает только в случае указания днс без шифирования, в противном случае можно использовать те, которые быстрее отвечают)
Блокируйте вредоносное ПО с помощью 1.1.1.1 для всей семьи

Код: Выделить всё

  - address_data: 1.1.1.2
  - address_data: 1.0.0.2
Блокируйте вредоносное ПО и контент для взрослых с помощью 1.1.1.1 для всей семьи

Код: Выделить всё

  - address_data: 1.1.1.3
  - address_data: 1.0.0.3
Ответить