Instalirajte Rancher OS putem iPXE
Rancher OS je vrlo lagana distribucija Linuxa izgrađena oko Dockera. Sam OS teži oko 20MB. Ovaj vodič će vas pokrenuti i pokrenuti
LXC spremnici (Linux spremnici) su značajka operacijskog sustava u Linuxu koja se može koristiti za pokretanje više izoliranih Linux sustava na jednom hostu.
Ove upute će vas provesti kroz osnovne korake konfiguracije poslužitelja za izolirani hosting Linux kontejnera. Konfigurirat ćemo sljedeće značajke:
ssh [email protected]
issh [email protected]
Ovaj vodič pretpostavlja da:
Na kraju tutoriala dobit ćemo dva virtualna kontejnera koji će imati pristup internetu, ali ne mogu pingati jedan drugog. Također ćemo konfigurirati prosljeđivanje portova od example.com
do kontejnera. Sigurnu konfiguraciju i upravljačku ploču postavit ćemo uz pomoć alata iz Proxmox paketa.
Proxmox ćemo koristiti samo za upravljanje LXC kontejnerima. Općenito, također podržava KVM, ali ugniježđena virtualizacija je zabranjena na Vultru. Prije početka potrebno je preuzeti Proxmox ISO sa službene web stranice. Koristit ćemo Proxmox VE 5.0 ISO Installer
. Instalirajte OS sa slike sa zadanim postavkama i ponovno pokrenite virtualni stroj. Također, možete ručno instalirati proxmox iz izvora, ali to u većini slučajeva nije potrebno (slijedite upute ovdje ).
Povežite se sa svojim hostom putem SSH-a, ažurirajte popis proxmox predložaka i preuzmite odgovarajući predložak za spremnike.
apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz
Sada moramo stvoriti linux spremnik s mrežnim sučeljem spojenim na linux most. Otvorite /etc/network/interfaces
i dodajte sljedeće retke:
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
Nakon ponovnog pokretanja sustava, možete stvoriti novi spremnik iz Ubuntu 14.04
predloška.
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
Možete provjeriti svoj spremnik pomoću pct list
, pokrenuti spremnik #200 s pct start 200
i unijeti njegovu ljusku s pct enter 200
. Također možete provjeriti mrežne postavke i adrese pomoću ip addr
.
Da bismo omogućili internetsku vezu unutar vašeg spremnika, moramo omogućiti NAT
. Sljedeće će omogućiti prosljeđivanje prometa iz kontejnera na internet uz pomoć NAT tehnologije. vmbr0
Mosta spojen na vanjski sučelje i vmbr1
most povezan s kontejnerima.
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
Unesite spremnik s pct enter 200
i konfigurirajte web poslužitelj unutra.
apt-get update
apt-get install nginx
service nginx start
exit
Sada moramo konfigurirati Nginx na vašem poslužitelju da proxy web stranice u kontejnere.
apt-get update
apt-get install nginx
Napravite novu konfiguracijsku datoteku /etc/nginx/sites-available/box200
sa sljedećim sadržajem:
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/;
}
}
Nginx će sada proxy svaki HTTP zahtjev server200.example.com
s vašeg poslužitelja u spremnik s IP-om 10.100.0.200. Aktivirajte ovu konfiguraciju.
ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart
Ako želite omogućiti lak pristup sandboxovima, morate proslijediti SSH sesije u spremnike. Da biste to učinili, stvorite novog korisnika na svom korijenskom poslužitelju. Ne zaboravite unijeti lozinku, drugi parametri nisu potrebni.
adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit
Kopirajte ovaj SSH ključ i unesite spremnik da dodate ključ.
pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit
Na svom poslužitelju dodajte sljedeći redak u .ssh/authorized_keys
datoteku.
command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>
Ne zaboravite promijeniti <YOUR SSH KEY>
svoj kućni javni ključ. Alternativno, možete pokrenuti sljedeće iz naredbenog retka.
echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys
Zatim se možete povezati sa svojim sandboxom pomoću ssh-a.
`ssh box200@<your_server_IP>`
Vrijeme je za implementaciju nekoliko sigurnosnih poboljšanja. Prvo, želimo promijeniti zadani SSH port. Zatim želimo zaštititi našu stranicu za upravljanje Proxmoxom osnovnom HTTP autentifikacijom.
nano /etc/ssh/sshd_config
Dekomentirajte i promijenite redak
#Port 22
do
Port 24000
Ponovno pokrenite ssh.
service ssh restart
Ponovno se povežite na ssh s novim portom.
ssh root@<your_IP> -p 24000
Napravite datoteku /etc/default/pveproxy
.
ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"
Ponovo pokrenite pveproxy
kako bi promjene stupile na snagu.
/etc/init.d/pveproxy restart
Konfigurirajte nginx (ako to niste učinili prije).
apt-get install nginx
service nginx restart
Napravite zadanu konfiguraciju u /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; }
}
Nabavite važeći SSL certifikat i ažurirajte svoju nginx konfiguraciju. Na primjer, to se može učiniti uz pomoć certboxa i letsencrypta. Za više informacija kliknite ovdje .
wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx
Sada bi vaša nginx konfiguracija trebala izgledati ovako (ili je možete promijeniti ručno nakon toga). Nemojte zaboraviti dekomentirati retke ssl, auth i location.
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
}
Napravite /etc/htpasswd
datoteku pomoću Htpasswd generatora .
nano /etc/nginx/htpasswd
Ponovno pokrenite Nginx
service nginx restart
Sada možete vidjeti upravljačku konzolu https://example.com
nakon osnovne provjere autentičnosti.
Spremnici su sada dostupni putem HTTP zahtjeva i SSH-a. Sada možemo konfigurirati prosljeđivanje portova s vanjskog poslužitelja na spremnike. Na primjer, za mapiranje example.com:8080
za 10.100.0.200:3000
unos sljedećeg.
iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000
Možete vidjeti trenutna pravila.
`iptables -t nat -v -L PREROUTING -n --line-number`
Također možete izbrisati pravilo po broju sa sljedećim.
`iptables -t nat -D PREROUTING <#>`.
Sada možemo pristupiti jednom spremniku iz drugog.
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
Ako želite ograničiti pristup s spremnika 250 na 200, morate svaki spremnik povezati s osobnim mostom i onemogućiti prosljeđivanje između mostova.
Izbrišite postojeće spremnike.
pct stop 200
pct stop 250
pct destroy 200
pct destroy 250
Promijenite sadržaj /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
sustav
Omogući prosljeđivanje
`sysctl -w net.ipv4.ip_forward=1`
Kako biste ove promjene učinili trajnim, možete urediti /etc/sysctl.conf
datoteku i pronaći sljedeći tekst.
#net.ipv4.ip_forward=1
Odkomentiraj.
net.ipv4.ip_forward=1
Također možete pokrenuti sysctl -p
kako bi promjene odmah stupile na snagu.
Napravite kontejnere.
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
Započnite spremnike sa pct start 200
i pct start 250
.
Ispraznite iptables
pravila.
iptables -F
Omogućite NAT.
iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
vmbr0
je most koji uključuje vanjsko sučelje.
Dopusti prosljeđivanje s vanjskog sučelja.
iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
Dopustite prosljeđivanje iz kontejnera na 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
Odbacite drugo prosljeđivanje.
iptables -A FORWARD -i vmbr1 -j DROP
iptables -A FORWARD -i vmbr2 -j DROP
Sada provjerite da 10.100.1.200
može pingati, 8.8.8.8
ali ne može pingati 10.100.2.250
i da 10.100.2.250
može pingati, 8.8.8.8
ali ne može ping 10.100.1.200
.
Redoslijed naredbi povezanih s iptables je važan. Najbolji način upravljanja svojim pravilima je korištenje iptables-persistent
. Ovaj paket vam pomaže da spremite iptables pravila u datoteke /etc/iptables/rules.v4
i /etc/iptables/rules.v6
može ih automatski učitati nakon ponovnog pokretanja sustava. Samo ga instalirajte sa sljedećim.
apt-get install iptables-persistent
Odaberite YES
kada se to od vas zatraži.
Rancher OS je vrlo lagana distribucija Linuxa izgrađena oko Dockera. Sam OS teži oko 20MB. Ovaj vodič će vas pokrenuti i pokrenuti
Ovaj članak objašnjava kako instalirati docker-compose na CoreOS. U CoreOS-u, /usr/ mapa je nepromjenjiva pa je standardna /usr/local/bin putanja nedostupna za
Uvod Docker je aplikacija koja nam omogućuje implementaciju programa koji se pokreću kao spremnici. Napisana je u popularnom programskom jeziku Go
Uvod Ovaj vodič će vam pokazati kako stvoriti i konfigurirati Docker roj koristeći više Alpine Linux 3.9.0 poslužitelja i Portainera. Imajte na umu da
PHP aplikacije obično se sastoje od web poslužitelja, sustava relacijske baze podataka i samog tumača jezika. U ovom tutorialu bit ćemo poluga
Kada izvodite web-aplikaciju, obično želite maksimalno iskoristiti svoje resurse bez potrebe da konvertirate svoj softver za korištenje višenitnog rada o
Ovaj članak će vam pokazati kako implementirati svoju Node aplikaciju unutar Docker spremnika. Napomena: Ovaj vodič pretpostavlja da imate instaliran i pročitan Docker
Korištenje drugog sustava? Docker je aplikacija koja omogućuje implementaciju softvera unutar virtualnih spremnika. Napisano je u Go programu
Korištenje drugog sustava? Uvod Docker je aplikacija koja omogućuje implementaciju softvera unutar virtualnih spremnika. Napisano je u G
Preduvjeti Docker engine 1.8+. Najmanje 4 GB prostora na disku. Minimalno 4 GB RAM-a. Korak 1. Instalirajte Docker Da biste instalirali SQL-Server, potrebno je Docker
Korištenje drugog sustava? Uvod Docker Swarm pretvara vaše pojedinačne poslužitelje u klaster računala; olakšavanje skaliranja, visoka dostupnost an
Uz pomoć aplikacije Vultr Docker, možete jednostavno postaviti Docker na svoju instancu poslužitelja Vultr. U međuvremenu, možete olakšati zadatak upravljanja Dockerom
Pregled RancherOS je nevjerojatno lagan operativni sustav (samo oko 60 MB) koji pokreće sistemski Docker demon kao PID 0 za pokretanje sistemskih usluga
Korištenje drugog sustava? Uvod Rancher je platforma otvorenog koda za pokretanje kontejnera i izgradnju privatnog kontejnerskog servisa. Rančer je baza
Korištenje drugog sustava? Uvod Sentry je rješenje otvorenog koda za praćenje pogrešaka. Sentry prati iznimke i druge korisne poruke
Korištenje drugog sustava? Docker je aplikacija koja omogućuje implementaciju programa koji se pokreću kao kontejneri. Napisano je u popularnom Go programu
LXC spremnici (Linux spremnici) su značajka operacijskog sustava u Linuxu koja se može koristiti za pokretanje više izoliranih Linux sustava na jednom hostu. Thes
Umjetna inteligencija nije u budućnosti, ovdje je upravo u sadašnjosti. U ovom blogu Pročitajte kako su aplikacije umjetne inteligencije utjecale na različite sektore.
Jeste li i vi žrtva DDOS napada i zbunjeni ste metodama prevencije? Pročitajte ovaj članak kako biste riješili svoje upite.
Možda ste čuli da hakeri zarađuju mnogo novca, ali jeste li se ikada zapitali kako zarađuju toliki novac? raspravimo.
Želite li vidjeti revolucionarne izume Googlea i kako su ti izumi promijenili život svakog čovjeka danas? Zatim čitajte na blogu kako biste vidjeli Googleove izume.
Koncept samovozećih automobila koji će krenuti na ceste uz pomoć umjetne inteligencije san je koji već neko vrijeme imamo. No, unatoč nekoliko obećanja, nigdje ih nema. Pročitajte ovaj blog kako biste saznali više…
Kako se znanost razvija velikom brzinom, preuzimajući mnoge naše napore, raste i rizik da se podvrgnemo neobjašnjivoj Singularnosti. Pročitajte što bi za nas mogla značiti singularnost.
Metode pohrane podataka su se razvijale možda od rođenja podataka. Ovaj blog pokriva evoluciju pohrane podataka na temelju infografike.
Pročitajte blog kako biste na najjednostavniji način upoznali različite slojeve u arhitekturi velikih podataka i njihove funkcionalnosti.
U ovom digitalnom svijetu, pametni kućni uređaji postali su ključni dio života. Evo nekoliko nevjerojatnih prednosti pametnih kućnih uređaja o tome kako naš život čine vrijednim življenja i jednostavnijim.
Nedavno je Apple izdao macOS Catalina 10.15.4 dodatak ažuriranju kako bi riješio probleme, ali čini se da ažuriranje uzrokuje više problema koji dovode do zalijevanja mac strojeva. Pročitajte ovaj članak da biste saznali više