Dùng docker làm lab cho vui …

Sáng nay lên trường, học MM-ANM, mở web lên thấy bài lab có cái yêu cầu như này

1 bài lab, cần cài WMWare, rõ là mình không vui với món này, cái WMWare có 1 đống service, chạy lên lại lag máy từa lưa, làm xong lab lại gỡ, rõ chán. Mình nãy ra ý tưởng, dùng docker cho lẹ :’)

Note: Cài đặt docker ở: https://docs.docker.com/install/linux/docker-ce/ubuntu/#extra-steps-for-aufs

Lab nó yêu cầu Ubuntu 14.04, oke mình sẽ kiếm 1 cái image ubuntu 14.04. Để làm việc đó, lếch xác lên docker hub thôi: https://hub.docker.com/search/

Gõ ubuntu 14.04 vào ô tìm kiếm, chọn offical cho chắc chuyện, mình được mấy cái, chọn cái có nhiều star và pull nhất để check (cái đầu tiên)

Hàng chính chủ thì nó support cả nùi:

Giờ mình pull cái image mình cần về thôi

sudo docker pull ubuntu:14.04

Nhớ kèm cái tag 14.04 ở sau để lấy cái phiên bản mình cần.

Kiểm tra xem nó được pull về chưa, nhiều khi nó chưa pull được mà mình tưởng pull rồi thì cũng cực lắm

Tiếp theo lab yêu cầu mình cài Snort.

Cài thì cài thôi, từ máy host (máy của mình đang xài), tải mấy file cần thiết về và giải nén ra (mình sẽ để nó ở /tmp)

wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz -P /tmp;cd /tmp;tar xvzf daq-2.0.6.tar.gz

wget https://www.snort.org/downloads/snort/snort-2.9.11.1.tar.gz -P /tmp;cd /tmp;tar xvzf snort-2.9.11.1.tar.gz

ke, mình sẽ cài cái mớ này vào docker container, khỏi dùng Dockerfile. Chạy docker container lên:

docker run -it -v /tmp:/home/user/snort-install ubuntu:14.04

Chú ý chỗ tham số -v, phần trước dấu : (/tmp) là đường dẫn đến thư mục /tmp (nơi mình đã tải file xuống) trên máy host (máy của mình), phần sau dấu : (/home/user/snort-install) là đường dẫn mình muốn bind thư mục trên máy host đến docker container. 

Bây giờ docker container đã chạy, mình vào thư mục đã bind

cd /home/user/snort-install

Mình vào mình cài từng cái:

cd daq-2.0.6

./configure && make && sudo make install

cd snort-2.9.11.1

./configure --enable-sourcefire && make && sudo make install

Trong quá trình chạy nó thiếu cái lib hay package nào thì cài cái đó vào như thường thôi. Chạy xong thì check xem đã cài thành công snort chưa snort -V, có được kết quả như này.

Bây giờ mình commit những thứ đã cài lại docker images chứ không xíu thoát ra khỏi docker container thì những thứ mình cài nãy giờ nó theo sông theo biển hết.

Mở một cửa sổ terminal mới và gõ docker ps để xem có những container nào đang chạy

Oke, copy cái CONTAINER ID kia, sau đó dùng lệnh docker commit để lưu những thay đổi của mình đã làm vào một docker image khác (ubuntu-snort)

docker commit a201144f8884 ubuntu-snort

Có thể thay ubuntu-snort bằng tên ubuntu:14.04 để lưu thay đổi trên chính image hiện tại, nếu không có tag 14.04 mà chỉ lưu ubuntu không thì nó ra cái image khác là ubuntu:latest đấy. Ở câu lệnh trên là lưu vào ubuntu-snort, không có tag, ở đây tag latest nó sẽ chỉ cái image này. Đọc thêm về tag latest ở đây: https://medium.com/@mccode/the-misunderstood-docker-tag-latest-af3babfd6375

Check xem những image mình có lúc này: docker images

Xong, phần còn lại thì chạy cái ubuntu-snort lên để làm nốt cái lab nộp thầy thôi.

===============================

Viết xong mới biết mình có thể cài snort lên máy của mình ez :v, thôi kệ, cũng học được thêm vài cái hay ho :p

Leave a Reply

Your email address will not be published. Required fields are marked *