【问题标题】:Docker network host commands for remote access用于远程访问的 Docker 网络主机命令
【发布时间】:2020-07-01 06:03:18
【问题描述】:

我正在尝试构建一个安装了 xrdp 服务的 linux docker 容器,这样我就可以通过 localhost 接口和主机网络 eth0 ip 接口远程访问 RDP 服务。我无法理解我在这里缺少 docker 网络并正确启动容器。 Docker 在 Ubuntu Linux 20.04 上运行。作为测试,当我运行这个 docker 命令时:

docker run --rm -d --network host --name my_nginx nginx

我观察到 nginx 正在侦听端口 80 并暴露在 localhost 接口上,我可以使用浏览器访问它。验证:

sudo netstat -tulpn | grep 80

现在这是我正在尝试构建和启动的 linux 容器。我使用 Dockerfile 来启动 xrdp 服务。

FROM kalilinux/kali-rolling

ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get -y update && apt-get -y dist-upgrade && apt-get -y autoremove && apt-get install -y wget && apt-get clean

RUN apt-get -y install vim net-tools whois netcat exploitdb man-db dirb nikto wpscan uniscan nodejs npm python3-pip tor proxychains

RUN apt-get install xrdp lxde-core lxde tigervnc-standalone-server -y

COPY ./xrdp.ini /etc/xrdp/xrdp.ini

COPY ./Xwrapper.config /etc/X11/Xwrapper.config

RUN service xrdp start

ENTRYPOINT ["/bin/bash"]

现在我构建容器并尝试像这样运行它:

docker run --rm -d --network host --name my_kali kali

容器看起来不像在运行,并且在 lo 或 eth0 接口上没有侦听端口 3389。现在,当我以另一种方式运行容器时,我可以通过 Docker0 IP 接口 (172.17.0.2) 使用 RDP 客户端访问主机:

docker run -ti kali

但这只会暴露 Docker0 专用网络上的 RDP 服务。目标或用例是构建一个可以通过主机的 eth0 接口访问的容器。用户可以 RDP 进入它并使用 GUI 运行工具。对我在这里缺少的任何帮助表示赞赏。

【问题讨论】:

  • 通常一个 Docker 容器需要运行它作为前台进程运行的单个服务器进程;由于图像不会持续运行进程,RUN service ... start 不会做任何事情。如果您将ENTRYPOINT 替换为在前台启动服务器的CMD,您应该能够使用普通的docker run -p 选项连接到它。
  • 感谢您的洞察力。我试图实现但仍然在这里遗漏了一些东西。我尝试了CMD ["service xrdp start"],然后尝试了docker run -p 3389:3389,但出现“OCI 运行时创建失败”和“$PATH 中找不到可执行文件”的错误。我将继续对此进行一些研究、阅读和测试。
  • 首先,您应该假设像service 这样的命令在 Docker 中不起作用。作为前台进程直接启动服务器,而不是通过初始化脚本或包装器。
  • 终于搞定了。以默认方式运行会自动将服务妖魔化到后台。找到 -n 的特殊标志,使其成为前台。感谢您的帮助。

标签: docker dockerfile kali-linux


【解决方案1】:

这是 Dockerfile 中的分辨率: CMD /usr/sbin/xrdp-sesman;/usr/sbin/xrdp -n

然后使用 -p 启动镜像: docker run -d --name kali-image -p 3389:3389 kali

验证端口是否正在监听: docker port kali-image

感谢上面的大卫迷宫。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-17
    • 1970-01-01
    • 2020-11-22
    • 2017-09-04
    • 1970-01-01
    • 2014-03-25
    相关资源
    最近更新 更多