Ключ прошит в bios, система при переустановке сама его оттуда возьмёт и от вас не потребуется его вводить самостоятельно. Ключ не сгинет даже при замене HDD.
Нет, если вы купите retail- а не OEM-версию операционки (за совсем другие деньги), то у вас останется коробка и бумажка с кодом.
вы правы, я как-то привык к своей настройке IDE, которая выводит в лог расход SRAM. А у автора там выводится только размер скетча — он, действительно, не изменится.
У вас на последнем скриншоте вышло «Sketch size — 5 килобайт из 32 максимум», заметили?
Если вы усложните страничку отображением пары индикаторов, нескольких кнопок и т.п. — вы мяукнуть не успеете, как размер скетча приблизится к пределу. Для кода, который должен выполняться по нажатию кнопочек (щёлканье релешками, мигание лампочками) может тупо не остаться места.
Но если вы прочитаете руководство по ссылке, вы узнаете, что у Ардуины не одно место, где она может хранить длинные константы. Если уж начали писать HTML в коде, сразу начинайте убирать его в флеш-память, меньше придётся переписывать потом.
Спасибо за разжёвывание. Валяется в столе парочка таких модулей, но руки не доходили попробовать.
Мелкая корректировка — вы нерационально расходуете память. Сейчас у вас весь HTML хранится в ней — пока код прост, это не вызовет проблем, но когда накрутите логики, придётся ужиматься.
Я рано радовался. Видимо, я упёрся в ту проблему, что из-за одного NAT не получается подключиться разным клиентам (или тому же самому клиенту, но попозже). Windows выдаёт ошибку 809, хотя в консоли всё прилично:
Скрытый текст
ubuntu@ip-172-31-28-135:~$ sudo ipsec start --nofork
Starting strongSwan 5.1.2 IPsec [starter]...
00[DMN] Starting IKE charon daemon (strongSwan 5.1.2, Linux 3.13.0-44-generic, x86_64)
00[CFG] loading ca certificates from '/etc/ipsec.d/cacerts'
00[CFG] loaded ca certificate "CN=IPSec CA" from '/etc/ipsec.d/cacerts/ca.crt'
00[CFG] loading aa certificates from '/etc/ipsec.d/aacerts'
00[CFG] loading ocsp signer certificates from '/etc/ipsec.d/ocspcerts'
00[CFG] loading attribute certificates from '/etc/ipsec.d/acerts'
00[CFG] loading crls from '/etc/ipsec.d/crls'
00[CFG] loading secrets from '/etc/ipsec.secrets'
00[CFG] expanding file expression '/var/lib/strongswan/ipsec.secrets.inc' failed
00[CFG] loaded RSA private key from '/etc/ipsec.d/private/aws.bougakov.com.key'
00[LIB] loaded plugins: charon test-vectors aes rc2 sha1 sha2 md4 md5 rdrand random nonce x509 revocation constraints pkcs1 pkcs7 pkcs8 pkcs12 pem openssl xcbc cmac hmac ctr ccm gcm attr kernel-netlink resolve socket-default stroke updown eap-identity eap-mschapv2 eap-tls addrblock
00[LIB] unable to load 5 plugin features (5 due to unmet dependencies)
00[LIB] dropped capabilities, running as uid 0, gid 0
00[JOB] spawning 16 worker threads
charon (1610) started after 20 ms
11[CFG] received stroke: add connection 'ikev2-pubkey'
11[CFG] left nor right host is our side, assuming left=local
11[CFG] adding virtual IP address pool 192.168.103.0/24
11[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt'
11[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com'
11[CFG] added configuration 'ikev2-pubkey'
13[CFG] received stroke: add connection 'ikev1-fakexauth'
13[CFG] left nor right host is our side, assuming left=local
13[CFG] reusing virtual IP address pool 192.168.103.0/24
13[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt'
13[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com'
13[CFG] added configuration 'ikev1-fakexauth'
06[CFG] received stroke: add connection 'ikev2-eap-tls'
06[CFG] left nor right host is our side, assuming left=local
06[CFG] reusing virtual IP address pool 192.168.103.0/24
06[CFG] loaded certificate "CN=aws.bougakov.com" from 'aws.bougakov.com.crt'
06[CFG] id '%any' not confirmed by certificate, defaulting to 'CN=aws.bougakov.com'
06[CFG] added configuration 'ikev2-eap-tls'
16[NET] received packet: from 5.228.173.181[500] to 172.31.28.135[500] (880 bytes)
16[ENC] parsed IKE_SA_INIT request 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) V V V V ]
16[ENC] received unknown vendor ID: 1e:2b:51:69:05:99:1c:7d:7c:96:fc:bf:b5:87:e4:61:00:00:00:09
16[ENC] received unknown vendor ID: fb:1d:e3:cd:f3:41:b7:ea:16:b7:e5:be:08:55:f1:20
16[ENC] received unknown vendor ID: 26:24:4d:38:ed:db:61:b3:17:2a:36:e3:d0:cf:b8:19
16[ENC] received unknown vendor ID: 01:52:8b:bb:c0:06:96:12:18:49:ab:9a:1c:5b:2a:51:00:00:00:02
16[IKE] 5.228.173.181 is initiating an IKE_SA
16[IKE] local host is behind NAT, sending keep alives
16[IKE] remote host is behind NAT
16[IKE] sending cert request for "CN=IPSec CA"
16[ENC] generating IKE_SA_INIT response 0 [ SA KE No N(NATD_S_IP) N(NATD_D_IP) CERTREQ N(MULT_AUTH) ]
16[NET] sending packet: from 172.31.28.135[500] to 5.228.173.181[500] (337 bytes)
05[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes)
05[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ]
05[IKE] received cert request for "CN=IPSec CA"
05[IKE] received 58 cert requests for an unknown ca
05[IKE] received end entity cert "CN=client1"
05[CFG] looking for peer configs matching 172.31.28.135[%any]...5.228.173.181[CN=client1]
05[CFG] selected peer config 'ikev2-pubkey'
05[CFG] using certificate "CN=client1"
05[CFG] using trusted ca certificate "CN=IPSec CA"
05[CFG] checking certificate status of "CN=client1"
05[CFG] certificate status is not available
05[CFG] reached self-signed root ca with a path length of 0
05[IKE] authentication of 'CN=client1' with RSA signature successful
05[IKE] peer supports MOBIKE
05[IKE] authentication of 'CN=aws.bougakov.com' (myself) with RSA signature successful
05[IKE] IKE_SA ikev2-pubkey[1] established between 172.31.28.135[CN=aws.bougakov.com]...5.228.173.181[CN=client1]
05[IKE] scheduling reauthentication in 10197s
05[IKE] maximum IKE_SA lifetime 10737s
05[IKE] sending end entity cert "CN=aws.bougakov.com"
05[IKE] peer requested virtual IP %any
05[CFG] assigning new lease to 'CN=client1'
05[IKE] assigning virtual IP 192.168.103.1 to peer 'CN=client1'
05[IKE] CHILD_SA ikev2-pubkey{1} established with SPIs cf74f20d_i b323abc2_o and TS 0.0.0.0/32 === 192.168.103.1/32
05[ENC] generating IKE_AUTH response 1 [ IDr CERT AUTH CPRP(ADDR DNS DNS) SA TSi TSr N(AUTH_LFT) N(MOBIKE_SUP) N(NO_ADD_ADDR) ]
05[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes)
04[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes)
04[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ]
04[IKE] received retransmit of request with ID 1, retransmitting response
04[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes)
03[NET] received packet: from 5.228.173.181[4500] to 172.31.28.135[4500] (2684 bytes)
03[ENC] parsed IKE_AUTH request 1 [ IDi CERT CERTREQ AUTH N(MOBIKE_SUP) CPRQ(ADDR DNS NBNS SRV) SA TSi TSr ]
03[IKE] received retransmit of request with ID 1, retransmitting response
03[NET] sending packet: from 172.31.28.135[4500] to 5.228.173.181[4500] (1404 bytes)
02[IKE] sending keep alive to 5.228.173.181[4500]
В результате я решил перезагрузить и локальный роутер, и амазоновскй сервер.
Проблему с переподключением это решило, но вот NAT поломался, Windows помечает соединение как «ограниченное». Хотя с конфигурацией iptables, сохранённой в iptables-persistent, всё в порядке:
/etc/iptables/rules.v4
# Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015
*mangle
:PREROUTING ACCEPT [359:24419]
:INPUT ACCEPT [359:24419]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [291:63968]
:POSTROUTING ACCEPT [291:63968]
-A FORWARD -p tcp -m policy --dir out --pol ipsec -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
-A FORWARD -p tcp -m policy --dir in --pol ipsec -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m tcpmss --mss 1361:1536 -j TCPMSS --set-mss 1360
COMMIT
# Completed on Sat Feb 21 14:13:02 2015
# Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -m policy --dir out --pol ipsec -j MASQUERADE
COMMIT
# Completed on Sat Feb 21 14:13:02 2015
# Generated by iptables-save v1.4.21 on Sat Feb 21 14:13:02 2015
*filter
:INPUT ACCEPT [484:32599]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [373:75140]
COMMIT
# Completed on Sat Feb 21 14:13:02 2015
(Кстати, такая убеждённость — это другой тип cognitive bias, называется «Illusory superiority»)
И, кстати, cognitive bias совершенно не должен осознаваться и рефлексироваться — так что и на вас оно, скорее, сработает — только вы это не отследите.
Ключ прошит в bios, система при переустановке сама его оттуда возьмёт и от вас не потребуется его вводить самостоятельно. Ключ не сгинет даже при замене HDD.
Нет, если вы купите retail- а не OEM-версию операционки (за совсем другие деньги), то у вас останется коробка и бумажка с кодом.
Мне, как московскому налогоплательщику, очень хотелось бы увидеть разработчиков системы в суде.
github.com/christian-korneck/get_win8key
Хорошо, что они отказались от наклеек — они быстро истираются, фиг буквы разберёшь.
Работает в радиусе метров двух, одно огорчение.
Ссылка — playground.arduino.cc/Learning/Memory — приведена в первом комментарии.
Если вы усложните страничку отображением пары индикаторов, нескольких кнопок и т.п. — вы мяукнуть не успеете, как размер скетча приблизится к пределу. Для кода, который должен выполняться по нажатию кнопочек (щёлканье релешками, мигание лампочками) может тупо не остаться места.
Но если вы прочитаете руководство по ссылке, вы узнаете, что у Ардуины не одно место, где она может хранить длинные константы. Если уж начали писать HTML в коде, сразу начинайте убирать его в флеш-память, меньше придётся переписывать потом.
Мелкая корректировка — вы нерационально расходуете память. Сейчас у вас весь HTML хранится в ней — пока код прост, это не вызовет проблем, но когда накрутите логики, придётся ужиматься.
Решение простое — применяйте F():
Был у тебя платный подписчик, с которого ты имел аж 18 рублей в месяц, а теперь — не будет:
В результате я решил перезагрузить и локальный роутер, и амазоновскй сервер.
Проблему с переподключением это решило, но вот NAT поломался, Windows помечает соединение как «ограниченное». Хотя с конфигурацией iptables, сохранённой в iptables-persistent, всё в порядке:
Бросайте, в общем, ваш OpenVPN, берите strongSwan.