Ubunut18 安裝docker環境&&AWD攻防平臺部署

docker:有兩個版本:docker-ce(社區版)和docker-ee(企業版)。javascript

參考官網地址:https://docs.docker.com/engine/installation/linux/docker-ce/ubuntu/#os-requirementsjava

docker-compse:可運行和管理多個docker容器。python

docker-machine:docker官方提供的docker管理工具。可管理多個docker主機,可搭建swarm集羣。linux

 

0x01 docker安裝

咱們能夠從ubuntu倉庫安裝docker 也能夠從docker倉庫安裝 ,這裏以docker官網安裝爲例git

1,卸載舊版本dockergithub

全新安裝時,無需執行該步驟web

$ sudo apt-get remove docker docker-engine docker.io

2,更新系統軟件docker

$ sudo apt-get update

3,安裝依賴包ubuntu

$ sudo apt-get install \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common

 

4,添加官方密鑰服務器

執行該命令時,如遇到長時間沒有響應說明網絡鏈接不到docker網站,須要使用代-理進行。

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 

顯示OK,表示添加成功.

5,添加倉庫

$ sudo add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"

 

6,再次更新軟件

經實踐,這一步不可以省略,咱們須要再次把軟件更新到最新,不然下一步有可能會報錯。

$ sudo apt-get update

7,安裝docker

若是想指定安裝某一版本,可以使用 sudo apt-get install docker-ce=<VERSION>  命令,把<VERSION>替換爲具體版本便可。

如下命令沒有指定版本,默認就會安裝最新版

$ sudo apt-get install docker-ce

 

8,查看docker版本

$ docker -v

 

到這裏 表示docker安裝成功。

 

 

 

0x02 docker-compose安裝

兩種最新的docker安裝方式

1.從github上下載docker-compose二進制文件安裝

  • 下載最新版的docker-compose文件 
    $ sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

  • 添加可執行權限 
    $ sudo chmod +x /usr/local/bin/docker-compose

  • 測試安裝結果 
    $ docker-compose --version 
    

2.pip安裝

$ sudo pip install docker-compose

 

 

0x03 docker-machine安裝

說明:docker-machine的使用是要基於virtualBox的。若是沒有安裝安裝過,請先安裝virtualBox。

1,安裝virtualBox

登陸virtualBox官網:https://www.virtualbox.org/wiki/Linux_Downloads

找到"Ubuntu 16.04 ("Xenial")  i386 |  AMD64"字樣,點擊「AMD64」進行下載。

下載後,執行如下命令進行安裝:

$ sudo dpkg -i virtualbox-5.2_5.2.0-118431_Ubuntu_xenial_amd64.deb

2,下載並安裝docker-machine

$ curl -L https://github.com/docker/machine/releases/download/v0.13.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&
chmod +x /tmp/docker-machine &&
sudo cp /tmp/docker-machine /usr/local/bin/docker-machine

3,查看版本信息

$ docker-machine version

顯示出版本信息,即安裝成功。

 

 

 

 0x04 AWD攻防平臺部署

用到的平臺是Hence Zhang @Lancet師傅分享的

比賽平臺拓撲:

 

服務器所有以docker形式部署在同一臺虛擬機上。

 

Check_server:

服務檢查服務器,用於斷定選手維護的服務是否可用,若是不可用,則會扣除相應的分數。不開啓任何端口。須要與flag服務器通訊。

Flag_server:

選手提交flag的服務器,並存儲選手的分數。開啓80端口。

Web_server:

選手鍊接的服務器,選手須要對其進行維護,並嘗試攻擊其餘隊伍的機器。一般開啓80端口,22端口,並將端口映射到主機。

 

 

 

在複製文件的時候出現了沒法複製的問題

解決;

sudo apt-get autoremove open-vm-tools
sudo apt-get install open-vm-tools
sudo apt-get install open-vm-tools-desktop

 

比賽啓動

 

首先須要docker加載鏡像

docker pull zhl2008/web_14.04

 

極可能是報錯 

解決:

第一步:經過

dig @114.114.114.114 registry-1.docker.io

 

找到可用IP

 

第二步:嘗試修改/etc/hosts強制docker.io相關的域名解析到其它可用IP

ok

再次加載鏡像 

 

 

 

 

 

 

 

1.根據當前隊伍數量copy全部的隊伍的比賽文件夾: python batch.py web_dir team_number

​ for example: 

python batch.py web_server 5

 

 

而後改下名字

docker tag zhl2008/web_14.04 web_14.04

 

2.啓動比賽:python start.py ./ team_number

​ for example: 

python start.py ./ 1

 

3.啓動check腳本:

docker attach check_server

​python check.py

 

啓動的時候發現docker沒起起來 爆以下錯誤:

docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.39/containers/create?name=team1: dial unix /var/run/docker.sock: connect: permission denied.

 

解決:

sudo運行

 

 

 

啓動起來了就訪問吧

由於是在一個服務器上運行了多個docker,靶機的映射端口規則是:

team1 ---- 8801 team3 ---- 8802 team3 ---- 8803 ....以此類推

 

各個靶機的ssh密碼能夠在項目的文件夾下的pass.txt文件中

 

 

ssh的端口規則是:

team1 ---- 2201 team2 ---- 2202 team3 ---- 2203 ....以此類推



在項目的根目錄的flag_server/中,咱們 要賦予score.txt 和result.txt 777權限,不然分數變更沒法進行同步

 

ok這裏就搭建完成了  enjoy it~

相關文章
相關標籤/搜索