network-namespace

如何在 Linux 上查询和更改网络命名空间?
network-namespace

如何在 Linux 上查询和更改网络命名空间?

我想知道是否有办法 查询当前 shell 所在的网络命名空间 更改当前 shell 的当前网络命名空间 我知道我可以做这样的事情 sudo ip netns exec <namespace_name> <some command> 在特定的网络命名空间中执行特定的命令,但我当时想的是 :~$ sudo query_current_namespace some_namespace :~$ sudo change_current_namespace_to other_namespace :~$ sudo query_cur...

Admin

取消共享并将端口转发到命名空间
network-namespace

取消共享并将端口转发到命名空间

我正在尝试unshare更好地理解容器。作为普通用户,是否可以创建一个命名空间,让程序可以监听端口,123并在“主”命名空间上将端口1234重定向到该命名空间? 我猜应该是,因为 Podman 是无根容器引擎,可以做到这一点。查看了man veth也没用。 ...

Admin

如果没有 NAT 规则,则无法从网络命名空间 Ping 到另一个 EC2 实例
network-namespace

如果没有 NAT 规则,则无法从网络命名空间 Ping 到另一个 EC2 实例

我有以下设置。 我已经设置了两个 EC2 实例。我在两台机器上都添加了安全组规则以允许 ICMP 流量,并且两台机器都可以互相 ping 通。 在一台机器上,我创建了两个网络命名空间blue和red。在这台机器上,我还使用名为的桥接接口设置了一个虚拟交换机v-net-0,并将命名空间连接到它。我分别将192.168.15.2和分配192.168.15.3给蓝色和红色命名空间。 我已将192.168.15.5其分配给v-net-0,因此我可以从第一个实例 ping 到命名空间。然后我发出了ping 192.168.15.2和ping 192.168.15.3来...

Admin

如何将使用同一个IP的多个设备连接到具有多个接口的机器上,并让它们全部工作?
network-namespace

如何将使用同一个IP的多个设备连接到具有多个接口的机器上,并让它们全部工作?

长话短说,我对这项任务有点不知所措,因为我对网络和复杂的网络配置不是很熟悉。我有一些想法,但不想浪费时间。 背景: 我正在尝试设置一个 Ubuntu 桌面(测试服务器),使其具有 8 个用于以太网连接的物理端口,这些端口都显示为单独的接口,并且实际上是独立的。这是必要的,因为我想使用单个桌面来测试多个千兆以太网设备,目前这是通过多台计算机完成的。此生产阶段的所有设备都使用相同的 IP/子网设置。我可以为这次测试更改它们,然后再改回来,但这会带来新的故障和大量的开销时间/设置。 当前状态: 考虑到这一点,我设置了一个带有 2x 的桌面此网卡Ubuntu 正确检...

Admin

将 eth0 移至新命名空间后,在 docker 容器内为 eth0 分配 ip 地址
network-namespace

将 eth0 移至新命名空间后,在 docker 容器内为 eth0 分配 ip 地址

尝试使用本教程实现 WireGuard VPN 终止开关新的命名空间解决方案 但是在我将 eth0 从 init 命名空间移动到第二个命名空间后,它丢失了分配的 IP 地址: ip netns add physical ip link set eth0 netns physical 4030df9c72c3:/# ip netns exec physical ip addr 1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default qlen 1000 link/loo...

Admin

网际协议网络
network-namespace

网际协议网络

我刚刚学习网络,如果我的问题没有提供所有细节,请原谅,如果需要,我可以提供。 我正在尝试学习 Linux 中的网络命名空间。 我创建了两个命名空间red和blue 网际协议网络 blue (id: 1) red (id: 0) 我还创建了一个桥接接口,并将 veth 的一端连接到命名空间,将一端连接到 brdige 接口,如下所示 ip link add v-net-0 type bridge ip link set dev v-net-0 up ip link add veth-red type veth peer name veth-red-br i...

Admin

带有 veth 桥的网络命名空间不工作 - ICMP 已发送但无回复
network-namespace

带有 veth 桥的网络命名空间不工作 - ICMP 已发送但无回复

我正在尝试使用 veth 对实现一个有点标准的桥接网络设置,其中一端在 ns 中,另一端在桥上: iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -j ACCEPT iptables -A FORWARD -o eth0 -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT sysctl -w net.ipv4.ip_forward=1 ip...

Admin

使用 docker 链进行 Iptable 遍历
network-namespace

使用 docker 链进行 Iptable 遍历

使用这作为参考这上一篇文章,我尝试创建一个考虑桥接网络上的 docker 容器的 iptable 数据包处理流程图。流程图如下所示 我省略了一些表格以使流程图更简洁。例如,我知道在第一次路由决策之前,数据包在技术上也会经过mangle和nat。 但是我不确定我的理解是否正确。我的流程图是否正确,或者我是否遗漏了重要的 IP 表? 我仍然不清楚的一件事是如何整合数据包从一个容器发送到同一网络上的另一个容器的场景。这被认为是最正确的决定吗?我的部分困惑源于这样一个事实:在测试中,我从一个 docker 容器 ping 另一个 docker 容器。 $ watc...

Admin

WireGuard 和网络命名空间
network-namespace

WireGuard 和网络命名空间

我正在尝试设置一个带有两个 wireguard 接口的 VPN 网关。 一个是可从 init 命名空间访问的网关,它可以转发从 eth0 传入的本地数据包。 第二个接口用于接受 Web 服务器的传入连接。我需要将此接口隔离,以便它不会干扰网关接口。 环顾四周,我认为使用 wireguard 命名空间技巧可能会奏效。这种设置 |----------------------------- | | ------------------ | | | vpn forward ns | | | | ...

Admin

使用 netns 将程序绑定到特定的 IP 地址
network-namespace

使用 netns 将程序绑定到特定的 IP 地址

我的服务器上有一个 IP 地址,比如 192.168.0.3,我想在网络命名空间中共享,以便在那里运行应用程序,这些应用程序只能使用 192.168.0.3 与互联网通信。 我可以“某种程度上”让它与macvlan设备类型一起工作...除了拥有两个 mac 地址之外,网关通常会青睐我的根或我的命名空间绑定接口。 有没有什么办法可以让我在 netns 内部镜像该 IP,而不影响外部 IP? 以下是我一直在尝试的: ip netns add myns ip link add link eth0 name en0 netns myns type macvlan i...

Admin

与在另一个网络命名空间中运行的 KVM QEMU VM 进行 ping
network-namespace

与在另一个网络命名空间中运行的 KVM QEMU VM 进行 ping

我无法从在单独网络命名空间中运行的 KVM QEMU VM ping 到默认网络命名空间。 这是我的设置: ip netns add test-ns # Creating veth ip link add if-in-ns type veth peer name if-notin-ns # Default namespace ip link addr add 10.21.0.10/24 dev if-notin-ns ip link set dev if-notin-ns up # Test-ns namespace ip link set dev if-...

Admin

使用 socat 跨网络命名空间代理抽象命名空间 UNIX 套接字
network-namespace

使用 socat 跨网络命名空间代理抽象命名空间 UNIX 套接字

我有一个系统服务,用于监听抽象命名空间中 UNIX 域套接字上的命令。我现在需要从另一个网络命名空间中的进程访问它。由于套接字位于抽象命名空间中,因此它是特定于网络命名空间的。 我可以通过 socat 来实现这一点: socat ABSTRACT-CONNECT:@proxy-socket EXEC:'"ip netns exec my-netns socat STDIO ABSTRACT-LISTEN:@proxy-socket,nofork"' 这可以正确监听我命名空间中的套接字,并将连接代理到默认命名空间中的实际套接字。但它只会针对一个连接执行此操作...

Admin

为什么在当前命名空间而不是目标命名空间中创建 veth 对等接口?
network-namespace

为什么在当前命名空间而不是目标命名空间中创建 veth 对等接口?

我输入下面的命令尝试创建一对网络命名空间和一个 veth 设备对来连接命名空间。 $ sudo ip netns add netns_br0 $ sudo ip netns add netns_veth0 $ sudo ip link add veth0a netns netns_veth0 type veth peer veth0b netns netns_br0 我尝试启动其中一个设备,但出现错误。 $ sudo ip netns exec netns_veth0 ip link set veth0a up Cannot find device "ve...

Admin

Ubuntu 22.04 netns 带有连接到网桥的 veth,无法 ping 网关
network-namespace

Ubuntu 22.04 netns 带有连接到网桥的 veth,无法 ping 网关

嘿伙计们,这可能只是我忽略了一些愚蠢的事情,但我在设置用于 VPN 的网络命名空间时遇到了麻烦。奇怪的是,这个脚本/设置本来可以运行,但在过去几周内突然停止了。 我在服务器上有一个以太网接口,该接口具有静态 IP 设置,我想将其用于所有正常流量。然后,我使用网桥作为其主网桥,并通过虚拟以太网将 VPN 连接到同一网桥。由于某种原因,我的 VPN 接口可以成功回复 ARP 请求,但似乎无法 ping 我的网关,因此无法连接到互联网)。我觉得这可能是路由问题,但我似乎无法弄清楚。 网络计划 # Let NetworkManager manage all devi...

Admin

Linux - 强制不同的用户使用不同的网络接口
network-namespace

Linux - 强制不同的用户使用不同的网络接口

我有一台 Linux 机器,它设置了一个物理网卡,与托管交换机相连。连接是 VLAN 中继。机器上有两个 VLAN 接口,它们有不同的 IP 地址(属于不同的 VLAN)。 我想要实现的是,根据在这台机器上登录的交互式用户,强制用户使用某个VLAN的网络接口。 当前网络设置 NIC = enp1s0 VLAN3 itf = enp1s0.3 - bridged in br0.3 with IP = 192.168.3.2 VLAN4 itf = enp1s0.4 - bridged in br0.4 with IP = 192.168.4.2 用户 3(u...

Admin