Mašinų augimas: AI pritaikymas realiame pasaulyje
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
LXC konteineriai („Linux“ konteineriai) yra operacinės sistemos „Linux“ funkcija, kurią galima naudoti kelioms izoliuotoms „Linux“ sistemoms paleisti viename pagrindiniame kompiuteryje.
Šios instrukcijos padės atlikti pagrindinius serverio konfigūravimo veiksmus, skirtus izoliuotų Linux konteinerių prieglobai. Sukonfigūruosime šias funkcijas:
ssh box1@example.comirssh box2@example.comŠiame vadove daroma prielaida, kad:
Pamokos pabaigoje gausime du virtualius konteinerius, kurie turės prieigą prie interneto, bet negalės vienas kito siųsti. Taip pat sukonfigūruosime prievadų persiuntimą iš example.comį konteinerius. Mes įdiegsime saugią konfigūravimo ir valdymo skydelį naudodami Proxmox paketo įrankius.
„Proxmox“ naudosime tik LXC konteinerių tvarkymui. Paprastai jis taip pat palaiko KVM, tačiau įdėtas virtualizavimas Vultr yra draudžiamas. Prieš pradedant, „Proxmox ISO“ reikia atsisiųsti iš oficialios svetainės. Mes naudosime Proxmox VE 5.0 ISO Installer. Įdiekite OS iš vaizdo su numatytaisiais nustatymais ir iš naujo paleiskite virtualią mašiną. Be to, galite rankiniu būdu įdiegti proxmox iš šaltinių, tačiau daugeliu atvejų tai nėra būtina (vadovaukitės čia pateiktomis instrukcijomis ).
Prisijunkite prie pagrindinio kompiuterio per SSH, atnaujinkite proxmox šablonų sąrašą ir atsisiųskite tinkamą konteinerių šabloną.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
Dabar turime sukurti „Linux“ konteinerį su tinklo sąsaja, prijungta prie „Linux“ tilto. Atidarykite /etc/network/interfacesir pridėkite šias eilutes:
auto vmbr1
iface vmbr1 inet static
address 10.100.0.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
Paleidę sistemą iš naujo, iš Ubuntu 14.04šablono galite sukurti naują konteinerį .
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.200/24,gw=10.100.0.1
Savo sudėtinį rodinį galite patvirtinti naudodami pct list, konteinerį Nr. 200 pradėkite nuo pct start 200ir įveskite jo apvalkalą naudodami pct enter 200. Tinklo nustatymus ir adresus taip pat galite patikrinti naudodami ip addr.
Norėdami užtikrinti interneto ryšį konteineryje, turime įgalinti NAT. Tai leis srautą iš konteinerio perkelti į internetą naudojant NAT technologiją. vmbr0Tiltas yra prijungtas prie išorinės sąsajos ir vmbr1tiltas yra prijungtas prie konteinerio.
sysctl -w net.ipv4.ip_forward=1
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
iptables --append FORWARD --in-interface vmbr1 -j ACCEPT
Įveskite talpyklą pct enter 200ir sukonfigūruokite žiniatinklio serverį viduje.
apt-get update
apt-get install nginx
service nginx start
exit
Dabar turime sukonfigūruoti „Nginx“ jūsų serveryje, kad tarpinės svetainės būtų įjungtos į konteinerius.
apt-get update
apt-get install nginx
Sukurkite naują konfigūracijos failą /etc/nginx/sites-available/box200su tokiu turiniu:
server {
listen 80;
server_name server200.example.com;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
location / {
proxy_pass http://10.100.0.200/;
}
}
Dabar „Nginx“ kiekvieną HTTP užklausą server200.example.comiš jūsų serverio perduos į konteinerį, kurio IP 10.100.0.200. Suaktyvinkite šią konfigūraciją.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Jei norite suteikti lengvą prieigą prie smėlio dėžių, turite persiųsti SSH seansus į konteinerius. Norėdami tai padaryti, šakniniame serveryje sukurkite naują vartotoją. Nepamirškite įvesti slaptažodžio, kiti parametrai nebūtini.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Nukopijuokite šį SSH raktą ir įveskite konteinerį, kad pridėtumėte raktą.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Savo serveryje prie .ssh/authorized_keysfailo pridėkite šią eilutę .
command="ssh root@10.100.0.200",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
Nepamirškite pakeisti <YOUR SSH KEY>į savo namų viešąjį raktą. Arba galite paleisti šiuos veiksmus iš komandinės eilutės.
echo 'command="ssh root@10.100.0.200",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Tada galite prisijungti prie smėlio dėžės naudodami ssh.
`ssh box200@<your_server_IP>`
Atėjo laikas įgyvendinti keletą saugumo patobulinimų. Pirma, norime pakeisti numatytąjį SSH prievadą. Tada norime apsaugoti „Proxmox“ valdymo puslapį naudodami pagrindinį HTTP autentifikavimą.
nano /etc/ssh/sshd_config
Panaikinkite komentarą ir pakeiskite eilutę
#Port 22
į
Port 24000
Iš naujo paleiskite ssh.
service ssh restart
Iš naujo prisijunkite prie ssh naudodami naują prievadą.
ssh root@<your_IP> -p 24000
Sukurti failą /etc/default/pveproxy.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
Paleiskite iš naujo pveproxy, kad pakeitimai įsigaliotų.
/etc/init.d/pveproxy restart
Sukonfigūruokite nginx (jei to dar nepadarėte anksčiau).
apt-get install nginx
service nginx restart
Sukurkite numatytąją konfigūraciją /etc/nginx/site-available/default.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
#auth_basic "Restricted";
#auth_basic_user_file htpasswd;
#location / { proxy_pass https://127.0.0.1:8006; }
}
Gaukite galiojantį SSL sertifikatą ir atnaujinkite nginx konfigūraciją. Pavyzdžiui, tai galima padaryti naudojant certbox ir letsencrypt. Norėdami gauti daugiau informacijos, spustelėkite čia .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Dabar jūsų nginx konfigūracija turėtų atrodyti taip (arba galite ją pakeisti rankiniu būdu). Nepamirškite atšaukti ssl, autentifikavimo ir vietos eilučių komentarų.
server {
listen 80;
server_name example.com;
rewrite ^ https://$hostname.example.com$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
ssl on;
auth_basic "Restricted";
auth_basic_user_file htpasswd;
location / { proxy_pass https://127.0.0.1:8006; }
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
}
Sukurkite /etc/htpasswdfailą naudodami Htpasswd generatorių .
nano /etc/nginx/htpasswd
Iš naujo paleiskite Nginx
service nginx restart
Dabar galite peržiūrėti valdymo konsolę https://example.compo pagrindinio autentifikavimo.
Dabar konteineriai pasiekiami naudojant HTTP užklausas ir SSH. Dabar galime sukonfigūruoti prievadų persiuntimą iš išorinio serverio į konteinerius. Pavyzdžiui, skirtų atvaizdavimui example.com:8080į 10.100.0.200:3000įvesties taip.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Galite peržiūrėti galiojančias taisykles.
`iptables -t nat -v -L PREROUTING -n --line-number`
Taip pat galite ištrinti taisyklę pagal skaičių naudodami toliau nurodytus veiksmus.
`iptables -t nat -D PREROUTING <#>`.
Dabar galime pasiekti vieną konteinerį iš kito.
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.0.250/24,gw=10.100.0.1
pct start 250
pct enter 250
ping 10.100.0.200
Jei norite apriboti prieigą nuo 250 konteinerio iki 200, kiekvieną konteinerį turite prijungti prie asmeninio tilto ir išjungti persiuntimą tarp tiltų.
Ištrinkite esamus konteinerius.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
Pakeiskite turinį /etc/network/interfaces.
auto vmbr1
iface vmbr1 inet static
address 10.100.1.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
auto vmbr2
iface vmbr2 inet static
address 10.100.2.1
netmask 255.255.255.0
bridge_ports none
bridge_stp off
bridge_fd 0
reboot sistema
Įgalinti persiuntimą
`sysctl -w net.ipv4.ip_forward=1`
Kad šie pakeitimai būtų nuolatiniai, galite redaguoti /etc/sysctl.conffailą ir rasti šį tekstą.
#net.ipv4.ip_forward=1
Atsisakykite jo komentaro.
net.ipv4.ip_forward=1
Taip pat galite paleisti sysctl -p, kad pakeitimai įsigaliotų nedelsiant.
Sukurkite konteinerius.
pct create 200 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr1,ip=10.100.1.200/24,gw=10.100.1.1
pct create 250 /var/lib/vz/template/cache/ubuntu-14.04-standard_14.04-1_amd64.tar.gz -storage local-lvm -net0 name=eth0,bridge=vmbr2,ip=10.100.2.250/24,gw=10.100.2.1
Paleiskite konteinerius su pct start 200ir pct start 250.
Išvalykite iptablestaisykles.
iptables -F
Įgalinti NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0 yra tiltas su išorine sąsaja.
Leisti persiuntimą iš išorinės sąsajos.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Leisti persiuntimą iš konteinerių į internetą.
iptables -A FORWARD -i vmbr1 -o vmbr0 -s 10.100.1.0/24 -j ACCEPT
iptables -A FORWARD -i vmbr2 -o vmbr0 -s 10.100.2.0/24 -j ACCEPT
Atmeskite kitą persiuntimą.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Dabar patikrinkite, kas 10.100.1.200gali ping, 8.8.8.8bet negali 10.100.2.250ir 10.100.2.250gali ping, 8.8.8.8bet negali ping 10.100.1.200.
Komandų, susijusių su iptables, tvarka yra svarbi. Geriausias būdas valdyti savo taisykles yra naudoti iptables-persistent. Šis paketas padeda išsaugoti iptables taisykles failuose /etc/iptables/rules.v4ir /etc/iptables/rules.v6gali jas automatiškai įkelti po sistemos perkrovimo. Tiesiog įdiekite jį naudodami toliau nurodytus veiksmus.
apt-get install iptables-persistent
Pasirinkite, YESkai būsite paraginti.
Dirbtinis intelektas nėra ateityje, jis čia, dabartyje Šiame tinklaraštyje Skaitykite, kaip dirbtinio intelekto programos paveikė įvairius sektorius.
Ar taip pat esate DDOS atakų auka ir esate sumišęs dėl prevencijos metodų? Perskaitykite šį straipsnį, kad išspręstumėte savo užklausas.
Galbūt girdėjote, kad įsilaužėliai uždirba daug pinigų, bet ar kada susimąstėte, kaip jie uždirba tokius pinigus? padiskutuokime.
Ar norite pamatyti revoliucinius „Google“ išradimus ir kaip šie išradimai pakeitė kiekvieno žmogaus gyvenimą šiandien? Tada skaitykite tinklaraštį, kad pamatytumėte „Google“ išradimus.
Savavaledžių automobilių koncepcija, kuri išvažiuotų į kelius su dirbtinio intelekto pagalba, yra svajonė, kurią jau kurį laiką svajojame. Tačiau nepaisant kelių pažadų, jų niekur nematyti. Skaitykite šį tinklaraštį, kad sužinotumėte daugiau…
Kadangi mokslas sparčiai vystosi, perimdamas daug mūsų pastangų, taip pat didėja rizika, kad pateksime į nepaaiškinamą singuliarumą. Skaitykite, ką mums gali reikšti išskirtinumas.
Skaitykite tinklaraštį, kad paprasčiausiai sužinotumėte apie skirtingus didžiųjų duomenų architektūros sluoksnius ir jų funkcijas.
Duomenų saugojimo metodai gali būti tobulinami nuo pat Duomenų gimimo. Šiame tinklaraštyje, remiantis infografika, aprašoma duomenų saugojimo raida.
Šiame skaitmeniniu būdu pagrįstame pasaulyje išmanieji namų įrenginiai tapo svarbia gyvenimo dalimi. Štai keletas nuostabių išmaniųjų namų įrenginių privalumų, kaip jie daro mūsų gyvenimą vertą gyventi ir paprastesnį.
Neseniai „Apple“ išleido „macOS Catalina 10.15.4“ priedą, skirtą problemoms išspręsti, tačiau atrodo, kad dėl atnaujinimo kyla daugiau problemų, dėl kurių „Mac“ įrenginiai blokuojami. Norėdami sužinoti daugiau, perskaitykite šį straipsnį