Web Title:雅雯老師的專用網頁雅雯老師的專用網頁

資訊技能-ubuntu進階班_openvpn與docker(A班)

講義:https://sites.google.com/view/linuxserver/

卓國興老師

新增一個ubuntu虛擬機

硬碟20G

raid 1

可分離式啟動

安裝ubuntuServer 18.04(載入檔案)==自己去下載https://www.ubuntu-tw.org/modules/tinyd0/

以上是host用

docker是引擎,用來產生很多容器,容器產生服務

安裝docker

1.關機

sudo poweroff

2.設定值,網路,介面卡1,橋接介面卡,確定

3分離式啟動

取得電腦教室網段之IP(203.68.102.xx)

4.用putty連接

輸入host ip

用ssh

apperance=>字調大

open

輸入帳號密碼

安裝docker

 

curl -sSL https://get.docker.com | sudo sh

ifconfig

203.68.102.204

sudo usermod -aG docker ubuntu

重開機(reboot)

就可以直接以ubuntu身份身用docker

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

用putty重連

Pull第一個映像檔

docker search ==> docker pull

docker pull ubuntu(不選版本就會裝最新的18.04)

docker images 可看到安裝資訊

再來是產生容器=>docker run

1.docker run -it --name firstubuntu ubuntu

2.進入容器(使用者名稱改變)

3.ps

4.exit

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

docker ps

docker ps -a 

docker start 容器名稱

docker ps =>(容器啟動)

docker attach 容器名稱

apt update

apt install apache2 => 安裝apache2(安裝什麼都與host機完全無關)

按下 ctrl + P 然後 ctrl + Q 跳離容器,讓它繼續在背景執行(不可以用EXIT)

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

簡易WEB UI docker portainer

docker run -d --privileged --name portainer -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock --restart=always -v /portainer/data:/data portainer/portainer

203.68.102.204:9000 (利用port 9000進入管理介面)

admin / 12345678

選local連結即可

Console => 可以直接操作安裝軟體

容易優點==>速度快,以秒計算 (VM慢)

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

<映像檔儲存及轉移>

<製作映像檔>

進入Console

cd /etc/apache2

ls

進入firstubuntu

create image

image名稱:ubuntuapache2:v1 =>create

回putty docker images

看看是否有沒有V1產生

所以可以先進console把要裝的軟體裝好,然後製作新的image

unused =>表示還沒有被任何容器所使用

 

移除=>打勾delete即可

<用映像檔去產生容器>

1.create container(右上角add container)

2.選image

3./bin/bash (下面Command entry point)

4.interactive & TTY

5.deploy the container

容器中的apache2要對外服務時怎麼處理?

本來只能夠對內服務(127.0.0.1)

要轉port

1.再重建一次container,map additional port

2.host 80 -> container 80

3.讓容器自動啟動apache2

comand設置:apachectl -D FOREGROUND(這樣,會自動啟動容器的apache2)

貼在command裏

4.interactive & TTY

5.deploy the container

補充:pipework=>設定容器固定IP的工具D,即可讓容器使用自己的實體ip直接對外服務

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

製作個人儲存雲

nextcloud

1.從docker裝最快

2.http://github.com/nextcloud/docker

3.docker run -d -p 8080:80 nextcloud 貼上

<資料分離>--以免容器損壞導致資料遺失

1.製作raid1的磁碟

2.容器都刪掉,機器先關機

3.virtualbox設定值

存放裝置,sata控制器,加硬碟(建立新的),50G raid1-1,再加1顆,50G raid1-2

4.分離啟動

5.用putty連進去

sudo fdisk -l

sudo fdisk /dev/sdb

n

p

w寫入

sudo sfdisk -d /dev/sdb | sudo sfdisk /dev/sdc

sudo mkfs.btrfs -m raid1 -d raid1 /dev/sdb1 /dev/sdc1 -L bt0

sudo btrfs fi show

以下為測試步驟

sudo su

mkdir /mnt/raid1

mount /dev/sdb1 /mnt/raid1/

cd /mnt/raid1/

ls

touch test{1..100}

cd

umount /dev/sdb1

cd /mnt/raid1/

ls

cd

mount /dev/sdc1 /mnt/raid1/

cd /mnt/raid1/

ls

設定開機自動掛載

rm -f *

btrfs fi show

複製uuid

vi /etc/fstab

新增 UUID=(貼上) /mnt/raid btrfs defaults 0 2

寫入

mkdir /mnt/raid

reboot

df -h

重新進入portainer

做磁碟映射

1.新增一個container

nextcloud

image:nextcloud

8080 -> 80

2.volumes

增加一個map

/var/www/html -> bind -> host:/mnt/raid/nextclouds

3.開機自動啟動nextcloud容器

restart policy 選 always

重新啟動

cd /mnt/raid

ls

cd nextclouds/

ls

進入203.68.102.204:8080

試著上傳幾個檔案

把容器移除掉再重做一次,看看資料是否仍然存在

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

安裝docker-compose,讓整體設計更有效率

sudo apt install docker-compose

搜尋ubuntu18.04 docker-compose

下載filezilla 透過22port連線

把docker-dompose.yaml檔上傳

docker-compose up -d  新增

docker-compose down 移除

cd /mnt/raid

ls

sudo rm -rf nextcloud/

ls

cd

docker-compose up -d

選Mariadb

nextcloud

1234

nextcloud

10.1.1.2

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

右上齒輪設定

左下其它設定

上傳限制==>放大到10G

啟用app(如Audio Player)會出現在應用程式裏有圖示

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

 

與openvpn的結合應用

 

若是使用不同的網路區段,你想要存取nextcloud,當然就可以透過之前介紹的oenvpn架設,讓你的HOST機vpn ip與你手機或筆電vpn ip,透過openvpn而被整合為相同的vpn網路,你就可以隨時隨地群取你的私有雲,不管你是使用 4G 或其他外面的wifi

把host變成openVPN server

開放host的80port,讓不同網段的設備可連線管理其它port號的服務

透過80port建立VPN的通道,繞過防火牆

預設port:1194 / udp

1.open source版下載位置:https://openvpn.net/index.php/download/community-downloads.html

2.wget https://git.io/vpn -O openvpn-install.sh

3.sudo bash openvpn-install.sh

問ip(最好是固定)

(UDP)2(TPC),若已開80就選2

80port

3(google的dns)

listen name: win10

4.從ftp把win10.ovpn下載到D槽(client端)

5.client端執行連線檔(放在c/programfile/vpn/config,再執行桌面vpn程式)

6.server端ifconfig會發現一個網段叫tun0

7.client ping10.8.0.1

 

當以上若錯誤發生,最大的原因是client與server的系統時間不同

sudo dpkg-reconfigure tzdata

建立第二個使用者給手機使用

sudo bash openvpn-install.sh

選1增加一個新的使用者

命名:phone

把ovpn檔下載到D,再丟到手機

wifi:tncomputer / computer123

手機安裝airdriod

網頁端:出現連線ip和port號

接受裝置連線

畫面出現手機,把ovpn檔丟到手機的download資料夾

執行OVPN app,把ovpn檔import進來

右上角add

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

<桌機不連線之除錯> 原因:匣道被改掉了

cd /etc/openvpn

 

修改 /etc/openvpn/server.conf

#push "redirect-gateway def1 bypass-dhcp

sudo killall openvpn

重新啟動或重開機

右鍵匯入設定檔(win10),斷線,連線

再ping看看

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