使用Ubuntu 16.04。
我的目标是在网络命名空间(my-network)内运行一个小型服务,并从主机与该服务进行通信。
我创建了一个 Linux 桥、一个新的网络命名空间和一对虚拟以太网设备。
来自主机的 ifconfig:
my-bridge Link encap:Ethernet HWaddr 26:d3:9c:ae:c3:4c
inet addr:10.0.4.0 Bcast:10.0.4.255 Mask:255.255.255.0
inet6 addr: fe80::ccce:74ff:fe32:c59f/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:91 errors:0 dropped:0 overruns:0 frame:0
TX packets:41 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:6052 (6.0 KB) TX bytes:2034 (2.0 KB)
veth-device Link encap:Ethernet HWaddr 26:d3:9c:ae:c3:4c
inet6 addr: fe80::24d3:9cff:feae:c34c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:648 (648.0 B) TX bytes:1152 (1.1 KB)
ifconfig 来自my-network
:
eth0 Link encap:Ethernet HWaddr fa:aa:f3:3a:d1:c5
inet addr:10.0.4.4 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::f8aa:f3ff:fe3a:d1c5/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:20 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:1152 (1.1 KB) TX bytes:648 (648.0 B)
我已经启动了两个以太网接口,并将主机上的接口连接到网桥。但是,我似乎无法连接到内部的网络接口my-network
。
me @ ip $ ping 10.0.4.4
PING 10.0.4.4 (10.0.4.4) 56(84) bytes of data.
From 10.0.4.0 icmp_seq=1 Destination Host Unreachable
From 10.0.4.0 icmp_seq=2 Destination Host Unreachable
看起来通讯可以到达桥梁,但无法进一步。
想知道我是否缺少某种 dnsmasq 配置或路由表条目。
帮助表示赞赏。谢谢!
答案1
我将 IP 地址 10.0.4.0 连接到网桥。 IP 地址最后四分位数中的第一个和最后一个地址分别保留用于网络标识符和广播地址(10.0.4.1 和 10.0.4.255)。一旦我将网桥移至 10.0.4.1,网络拓扑就可以工作了。