如何指定靶机的ip地址
awd比赛中,应该每一台靶机占用一个ip地址,但是我们使用docker的情况下,可以使用桥接网络给容器分配ip地址,但是只支持容器之间的一个访问,不能分配容器与宿主机平级的ip地址。
但是我找到了一个方法,就是给宿主机的网卡设置多个ip地址,然后使用host模型,通过端口映射,让容器好像有了自己的ip地址一样。
这么说好像不好理解,其实是这样做
-
先给网卡添加ip地址
我这里的网卡是名字叫ens33
sudo ip addr add 192.168.154.129/24 dev ens33
然后这里就出现了我们的新的ip地址
-
绑定
我这里启动一个叫easyweb的镜像,这个容器的服务在8080端口,所以我建立映射的时候用192.168.154.129这个ip的8080端口去映射它。
然后我们curl一下
这时候,一切看起来是不是很美好,但是问题来了,我把8080端口绑定给了容器,可我自己的平台还要在8080端口运行,这时候就会冲突
因此我们最终放弃了这个方案,还是用端口绑定的方式好。