Settu upp og stjórnaðu LXC gámum á öruggan hátt á Ubuntu 14.04

LXC gámar (Linux gámar) eru stýrikerfiseiginleiki í Linux sem hægt er að nota til að keyra mörg einangruð Linux kerfi á einum hýsil.

Þessar leiðbeiningar munu leiða þig í gegnum grunnskref við uppsetningu miðlara fyrir einangraða Linux gáma hýsingu. Við munum stilla eftirfarandi eiginleika:

  • LXC gámar með Ubuntu 14.
  • Linux netstillingar og framsending hafna fyrir gáma.
  • SSH áframsending fyrir gámastjórnun eins einföld og ssh [email protected]ogssh [email protected]
  • Nginx proxy stillingar til að fá aðgang að vefsíðum inni í gámum (eftir hýsilheiti).
  • Viðbótaröryggisbætur fyrir rétta netþjónastjórnun.

Þessi leiðarvísir gerir ráð fyrir að:

  • Þú ert með reikning á Vultr.com .
  • Þú veist hvernig á að stilla sýndarvél með sérsniðnu ISO.
  • Þú veist hvernig á að nota SSH lykla og þú hefur þegar búið til opinbera og einkalykla.

Í lok kennslunnar munum við fá tvo sýndarílát sem munu hafa aðgang að internetinu, en geta ekki pingað hvorn annan. Við munum einnig stilla höfn áfram frá example.comtil gáma. Við munum setja upp örugga stillingar og stjórnunarborð með hjálp verkfæra frá Proxmox pakka.

Undirbúningur

Við munum aðeins nota Proxmox til að stjórna LXC gámum. Almennt styður það einnig KVM, en hreiður sýndarvæðing er bönnuð á Vultr. Áður en byrjað er, ætti að hlaða niður Proxmox ISO af opinberu vefsíðunni. Við munum nota Proxmox VE 5.0 ISO Installer. Settu upp stýrikerfið frá myndinni með sjálfgefnum stillingum og endurræstu sýndarvélina. Einnig er hægt að setja upp proxmox handvirkt frá heimildum, en það er ekki nauðsynlegt í flestum tilfellum (fylgið leiðbeiningunum hér ).

OS uppsetning

Tengstu við gestgjafann þinn með SSH, uppfærðu listann yfir proxmox sniðmát og halaðu niður viðeigandi sniðmáti fyrir ílát.

apt-get update
pveam update
pveam available
pveam download local ubuntu-14.04-standard_14.04-1_amd64.tar.gz

Nú þurfum við að búa til linux gám með netviðmóti sem er tengt við linux brú. Opnaðu /etc/network/interfacesog bættu við eftirfarandi línum:

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

Eftir endurræsingu kerfisins geturðu búið til nýjan ílát úr Ubuntu 14.04sniðmátinu.

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

Þú getur staðfest ílátið þitt með því að nota pct list, byrjað ílát #200 með pct start 200og slá inn skel hans með pct enter 200. Þú getur líka staðfest netstillingar og vistföng með ip addr.

Net

Til að veita nettengingu inni í gámnum þínum þurfum við að virkja NAT. Eftirfarandi gerir kleift að senda umferð frá gámnum yfir á internetið með hjálp NAT tækni. The vmbr0brú er tengdur við ytri tengi og vmbr1brúin er tengdur við ílát.

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

Sláðu inn ílátið með pct enter 200og stilltu vefþjóninn inni.

apt-get update
apt-get install nginx
service nginx start
exit

Nú þurfum við að stilla Nginx á netþjóninum þínum til að umboð vefsíðna í gáma.

apt-get update
apt-get install nginx

Búðu til nýja stillingarskrá /etc/nginx/sites-available/box200með eftirfarandi efni:

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 mun nú umboð hverja HTTP beiðni fyrir server200.example.comfrá netþjóninum þínum yfir í gáminn með IP 10.100.0.200. Virkjaðu þessa stillingu.

ln -s /etc/nginx/sites-available/box200 /etc/nginx/sites-enabled/
service nginx restart

SSH aðgangur

Ef þú vilt veita greiðan aðgang að sandkössum þarftu að senda SSH fundi inn í gámana. Til að gera það skaltu búa til nýjan notanda á rótarþjóninum þínum. Ekki gleyma að slá inn lykilorð, aðrar breytur eru ekki nauðsynlegar.

adduser box200
su - box200
ssh-keygen
cat .ssh/id_rsa.pub
exit

Afritaðu þennan SSH lykil og sláðu inn ílátið til að bæta við lyklinum.

pct enter 200
mkdir .ssh
nano .ssh/authorized_keys
exit

Bættu eftirfarandi línu við .ssh/authorized_keysskrána á netþjóninum þínum .

command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>

Ekki gleyma að breyta <YOUR SSH KEY>í almenningslykil heima. Að öðrum kosti geturðu keyrt eftirfarandi frá skipanalínunni.

echo 'command="ssh [email protected]",no-X11-forwarding,no-agent-forwarding,no-port-forwarding <YOUR SSH KEY>' >> .ssh/authorized_keys

Síðan geturðu tengst sandkassanum þínum með ssh.

`ssh box200@<your_server_IP>`

Viðbótarstillingar

Það er kominn tími til að innleiða nokkrar öryggisbætur. Í fyrsta lagi viljum við breyta sjálfgefna SSH tenginu. Síðan viljum við vernda Proxmox stjórnunarsíðuna okkar með grunn HTTP auðkenningu.

nano /etc/ssh/sshd_config

Taktu úr athugasemdum og breyttu línunni

#Port 22 

til

Port 24000 

Endurræstu ssh.

service ssh restart

Tengdu aftur við ssh með nýju tenginu.

ssh root@<your_IP> -p 24000

Stilltu Proxmox lykilorð.

Búa til skrá /etc/default/pveproxy.

ALLOW_FROM="127.0.0.1"
DENY_FROM="all"
POLICY="allow"

Endurræstu pveproxytil að breytingarnar taki gildi.

/etc/init.d/pveproxy restart

Stilltu nginx (ef þú hefur ekki gert það áður).

apt-get install nginx
service nginx restart

Búðu til sjálfgefna stillingu í /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; }
}

Fáðu gilt SSL vottorð og uppfærðu nginx stillingarnar þínar. Til dæmis er hægt að gera það með hjálp certbox og letsencrypt. Fyrir frekari upplýsingar, smelltu hér .

wget https://dl.eff.org/certbot-auto
chmod +x certbot-auto
./certbot-auto --nginx

Nú ætti nginx stillingin þín að líta svona út (eða þú getur breytt henni handvirkt eftir það). Ekki gleyma að afskrifa ssl, auth og staðsetningu línur.

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
}

Búðu til /etc/htpasswdskrá með því að nota Htpasswd rafallinn .

nano /etc/nginx/htpasswd

Endurræstu Nginx

service nginx restart

Þú getur nú skoðað stjórnborðið á https://example.comeftir grunnauðkenningu.

Port Forwarding

Gámarnir eru nú fáanlegir með HTTP beiðnum og SSH. Nú getum við stillt áframsendingu hafna frá ytri netþjóninum yfir í gámana. Til dæmis, fyrir kortlagningu example.com:8080til að setja 10.100.0.200:3000inn eftirfarandi.

iptables -t nat -A PREROUTING -i vmbr0 -p tcp --dport 8080 -j DNAT --to 10.100.0.200:3000

Þú getur skoðað gildandi reglur.

`iptables -t nat -v -L PREROUTING -n --line-number`

Þú getur líka eytt reglu eftir númeri með eftirfarandi.

`iptables -t nat -D PREROUTING <#>`.

Aðskildir gámar

Við getum nú nálgast einn gám frá öðrum.

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

Ef þú vilt takmarka aðgang frá gámi 250 í 200 þarftu að tengja hvern gám við persónulega brú og slökkva á áframsendingu milli brúa.

  1. Eyða núverandi gámum.

    pct stop 200
    pct stop 250
    pct destroy 200
    pct destroy 250
    
  2. Breyttu innihaldi /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
    
  3. reboot kerfið

  4. Virkja áframsendingu

    `sysctl -w net.ipv4.ip_forward=1`
    

    Til að gera þessar breytingar varanlegar geturðu breytt /etc/sysctl.confskránni og fundið eftirfarandi texta.

    #net.ipv4.ip_forward=1
    

    Afskrifaðu það.

    net.ipv4.ip_forward=1
    

    Þú getur líka hlaupið sysctl -ptil að láta breytingarnar taka gildi strax.

  5. Búðu til gáma.

    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
    
  6. Byrjaðu ílátin með pct start 200og pct start 250.

  7. Skolaðu iptablesreglurnar.

    iptables -F
    
  8. Virkja NAT.

    iptables --table nat --append POSTROUTING --out-interface vmbr0 -j MASQUERADE
    

    vmbr0 er brúin sem inniheldur ytra viðmót.

  9. Leyfa áframsendingu frá ytra viðmóti.

    iptables --append FORWARD --in-interface vmbr0 -j ACCEPT
    
  10. Leyfa áframsendingu úr gámunum yfir á netið.

    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
    
  11. Slepptu hinni áframsendingunni.

    iptables -A FORWARD -i vmbr1 -j DROP
    iptables -A FORWARD -i vmbr2 -j DROP
    

Athugaðu nú að 10.100.1.200getur pingað 8.8.8.8en getur ekki pingað 10.100.2.250og það 10.100.2.250getur pingað 8.8.8.8en getur ekki pingað 10.100.1.200.

Röð skipana sem tengjast iptables er mikilvæg. Besta leiðin til að nota reglurnar þínar er að nota iptables-persistent. Þessi pakki hjálpar þér að spara iptables reglur um skrár /etc/iptables/rules.v4og /etc/iptables/rules.v6og það getur á sjálfvirkan hátt hlaða þeim eftir endurræsa vélina. Settu það bara upp með eftirfarandi.

apt-get install iptables-persistent

Veldu YESþegar beðið er um það.


Svona á að skoða Hyper-V gáma á Windows 10 Insider

Svona á að skoða Hyper-V gáma á Windows 10 Insider

Microsoft hefur útskýrt í nýrri bloggfærslu hvernig Windows Insiders geta prófað Hyper-V gáma á Windows 10, ný virtualization lausn til að leyfa forritum að keyra án þess að hafa áhrif á restina af stýrikerfinu þínu.

Hvernig á að setja upp Harbor á CentOS 7

Hvernig á að setja upp Harbor á CentOS 7

Harbor er opinn uppspretta fyrirtækjaskrármiðlara sem geymir og dreifir Docker myndum. Harbor framlengir opinn uppspretta Docker Distribution b

Settu upp Rancher OS í gegnum iPXE

Settu upp Rancher OS í gegnum iPXE

Rancher OS er mjög létt Linux dreifing byggð í kringum Docker. Stýrikerfið sjálft vegur um 20MB. Þessi kennsla mun koma þér í gang með

Á CoreOS, settu upp þína eigin Docker Registry

Á CoreOS, settu upp þína eigin Docker Registry

Við þekkjum öll og elskum Docker, vettvang til að búa til, stjórna og dreifa forritagámum yfir margar vélar. Docker Inc. veitir þjónustu t

Setur upp docker-compose á CoreOS

Setur upp docker-compose á CoreOS

Þessi grein útskýrir hvernig á að setja upp docker-compose á CoreOS. Í CoreOS er /usr/ mappan óbreytanleg þannig að staðlaða /usr/local/bin slóðin er ekki tiltæk fyrir

Settu upp Rancher á CentOS 7

Settu upp Rancher á CentOS 7

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

Settu upp Docker CE á Ubuntu 18.04

Settu upp Docker CE á Ubuntu 18.04

Inngangur Docker er forrit sem gerir okkur kleift að dreifa forritum sem eru keyrð sem gámar. Það var skrifað á hinu vinsæla Go forritunarmáli

Búðu til Docker Swarm á Alpine Linux 3.9.0

Búðu til Docker Swarm á Alpine Linux 3.9.0

Inngangur Þessi handbók mun sýna þér hvernig á að búa til og stilla Docker-sveim með því að nota marga Alpine Linux 3.9.0 netþjóna og Portainer. Vinsamlegast athugið að

Settu upp PHP forrit með því að nota Docker-compose

Settu upp PHP forrit með því að nota Docker-compose

PHP forrit eru venjulega samsett af vefþjóni, venslagagnagrunnskerfi og tungumálatúlknum sjálfum. Í þessari kennslu munum við vera skuldsett

Hleðslujöfnuður með Docker

Hleðslujöfnuður með Docker

Þegar þú keyrir vefforrit vilt þú venjulega fá sem mest út úr auðlindum þínum án þess að þurfa að breyta hugbúnaðinum þínum í að nota fjölþráða o

Settu upp Node.js forrit með því að nota Docker

Settu upp Node.js forrit með því að nota Docker

Þessi grein mun sýna þér hvernig á að dreifa Node forritinu þínu í Docker gám. Athugið: Þessi kennsla gerir ráð fyrir að þú hafir Docker uppsettan og lesinn

Uppsetning Docker CE á CentOS 7

Uppsetning Docker CE á CentOS 7

Docker gámatækni gerir þér kleift að keyra forrit í ákveðnu og einangruðu umhverfi. Docker Community Edition (CE) er nýja nafnið á fre

Settu upp Kubernetes með Kubeadm á CentOS 7

Settu upp Kubernetes með Kubeadm á CentOS 7

Yfirlit Þessari grein er ætlað að hjálpa þér að koma Kubernetes klasa í gang með kubeadm á skömmum tíma. Þessi handbók mun setja upp tvo netþjóna, á

Uppsetning Docker á CentOS 7

Uppsetning Docker á CentOS 7

Að nota annað kerfi? Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í Go forritinu

Uppsetning Docker CE á Debian 9

Uppsetning Docker CE á Debian 9

Að nota annað kerfi? Inngangur Docker er forrit sem gerir kleift að dreifa hugbúnaði innan sýndargáma. Það var skrifað í G

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Byrjaðu með SQL Server 2017 (MS-SQL) á CentOS 7 með Docker

Forkröfur Docker vél 1.8+. Lágmark 4GB af diskplássi. Lágmark 4GB af vinnsluminni. Skref 1. Settu upp Docker Til að setja upp SQL-þjóninn, Docker mus

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Tvö grafísk stjórnunarverkfæri Docker: DockerUI og Shipyard

Með hjálp Vultr Docker forritsins geturðu auðveldlega sett Docker á Vultr netþjóninn þinn. Á meðan geturðu auðveldað Docker stjórnun verkefnis

Settu upp Rancher Server á RancherOS

Settu upp Rancher Server á RancherOS

Yfirlit RancherOS er ótrúlega létt stýrikerfi (aðeins um 60 MB) sem keyrir Docker púkk kerfisins sem PID 0 til að keyra kerfisþjónustur

Byrjaðu með Kubernetes á CentOS 7

Byrjaðu með Kubernetes á CentOS 7

Kubernetes er opinn uppspretta vettvangur þróaður af Google til að stjórna gámaforritum yfir þyrping netþjóna. Það byggir á áratug og

Settu upp Rancher á Ubuntu 16.04

Settu upp Rancher á Ubuntu 16.04

Að nota annað kerfi? Inngangur Rancher er opinn uppspretta vettvangur til að keyra gáma og byggja upp einkagámaþjónustu. Rancher er grunnur

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Gervigreind er ekki í framtíðinni, hún er hér í nútímanum Í þessu bloggi Lestu hvernig gervigreindarforrit hafa haft áhrif á ýmsa geira.

DDOS árásir: Stutt yfirlit

DDOS árásir: Stutt yfirlit

Ertu líka fórnarlamb DDOS árása og ruglaður með forvarnaraðferðirnar? Lestu þessa grein til að leysa spurningar þínar.

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Hefur þú einhvern tíma velt því fyrir þér hvernig tölvuþrjótar græða peninga?

Þú gætir hafa heyrt að tölvuþrjótar græða mikið af peningum, en hefur þú einhvern tíma velt því fyrir þér hvernig þeir vinna sér inn svona peninga? við skulum ræða.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Byltingarkenndar uppfinningar frá Google sem munu auðvelda lífi þínu.

Viltu sjá byltingarkenndar uppfinningar frá Google og hvernig þessar uppfinningar breyttu lífi hvers manns í dag? Lestu síðan til að blogga til að sjá uppfinningar frá Google.

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Föstudagur Nauðsynlegur: Hvað varð um gervigreindardrifna bíla?

Hugmyndin um að sjálfkeyrandi bílar fari á göturnar með hjálp gervigreindar er draumur sem við höfum átt um tíma núna. En þrátt fyrir nokkur loforð eru þau hvergi sjáanleg. Lestu þetta blogg til að læra meira…

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Tæknileg sérkenni: Fjarlæg framtíð mannlegrar siðmenningar?

Þar sem vísindin þróast hratt og taka yfir mikið af viðleitni okkar, eykst hættan á því að verða fyrir óútskýranlegri einstæðu. Lestu, hvað sérkenni gæti þýtt fyrir okkur.

Þróun gagnageymslu – Infographic

Þróun gagnageymslu – Infographic

Geymsluaðferðir gagna hafa verið að þróast gæti verið frá fæðingu gagna. Þetta blogg fjallar um þróun gagnageymslu á grundvelli upplýsingamynda.

Virkni Big Data Reference Architecture Layers

Virkni Big Data Reference Architecture Layers

Lestu bloggið til að þekkja mismunandi lög í Big Data Architecture og virkni þeirra á einfaldasta hátt.

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

6 ótrúlegir kostir þess að hafa snjall heimilistæki í lífi okkar

Í þessum stafræna heimi hafa snjallheimilistæki orðið afgerandi hluti af lífi. Hér eru nokkrir ótrúlegir kostir snjallheimatækja um hvernig þau gera líf okkar þess virði að lifa því og einfaldara.

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

macOS Catalina 10.15.4 viðbót uppfærsla veldur fleiri vandamálum en að leysa

Nýlega gaf Apple út macOS Catalina 10.15.4 viðbótaruppfærslu til að laga vandamál en svo virðist sem uppfærslan sé að valda fleiri vandamálum sem leiða til múrsteins á Mac vélum. Lestu þessa grein til að læra meira