如何指定靶机的ip地址

awd比赛中,应该每一台靶机占用一个ip地址,但是我们使用docker的情况下,可以使用桥接网络给容器分配ip地址,但是只支持容器之间的一个访问,不能分配容器与宿主机平级的ip地址。

但是我找到了一个方法,就是给宿主机的网卡设置多个ip地址,然后使用host模型,通过端口映射,让容器好像有了自己的ip地址一样。

这么说好像不好理解,其实是这样做

  1. 先给网卡添加ip地址

    我这里的网卡是名字叫ens33

    sudo ip addr add 192.168.154.129/24 dev ens33
    

    AWD4-如何指定靶机的IP地址

    然后这里就出现了我们的新的ip地址

  2. 绑定

    AWD4-如何指定靶机的IP地址

    我这里启动一个叫easyweb的镜像,这个容器的服务在8080端口,所以我建立映射的时候用192.168.154.129这个ip的8080端口去映射它。

    AWD4-如何指定靶机的IP地址

    然后我们curl一下

    这时候,一切看起来是不是很美好,但是问题来了,我把8080端口绑定给了容器,可我自己的平台还要在8080端口运行,这时候就会冲突

    AWD4-如何指定靶机的IP地址

因此我们最终放弃了这个方案,还是用端口绑定的方式好。

发表回复