Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Podman sandboxes cannot reach host.openshell.internal

未关闭
#3,605 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
45/100
Issue 类型
缺陷
描述清晰度
描述清楚
活跃度
活跃
技术栈
docker, linux, rust

调研方向

The issue is in the Podman driver's network configuration for sandboxes. Look at the supervisor's DNS setup and how the host gateway address is passed in the runtime descriptor. Start by examining the Podman driver code and the networking isolation logic. The acceptance criteria include writing an automated Podman end-to-end test, so check existing test suites for networking. 'Done' means host.openshell.internal resolves and connects in a Podman sandbox after restart, with all mediation intact.

由索引模型根据 Issue 内容生成。

描述

state:triage-needed
User Story

As an OpenShell user running sandboxes with the Podman driver, I want workloads to access services on the host through host.openshell.internal so that host access behaves consistently across supported local
compute drivers.

Problem Statement

Podman-backed sandboxes cannot reliably resolve and connect to host.openshell.internal.

OpenShell workloads use an isolated network namespace and rely on the supervisor for mediated network access. The Podman driver does not currently provide the workload with the expected supervisor DNS
configuration or pass the trusted host gateway address into the supervisor runtime descriptor. As a result, the host alias is unavailable even when the sandbox policy permits the connection.

Impact / Why This Matters

This prevents Podman users from accessing host-local development services, test fixtures, and other explicitly permitted endpoints through OpenShell’s standard host alias.

The current workaround is to use driver-specific host addresses or change the workload’s networking configuration. That workaround is insufficient because it is platform-dependent, bypasses the portable
host.openshell.internal contract, and may weaken the intended mediated-networking boundary.

Acceptance Criteria
  • A Podman sandbox can resolve host.openshell.internal.
  • A policy-authorized TCP connection through that alias reaches a service listening on the host.
  • The connection continues to work after the sandbox is stopped and restarted.
  • Workloads continue to use isolated networking and reach the host only through supervisor mediation.
  • The configured host gateway address is validated before use.
  • Driver-owned resolver resources are cleaned up on failed creation and sandbox deletion.
  • An automated Podman end-to-end test covers initial creation and restart.
  • Relevant architecture, networking, and gateway configuration documentation is updated.
Reproduction Steps
  1. Start OpenShell with the Podman compute driver.

  2. Start an HTTP server bound to a host-reachable loopback address and note its port.

  3. Create a sandbox whose policy permits TCP access to host.openshell.internal:.

  4. From the sandbox, attempt to connect to that address:

    exec 3<>/dev/tcp/host.openshell.internal/
    printf 'GET / HTTP/1.0\r\n\r\n' >&3
    cat <&3

  5. Observe that DNS resolution or the connection fails.

The same behavior should also be checked after stopping and restarting the sandbox

Environment
  • Compute driver: Podman
  • Host operating system: Linux
  • Workload networking: isolated (network=none)
  • Connection target: host.openshell.internal
Logs

主要语言
Rust
星标
8.7k
派生
1.3k
平均合并
2 天 6 小时
30 天内合并 PR
297

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

NVIDIA/OpenShell 的其他 Issue

查看 NVIDIA/OpenShell 的全部 Issue

相似的 Issue

更多 Rust Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。