環境說明:
- docker跑在kali linux上,docker中下載了容器官方鏡像centos8.3.8.3.2011並啟動運行
- kali linux跑在本地macOS的虛機中,使用172.16.106.0/24 的vm虛機網卡
- 容器centos8 也使用172.16.106.0/24 網段的IP
- 實現本地macOS可以ssh連到容器centos8即可
- 在CentOS Linux release 7.9.2009 (Core),CentOS Linux release 7.3.1611 (Core) 也均已完成測試
第一步:搜索容器鏡像
$ docker search centos
第二步:下載容器鏡像
$ docker pull centos
第三步:部署容器自定義網絡環境
$ docker network create -d macvlan --subnet=172.16.106.0/24 --ip-range=172.16.106.0/24 --gateway=172.16.106.2 -o macvlan_mode=bridge -o parent=eth0 macvlan
【注意該自定義網絡中,我設定的默認網關是172.16.106.2, 由於vm虛擬網卡(vmnet8)的特性,實際可按照你們本地環境為准】
第四步:檢查自定義網絡
$ docker network ls
第五步:啟動容器centos
$ docker run -itd --network=macvlan --ip=172.16.106.200 --name=centos8.3 centos /bin/bash
【網上很多都建議啟動時指定權限--priviledge=true,但是我測試了幾次貌似不加也沒有具體影響,這個你們在實際環境中可以測試考量】
第六步:進入容器配置
$ docker exec -it [CONTAINER ID] bash
第七步:搜索安裝net-tools
【熟悉的可以直接敲名字安裝,可能是官方最小精簡版本。。所以啥都沒,如果該組件已有請略過此步驟】
$ yum search net-tools
$ yum install net-tools.x86_64 net-tools
第八步:搜索安裝passwd並修改root密碼
【熟悉的可以直接敲名字安裝,可能是官方最小精簡版本。。所以啥都沒,如果該組件已有請略過此步驟】
$ yum search passwd
$ yum install passwd.x86_64
$ passwd root 【自行修改密碼】
第九步:安裝openssh
【如果該組件已有請略過此步驟】
$ yum install openssh-server -y
第十步:啟動ssh
【直接/usr/sbin/sshd 啟動會報錯,報錯內容如下】
Could not load host key: /etc/ssh/ssh_host_rsa_key
Could not load host key: /etc/ssh/ssh_host_ecdsa_key
Could not load host key: /etc/ssh/ssh_host_ed25519_key
sshd: no hostkeys available -- exiting.
【需要先生成公私鑰,便可正常啟動ssh服務了】
$ ssh-keygen -A
$ /usr/sbin/sshd
第十一步:檢查ssh服務
$ netstat -pant |grep sshd
第十二步:本機連接容器centos8
GOGOGO!