Перейти к содержимому
Local
banderlog

sgauth на openwrt-роутере запустил, но...

Рекомендованные сообщения

If you still want to use these functions, you should be aware that they take each 32-bit chunk in host-byte order, which is little-endian on little-endian platforms and big-endian on big-endian ones.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

меняются местами при кодировании только в blowfish.cpp думаю попробывать стоит :)

 

хотя бы на ноуте .. чтоб сравнить ошибки :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

меняются местами при кодировании только в blowfish.cpp думаю попробывать стоит :)

 

хотя бы на ноуте .. чтоб сравнить ошибки :)

 

не вопрос. только мне нужен код который пробовать X)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

stglibscrypto.libblowfish.cpp

 

uint32_t bytes2block(const char * c)

{

uint32_t t = static_cast<unsigned char>(*c++);

t += static_cast<unsigned char>(*c++) << 8;

t += static_cast<unsigned char>(*c++) << 16;

t += static_cast<unsigned char>(*c) << 24;

return t;

}

//-----------------------------------------------------------------------------

// Note: swap bytes order for compatibility with OpenSSL

void block2bytes(uint32_t t, char * c)

{

*c++ = t & 0x000000FF;

*c++ = t >> 8 & 0x000000FF;

*c++ = t >> 16 & 0x000000FF;

*c = t >> 24 & 0x000000FF;

}

попробовать заменить на

 

uint32_t bytes2block(const char * c)

{

uint32_t t = static_cast<unsigned char>(*c++)<< 24;

t += static_cast<unsigned char>(*c++) << 16;

t += static_cast<unsigned char>(*c++) << 8;

t += static_cast<unsigned char>(*c) ;

return t;

}

//-----------------------------------------------------------------------------

// Note: swap bytes order for compatibility with OpenSSL

void block2bytes(uint32_t t, char * c)

{

*c++ = t>> 24 & 0x000000FF;

*c++ = t >> 16 & 0x000000FF;

*c++ = t >> 8 & 0x000000FF;

*c = t & 0x000000FF;

}

 

кажется так

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

очевидно, что старый новый год, и его канун, не лучшее время для ожиданий патча :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да я второй день пытаюсь завести какой-нить линукс на BE-архитектуре под qemu и пока безрезультатно :)

Не хочется "пальцем в небо" баги фиксить, но, похоже, придется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это надо *wrt прошить какой-нить роутер на BE, а его еще надо найти. это мне 'посчастливилось'

 

я ж буду эти 'пальцы в небо' тестить не отходя от кассы и выхлопы сюда кидать

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

Судя по всему оно не поломалось. Оно и раньше не работало. В аттаче патч, по идее должен помочь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

это надо *wrt прошить какой-нить роутер на BE, а его еще надо найти. это мне 'посчастливилось'

 

я ж буду эти 'пальцы в небо' тестить не отходя от кассы и выхлопы сюда кидать

Ну не обязательно тестировать именно на *wrt и на be-железе. Достаточно любого Linux под эмулятором. Но мне так и не удалось завести на нем сеть почему-то. Так что будем "пальцем в небо" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Судя по всему оно не поломалось. Оно и раньше не работало. В аттаче патч, по идее должен помочь.

[#10171] У вас не достаточно прав для загрузки данного прикрепленного файла.

 

это при том что из других тем отлично качает

 

 

можно его куданить на pastebin или в этом роде? X)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

терь обмен 4мя пакетами: http://pastebin.com/VhVcKXJL

 

с ноутбуком не совпадают (там версия без патча, есессно, все так же как и в старых логах): http://pastebin.com/admgBwnU

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

кажется кодирование сьел , теперь пакет не разобрался


  • Incorrec

  • 0x0040: 7420 7265 7175 6573 7420 4449 5343 4f4e t.request.DISCON

  • 0x0050: 4e5f 5359 4e00 0000 0000 0000 0000 0000 N_SY

 

так что почти попал пальцем в небо :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не .. не прошел

 

просто заголовок пакета зашифровался правильно ... а вот все остальное ....

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

во втором пакете от тебя должно быть


  • 0x0030: 173c 853c 18b8 fbdc cda4 cff3 cd2a 2f49 .<.<.........*/I

  • 0x0040: b1e4 0a91 4a0c b2dd 444a 5c1f 4358 b05c ....J...DJ.CX.

  • 0x0050: 71e6 471a ed99 e3ab 1429 3bcb q.G......);.

а у тебя


  • 0x0030: 173c 853c 18b8 fbdc cda4 cff3 cd2a 2f49 .<.<.........*/I

  • 0x0040: b1e4 0a91 aeb1 9f07 a8cb 1674 4358 b05c ...........tCX.

  • 0x0050: 71e6 471a 4245 9dec 8bb0 e8b1 q.G.BE......

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не .. не прошел

 

просто заголовок пакета зашифровался правильно ... а вот все остальное ....

... тоже шифруется правильно. Иначе откуда бы он определил что это именно DISCONN_SYN?

 

во втором пакете от тебя должно быть


  • 0x0030: 173c 853c 18b8 fbdc cda4 cff3 cd2a 2f49 .<.<.........*/I

  • 0x0040: b1e4 0a91 4a0c b2dd 444a 5c1f 4358 b05c ....J...DJ.CX.

  • 0x0050: 71e6 471a ed99 e3ab 1429 3bcb q.G......);.

а у тебя


  • 0x0030: 173c 853c 18b8 fbdc cda4 cff3 cd2a 2f49 .<.<.........*/I

  • 0x0040: b1e4 0a91 aeb1 9f07 a8cb 1674 4358 b05c ...........tCX.

  • 0x0050: 71e6 471a 4245 9dec 8bb0 e8b1 q.G.BE......

Судя по всему он вместо CONN_ACK передает DISCONN_SYN. По размеру пакета они одинаковы. Вот только непонятно почему...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
banderlog, а можно посмотреть ваши исправленные исходники sgauth?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

там у него Incorrect.request.DISCONN_SYN т.е. типа DISCONN_SYN но кривой , думаю он превратился из CONN_SYN в DISCONN_SYN по какой то причине(кодировка,разбивание пакета на блоки .. этц) ,а не отправлялся именно DISCONN_SYN

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

там у него Incorrect.request.DISCONN_SYN т.е. типа DISCONN_SYN но кривой , думаю он превратился из CONN_SYN в DISCONN_SYN по какой то причине(кодировка,разбивание пакета на блоки .. этц) ,а не отправлялся именно DISCONN_SYN

Если посмотреть внимательно на дампы то будет видно что сообщение именно о DISCONN_SYN. Без разрывов. И нет такого хитроко преобразования которое превратило бы CONN_ACK в DISCONN_SYN.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

banderlog, а можно посмотреть ваши исправленные исходники sgauth?

 

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

 

ниже главный Makefile.conf, архив projects/sgauth и те либо что использует stgauth из stglibs/

 

в исходниках для роутера наложен патч из этой ветки

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: bot
      Тестирование Linux на DROP сетевых пакетов. Разные методы и их эффективность. Тесты синтетические, но от этого не становятся менее интересными. Пример от Cloudflare.
       
      Для иллюстрации производительности методов будут продемонстрированы некоторые цифры. Тесты синтетические, т.е. не на реальной сети с реальными пользователями и трафиком, так что не воспринимайте цифры слишком серьезно. Будет использоваться один из Intel серверов c 10Gbps сетевым интерфейсом. Детали железа не особо важны, т.к. тесты будут показывать вопросы, связанные с операционкой, а не с ограничениями по железу.
       
      Что происходит при тестировании:
      передача большого количества мелких UDP пакетов, достигая уровня в 14Mpps этот трафик направляется на единственный CPU на сервере измеряется количество пакетов, обработанных ядром на этом CPU  
      Мы не пытаемся максимизировать ни скорость приложения в юзерспейсе (userspace), ни количество пакетов. Вместо этого мы пытаемся показать узкие места самого ядра.
       
      Синтетический трафик пытается максимально нагрузить conntrack - используется рандомный IP адрес источника и порт. Tcpducmp будет выглядеть примерно следующим образом:
      $ tcpdump -ni vlan100 -c 10 -t udp and dst port 1234 IP 198.18.40.55.32059 > 198.18.0.12.1234: UDP, length 16 IP 198.18.51.16.30852 > 198.18.0.12.1234: UDP, length 16 IP 198.18.35.51.61823 > 198.18.0.12.1234: UDP, length 16 IP 198.18.44.42.30344 > 198.18.0.12.1234: UDP, length 16 IP 198.18.106.227.38592 > 198.18.0.12.1234: UDP, length 16 IP 198.18.48.67.19533 > 198.18.0.12.1234: UDP, length 16 IP 198.18.49.38.40566 > 198.18.0.12.1234: UDP, length 16 IP 198.18.50.73.22989 > 198.18.0.12.1234: UDP, length 16 IP 198.18.43.204.37895 > 198.18.0.12.1234: UDP, length 16 IP 198.18.104.128.1543 > 198.18.0.12.1234: UDP, length 16 На другой стороне все пакеты будут направлены на одну очередь прерываний (RX), т.е. на один CPU. Делается это через ethtool:
      ethtool -N ext0 flow-type udp4 dst-ip 198.18.0.12 dst-port 1234 action 2  
      Оценочное тестирование всегда довольно сложное. Когда мы готовили тесты, мы обнаружили, что любые активные сырые сокеты (raw socket) сильно влияют на производительность. Это вполне очевидно, но легко не учесть. Перед тестами убедитесь, что у вас не запущен, к примеру, tcpdump.
      $ ss -A raw,packet_raw -l -p|cat Netid State Recv-Q Send-Q Local Address:Port p_raw UNCONN 525157 0 *:vlan100 users:(("tcpdump",pid=23683,fd=3))  
      В конце концов мы отключили Intel Turbo Boost:
      echo 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo Это классная функция, и увеличивает производительность по крайней мере на 20%, но она также очень сильно влияет на разброс показаний при замерах. Со включенным бустом разброс достигал +-1.5%. С выключенным - 0.25%.
       

       

      1. Отброс/DROP пакетов в приложении

      Начинаем с доставки пакетов к приложению и отбрасывании их уже с помощью него. Чтобы убедиться, что файервол не влияет на это делаем так:
      iptables -I PREROUTING -t mangle -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT iptables -I PREROUTING -t raw -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT iptables -I INPUT -t filter -d 198.18.0.12 -p udp --dport 1234 -j ACCEPT Код приложения - обычный цикл, который получает данные и сразу же их отбрасывает (в юзерспейсе):
      s = socket.socket(AF_INET, SOCK_DGRAM) s.bind(("0.0.0.0", 1234)) while True: s.recvmmsg([...]) Код приложения: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/recvmmsg-loop.c
      $ ./dropping-packets/recvmmsg-loop packets=171261 bytes=1940176 Тут мы получаем жалкие 175kpps:
      $ mmwatch 'ethtool -S ext0|grep rx_2' rx2_packets: 174.0k/s Железо нам дает 14Mpps, но мы не можем обработать это ядром на одном CPU с одной очередью прерываний. mpstat это подтверждает:
      $ watch 'mpstat -u -I SUM -P ALL 1 1|egrep -v Aver' 01:32:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 01:32:06 PM 0 0.00 0.00 0.00 2.94 0.00 3.92 0.00 0.00 0.00 93.14 01:32:06 PM 1 2.17 0.00 27.17 0.00 0.00 0.00 0.00 0.00 0.00 70.65 01:32:06 PM 2 0.00 0.00 0.00 0.00 0.00 100.00 0.00 0.00 0.00 0.00 01:32:06 PM 3 0.95 0.00 1.90 0.95 0.00 3.81 0.00 0.00 0.00 92.38 Как видите, код приложения не является узким местом, используя 27% системы + 2% юзерспейса на CPU #1, в то время как SOFTIRQ на CPU #2 сжирает 100% ресурсов.
      Кстати, использовать recvmmsg(2) довольно важно в наши пост-Спектровые дни (Spectre + Meltdown все же помнят?). Системные вызовы теперь требуют больше ресурсов. Мы используем ядро 4.14 с KPTI и retpolines:
      $ tail -n +1 /sys/devices/system/cpu/vulnerabilities/* ==> /sys/devices/system/cpu/vulnerabilities/meltdown <== Mitigation: PTI ==> /sys/devices/system/cpu/vulnerabilities/spectre_v1 <== Mitigation: __user pointer sanitization ==> /sys/devices/system/cpu/vulnerabilities/spectre_v2 <== Mitigation: Full generic retpoline, IBPB, IBRS_FW  
       
      2. Отключение conntrack

      Мы специально выбрали рандомные IP адреса и порты при тестировании для того чтобы нагрузить conntrack. Это можно проверить, посмотрев на заполненность conntrack таблицы:
      $ conntrack -C 2095202 $ sysctl net.netfilter.nf_conntrack_max net.netfilter.nf_conntrack_max = 2097152 И, конечно же, conntrack будет кричать в dmesg:
      [4029612.456673] nf_conntrack: nf_conntrack: table full, dropping packet [4029612.465787] nf_conntrack: nf_conntrack: table full, dropping packet [4029617.175957] net_ratelimit: 5731 callbacks suppressed Для ускорения наших тестов, давайте его отключим:
      iptables -t raw -I PREROUTING -d 198.18.0.12 -p udp -m udp --dport 1234 -j NOTRACK Запускаем тест:
      $ ./dropping-packets/recvmmsg-loop packets=331008 bytes=5296128 Теперь наше приложение получает 333kpps вместо 175kpps.
      P.S. с SO_BUSY_POLL можно добиться 470kpps, но об этом в другой раз.
       
       
      3. BPF дропание на сокете

      Далее мы подумали - зачем этот трафик вообще нужен на юзерспейсе? Мы можем с помощью setsockopt(SO_ATTACH_FILTER) присоединить классический BPF фильтр к SOCK_DGRAM сокету и отбрасывать пакеты на уровне ядра (kernel space).
      Код: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/bpf-drop.c
       
      Тест:
      $ ./bpf-drop packets=0 bytes=0 С таким подходом (у классического BPF схожая производительность с eBPF) у нас получилось 512kpps. При этом экономится CPU, т.к. не нужно дергать приложение в юзерспейсе.
       

      4. DROP с помощью iptables после роутинга

      В качестве следующего теста мы решили отбрасывать пакеты в цепочке INPUT в iptables:
      iptables -I INPUT -d 198.18.0.12 -p udp --dport 1234 -j DROP Conntrack отключен в предыдущем правиле. Эти два правила в файерволе дали нам 608kpps.
      $ mmwatch 'iptables -L -v -n -x | head' Chain INPUT (policy DROP 0 packets, 0 bytes) pkts bytes target prot opt in out source destination 605.9k/s 26.7m/s DROP udp -- * * 0.0.0.0/0 198.18.0.12 udp dpt:1234  

      5. DROP с помощью iptables в таблице PREROUTING

      Т.е. отбрасываем пакеты пока они не попали в роутинг:
      iptables -I PREROUTING -t raw -d 198.18.0.12 -p udp --dport 1234 -j DROP Получаем 1.688mpps
      Довольно существенный прирост при использовании таблички "raw".
      Не совсем понятно почему такой прирост, возможно потому, что у нас сложный роутинг или баг в настройке сервера.
       

      6. DROP с помощью nftables перед conntrack

      Т.к. iptables доживает свои дни, то теперь можно пользоваться nftables.
      Видео, объясняющее почему nftrack лучше: https://www.youtube.com/watch?v=9Zr8XqdET1c
      nft add table netdev filter nft -- add chain netdev filter input { type filter hook ingress device vlan100 priority -500 \; policy accept \; } nft add rule netdev filter input ip daddr 198.18.0.0/24 udp dport 1234 counter drop nft add rule netdev filter input ip6 daddr fd00::/64 udp dport 1234 counter drop Счетчики можно пронаблюдать так:
      $ mmwatch 'nft --handle list chain netdev filter input' table netdev filter { chain input { type filter hook ingress device vlan100 priority -500; policy accept; ip daddr 198.18.0.0/24 udp dport 1234 counter packets 1.6m/s bytes 69.6m/s drop # handle 2 ip6 daddr fd00::/64 udp dport 1234 counter packets 0 bytes 0 drop # handle 3 } } Получили 1.53mpps. Это немного медленнее iptables, хотя должно быть наоборот. В любом случае nftables рулит.
       

      7. Отбрасывание пакетов в tc ingress

      Неожиданным фактом стало то, что tc (traffic control) ingress обрабатывается перед PREROUTING. Т.е. можно управлять трафиком еще раньше.
      Синтаксис довольно неудобный, поэтому рекомендуется использовать скрипт: https://github.com/netoptimizer/network-testing/blob/master/bin/tc_ingress_drop.sh
      tc qdisc add dev vlan100 ingress tc filter add dev vlan100 parent ffff: prio 4 protocol ip u32 match ip protocol 17 0xff match ip dport 1234 0xffff match ip dst 198.18.0.0/24 flowid 1:1 action drop tc filter add dev vlan100 parent ffff: protocol ipv6 u32 match ip6 dport 1234 0xffff match ip6 dst fd00::/64 flowid 1:1 action drop проверяем:
      $ mmwatch 'tc -s filter show dev vlan100 ingress' filter parent ffff: protocol ip pref 4 u32 filter parent ffff: protocol ip pref 4 u32 fh 800: ht divisor 1 filter parent ffff: protocol ip pref 4 u32 fh 800::800 order 2048 key ht 800 bkt 0 flowid 1:1 (rule hit 1.8m/s success 1.8m/s) match 00110000/00ff0000 at 8 (success 1.8m/s ) match 000004d2/0000ffff at 20 (success 1.8m/s ) match c612000c/ffffffff at 16 (success 1.8m/s ) action order 1: gact action drop random type none pass val 0 index 1 ref 1 bind 1 installed 1.0/s sec Action statistics: Sent 79.7m/s bytes 1.8m/s pkt (dropped 1.8m/s, overlimits 0 requeues 0) backlog 0b 0p requeues 0 Получили 1.8mppps на одном CPU.
       

      8. XDP_DROP

      https://prototype-kernel.readthedocs.io/en/latest/networking/XDP/
      С помощью XDP - eXpress Data Path мы можем запустить eBPF код прямо в сетевом драйвере. Т.е. перед тем как skbuff выделяет память.
       
      Обычно в XDP две части:
      eBPF код, загруженный в ядро юзерспейсный загрузчик, который загружает код в нужную сетевую карту и управляет им  
      Написание загрузчика довольно трудное занятие, поэтому мы решили воспользоваться новой iproute2 фичей:
      ip link set dev ext0 xdp obj xdp-drop-ebpf.o https://cilium.readthedocs.io/en/latest/bpf/#iproute2
      Исходник программы: https://github.com/cloudflare/cloudflare-blog/blob/master/2018-07-dropping-packets/xdp-drop-ebpf.c
      Программа парсит IP пакеты и ищет заданные параметры: IP транспорт, UDP протокол, сеть, порт:
      if (h_proto == htons(ETH_P_IP)) { if (iph->protocol == IPPROTO_UDP && (htonl(iph->daddr) & 0xFFFFFF00) == 0xC6120000 // 198.18.0.0/24 && udph->dest == htons(1234)) { return XDP_DROP; } } XDP программа должна быть скомпилена с современным clang, который умеет делать BPF байткод. После этого загружаем и проверяем XDP программу:
      $ ip link show dev ext0 4: ext0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 xdp qdisc fq state UP mode DEFAULT group default qlen 1000 link/ether 24:8a:07:8a:59:8e brd ff:ff:ff:ff:ff:ff prog/xdp id 5 tag aedc195cc0471f51 jited И смотрим цифры в статистике интерфейса (ethtool -S)
      $ mmwatch 'ethtool -S ext0|egrep "rx"|egrep -v ": 0"|egrep -v "cache|csum"' rx_out_of_buffer: 4.4m/s rx_xdp_drop: 10.1m/s rx2_xdp_drop: 10.1m/s Итого получаем 10Mpps на одном CPU.
       

       

       
      Источник: cloudflare
    • Автор: bot
      Быстрая установка, безопасная работа, простота обновления, невероятная легкость использования и поддержки, - все эти свойства snap-приложений представляют огромный шаг вперед для разработки и установки ПО на Linux. Начиная с Ubuntu, а сейчас уже получив распространение и в Arch Linux, Debian, Fedora, Gentoo Linux и openSUSE, такие приложения дают множество преимуществ по сравнению с традиционными пакетами ПО. В отличие от стандартных пакетов ПО, snap-приложения:
      Более простые для разработки программистами; Быстрее устанавливаются; Автоматически обновляются; Автономны; Изолированы от других приложений; Более безопасны; Стабильны (их работа не нарушается другими приложениями);  

      Итак, что же такое snap-приложения?
      Изначально, snap-приложения были разработаны компанией Canonical для использования в Ubuntu. Этот сервис должен был называться "snappy", сама технология "snapcraft", фоновый процесс - “snapd” а пакеты - “snaps”, однако все это стало новым способом подготовки и установки приложений для Linux. Есши вы считаете, что приставка “snap” говорит о некоторой упрощенности в разработке приложений и процессе их установки? Это абсолютно так!
       
      Snap-приложения кардинально отличаются от других пакетов Linux. Другие пакеты в основном представляют собой архивы файлов, которые при установке помещают файлы в несколько директорий (/usr/bin, /usr/lib, и пр.). К тому же, другие инструменты и библиотеки, от которых зависит пакет, также необходимо установить или обновить, иначе возможен конфликт с более ранней версией. Snap-приложение, напротив, устанавливается как один независимый файл, включающий необходимые библиотеки и другие нужные файлы.  Его работа не будет влиять на работу других приложений, или менять какие-либо ресурсы, от которых также зависят и другие приложения.
       
      При разработке snap-приложения, все источники, необходимые для его работы, включаются в один файл. Такое приложение также изолированно от всей системы, обеспечивая тем самым то, что при изменении snap-приложения, остальные файлы системы не будут подвергаться каким-либо изменениям. Это также затрудняет доступ других программ к данным такого приложения.
       
      Другим важным отличием является то, что snap-приложения не могут являться частью пакетов программ, они рассматриваются и устанавливаются по отдельности, поговорим об этом чуть подробнее.
      Snap-приложения начали свое существования как Клик-пакеты (Click packages) - новый формат пакетов, разработанный для Ubuntu Mobile - а затем уже стали snap-приложениями.
       

      Как работают snap-приложения?
      Snap-приложения работают посредством множества дистрибутивов Linux таким образом, который иногда называют “дистро-агностикой” “distro-agnostic” , он дает разработчикам выйти за рамки своих представлений о совместимости ПО и предварительно установленных библиотек системы. Пакет snap-приложения уже содержит все, что ему нужно для запуска – сжатое, готовое к использованию. По сути, такими (сэатыми) они и остаются. Это позволяет им занимать мало места на диске, не смотря на их автономность.
      Работа таких приложений относительно незаметна. Ваша система может иметь несколько таких программ, а вы даже не будете знать об этом, например, если они входили в дистрибутивы, о которых мы говорили ранее.
       
      Если все же такие приложения присутствуют в вашей системе, для того, чтобы их найти вам нужно будет прописать в строке поиска /snap/bin. Если вы используете для работы оболочку bash users, эта строка будет добавлена автоматически.
      $ echo $PATH /home/shs/bin:/usr/local/bin:/usr/sbin:/sbin:/bin:/usr/games:/snap/bin Проблемы не возникнут даже при автоматическом обновлении. Запущенное snap-приложение продолжает свою работу даже во время обновления. Просто, более новая версия станет активна при следующем запуске.
       

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

      Как snap-приложения помогают разработчикам?
       
      Они проще в разработке.
      Snap-приложения позволяют разработчикам больше не думать о необходимости разработки множества дистрибутивов и версий, которые могут понадобиться пользователям. Они просто помещают в пакет snap-приложение и все, что может понадобиться для его работы.
       
      Упрощение длительного процесса разработки
      С точки зрения разработчиков, запускать приложения в разработку довольно трудно. Сообщество открытого кода способно на такое только в ответ на давление по поводу выпуска новых релизов. К тому же, разработчики могут использовать новые библиотеки, не принимая во внимание то, что целевой дистрибутив ссылается на более старые библиотеки. И, даже если они пока новички в разработке snap-приложений, наверстать упущенное они смогут уже за неделю. Говорят, что обучение разработке snap-приложений намного легче, чем изучение новых языков. И, конечно, компаниям, выполняющим поддержку дистрибутива не будет нужно проводить каждое приложение через процесс разработки. Таким образом, выигрывают все.
       
      Пользу snap-приложений также оценят и системные администраторы, особенно то, что эти программы на наносят вред системе и не приводят к необходимости разбираться в дебрях поддержки.
       

      Имеет ли ваша система snap-приложения?
      Ваша система может иметь несколько таких программ, а вы даже не будете знать об этом, например, если они входили в дистрибутивы, о которых мы говорили ранее.
      Проверка работы:
      $ ps -ef | grep snapd root 672 1 0 Jun22 ? 00:00:33 /usr/lib/snapd/snapd где лежит запускающий файл:
      $ which snap /usr/bin/snap какие snap запущены:
      $ snap list Name Version Rev Tracking Developer Notes canonical-livepatch 8.0.2 41 stable canonical - core 16-2.32.8 4650 stable canonical core minecraft latest 11 stable snapcrafters -
      Куда установлены snap'ы?
      Обычно это /var/lib/snapd/snaps. Пакеты поставляются как файлы со .snap расширением
      $ sudo find / -name "*.snap" /var/lib/snapd/snaps/canonical-livepatch_39.snap /var/lib/snapd/snaps/canonical-livepatch_41.snap /var/lib/snapd/snaps/core_4571.snap /var/lib/snapd/snaps/minecraft_11.snap /var/lib/snapd/snaps/core_4650.snap  
      Установка snap'а
      $ sudo snap install hello hello 2.10 from 'canonical' installed $ which hello /snap/bin/hello $ hello Hello, world!  
      проверяем:
      $ snap list Name Version Rev Tracking Developer Notes canonical-livepatch 8.0.2 41 stable canonical - core 16-2.32.8 4650 stable canonical core hello 2.10 20 stable canonical - minecraft latest 11 stable snapcrafters - Для удаления есть snap remove
      Для обновления - snap refresh
      Для списка доступных - snap find
       

      Небольшая предыстория
      Идея snap-приложений родилась у Марка Ричарда Шаттерворта (Mark Richard Shuttleworth), основателя и директора компании Canonical Ltd., выпустившей операционную систему Ubuntu на основе Linux-based и имеющей десятилетия опыта работы с ней. Одной из составляющих мотивации был уход от возможных ошибок при установке – впервые эти программы были использованы на телефонах. Упрощение процесса разработки, простота техподдержки и повышение безопасности системы не оставили шансов забросить эту идею.
       
      источник: networkworld
    • Автор: bot
      Стартап работающий в области Wi-Fi-роутеров пытается перевернуть наше представление о работе домашнего Wi-Fi: они пытаются превратить его в услуги, предоставляемые по абонплате. Такой план поступил от компании Plume, одной из компаний, которая за последние несколько лет немало заработала на растущей популярности сетевых Wi-Fi-систем, в которых используется несколько роутеров для обеспечения лучшего покрытия. Plume начала свою работу в конце 2016 года, и с тех пор занималась продажей роутеров конечному потребителю. Но после двух заявлений, которые сделала компания, можно сказать, что в ее деятельности грядут перемены.



      Во-первых, Plume выводит на рынок более производительный, трехполосный роутер с названием SuperPod. (Их стандартный роутер называется Plume Pod.) Он немного больше и намного дороже, и по сути, больше он ничем не отличается, ведь большинство сетевых систем предлагают как двухполосные, так и трехполосные решения в этой области.

      Самое большое изменение состоит в бизнес модели Plume, которая в настоящее время претерпевает огромные изменения. Раньше, при покупке роутера Plume router (или нескольких таких роутеров, если вы планировали бы настроить сетевую систему) вы бы купили его, и пошли бы своей дорогой, также как и в подобном случае с любым другим роутером. Но, теперь все будет по-другому.



      Теперь, вам будет нужно стать абонентом услуг адаптивного WiFi от Plume еще даже до того, как вы купили роутер. И, как только у вас появятся роутеры от Plume, вам будет нужно стать их абонентом, иначе ваши роутеры не будут работать. (Владельцы Plume Pod уже добавлены в эту систему.)

      Абонентские услуги Plume будут стоить 60 долл. США в год, или вы сможете приобрести пожизненное абонентское обслуживание за 200 долл. США. Одним из наиболее заметных моментов будет снижение цены на роутеры Plume, а также гарантия в течение оплаченного года (пожизненные абоненты сразу же получают гарантию на 5 лет). Сейчас Plume продают свои роутеры в комплекте по три штуки за 179 долл. США. Став абонентом, вы сможете получить такой комплект из трех роутеров (в него входит два двухполосных и один трехполосный роутер) за 39 долл. США, по очень большой скидке. Все равно еще пока это получается дороговато, особенно, если вы захотите купить еще роутеры (особенно трехполосные), но это все равно дешевле, чем покупать такие роутеры в другом месте.



      По меньшей мере, это недорого поначалу. В Plume надеются, что вы будете постоянно платить по 60 долл. США в год для обеспечения работы своих роутеров. В дополнение к скидке на аппаратную часть, абоненты также получат доступ к услугам родительского контроля, продуктам безопасности, проверки скорости и активного управления.

      Мы продолжаем спрашивать главу компании Plume о том, что же такое «активное управление», нам до сих пор это не понятно. В качестве аргумента компания использует то, что сейчас мы подключаем к роутерам все больше и больше устройств – от компьютеров до телефонов, потоковых телеприставок, наушников и гаджетов для смартфонов, - согласовать их работу становится все сложнее, и это требует дополнительных усилий для обеспечения бесперебойной работы. Однако, неужели это что-то такое, за что необходимо платить абонплату? Почему роутеры не могут сами оптимизировать Wi-Fi, как было всегда?

      Конечно, в утверждении от Plume есть доля правды, но все это больше кажется теоретическим. Да, продукты для безопасности очень важны. Но мы не понимаем, что из этих функций «активного управления» выходит за рамки основных функций роутера. Ведь не будут же сотрудники Plume сидеть и работать над микро-управлением нашими Wi-Fi каналами.

      Несмотря на то, что глава Plume, Фари Дайнер (Fahri Diner), в телефонном разговоре две недели назад сказал нам, что компания не будет отбирать роутеры у покупателей, если кто-то откажется платить, представители компании после выхода данной статьи заявили, что это не будет проблемой. Фактически, абонплата нужна для поддержания работы роутера. Поэтому, если кто-то перестает платить, его роутеры перестают работать.

      Г-н Дайнер говорит, что хочет запустить множество дополнительных услуг, которые будут входить в абонплату, чтобы пользователи были рады оставаться его абонентами «Наши намерения и надежды сводятся к принятию простого решения», говорит он по телефону.  «Если клиент не стремится к обновлениям, он не будет обращаться к нам в силу цены. Они будут недовольны нами то по одной причине, то по другой».

      Plume не единственная компания, которая перенесла модель абонентских услуг на роутеры, но она сделала это уникальным способом. Например, компания Eero, начала предлагать услуги по абонентской плате, за которую роутеры получали дополнительные функции — в первую очередь, дополнительные функции безопасности — но эти роутеры прекрасно работают и без этих функций. Компания Luma, которая может быть уже и не работает, тоже предлагала услуги по абонплате, тоже в основном сосредоточенные на безопасности.

      Кажется, что услуги по абонплате неизбежно придут к большинству роутеров. Мы редко покупаем новые устройства, а абонплата позволяет таким компаниям зарабатывать деньги.  Подход компании Plume довольно интересный, он заключается в том, что оборудование купить относительно не накладно, но вот выйти из системы довольно сложно. Но неясным остается то, какой смысл находят в этом пользователи. Если такие функции доступны в другом месте и без абонплаты, зачем тогда выбирать роутер, за который нужно будет постоянно платить?

      Обновление от 12 июня 12:10PM ET: После публикации статьи, представитель компании Plume связался с нами и сообщил, что компания произвела некоторые изменения в своей политике за время, прошедшее с момента нашего телефонного разговора с Г-ном Дайнером. Фактически, компания будет взимать абонплату с пользователей Plume Pods, чтобы они продолжали работать.



      Источник: verge
       

      Тем, кто дочитал до этого момента: почему бы не предоставлять клиентам роутеры по подписке?
      Я понимаю, что есть роутер за 1грн и всё прочее. Но тут немного другая система.
      Клиенты платят за услугу Wi-Fi в доме. Компания берет на себя обязательства по обеспечению беспроводного доступа всех устройств клиента в его доме. Подписываем договор с клиентом (или доп соглашение к основному по доступу в интернет), он оплачивает часть стоимости необходимого оборудования, а остальное будет оплачивать по подписке. Управление устройством осуществляется оператором. То, что хочет менять клиент, он может делать через специальный портал, где будет добавлять устройства домашние или гостевые, нарезать скорость на отдельные устройства, запрещать доступ каким-то устройствам к каким-то сайтам.

      При грамотном подходе всё это делается автоматом через написанный софт, а оператор получает только геморрой с мониторингом и деньги.

      Оператор будет уверен в выбранном роутере, будет обновлять софт по мере необходимости. Плюс дополнительный доход от абонентов и разгрузка коллцентров.
    • Автор: Sadovoy
      Продам двух диапазонные маршрутизаторы ASUS RT-N66U(RT-N66U, RT-N66W) с гигабитными портами в рабочем состоянии.
      Комплектация: оригинальная коробка, документация и диск, роутер, подставка, три съемные антенны, оригинальный блок питания под американскую вилку, переходник под наши розетки. Все маршрутизаторы с американского рынка с увеличенной мощностью сигнала и большим радиусом действия.

      Максимальная скорость Wi-Fi 450 Мбит/с
      Частота работы Wi-Fi 2,4 ГГц и 5ГГц
      Максимальная скорость LAN портов 1 Гбит/с
      Поддержка протоколов PPPoE, IPsec, L2TP, PPTP

      Полные характеристики на сайте.:

      https://www.asus.com/ru/Networking/RTN66U/specifications/
       
      1. б/у черный в полной комплектации 1799грн
      2. новый черный, в запечатанной коробке 2099грн
      3. б/у белый в полной комплектации 1299грн. один LAN порт не работает. в остальном прблем с ним нет. продано
       











    • Автор: fet4
      Привет всем.
      Кто-то использовал бондинг в режиме balance-alb?
      Если да, расскажите конфигурацию? На свитче нужно настраивать агрегацию? 
×