标签: bridge

在 KVM 虚拟机中配置公共 IP 地址

我有一台运行 CentOS 6.5 的物理服务器,有一个接口连接到 Internet(有一个公共 IP 地址)。在这台服务器中,我通过 libvirt 使用 KVM 创建了两个虚拟机,每个虚拟机都有一个接口。我想为每个 VM 分配一个公共 IP 地址并继续使用与物理服务器的连接。

这张图片说明了我在黑色中有什么,在蓝色中有什么: 网络拓扑结构.

我尝试了各种方法,比如添加一个带有brctl服务器物理接口和两个 VM 虚拟接口的 Linux 桥接器,但它不起作用,我失去了与物理服务器的连接。

我愿意使用 Linux 网桥或 libvirt 网络。

如何在虚拟机和物理服务器中获取公共 IP 地址?

kvm bridge libvirt

13
推荐指数
1
解决办法
2万
查看次数

为什么我的防火墙(iptables)会干扰我的网桥(brctl)?

我建立了一个br0“附加”到两个接口的网桥:

  • eth0,我的物理接口连接到真正的局域网,
  • vnet0,一个 KVM 虚拟接口(连接到 Windows VM)。

我在前向链中有这个单一的防火墙规则:

iptables -A FORWARD -j REJECT
Run Code Online (Sandbox Code Playgroud)

现在,唯一有效的 ping 是从 VM 到主机。

br0接口拥有我主机的 IP 地址。eth0vnet0没有“拥有”任何IP,从主机点。Windows VM 具有静态 IP 配置。

如果将我的iptables规则更改为ACCEPT(甚至使用更严格的iptables -A FORWARD -o br0 -j ACCEPT),则一切正常!(即我可以从 VM ping 任何 LAN 机器,反之亦然)。

所有 IP 转发内核选项都被禁用(如net.ipv4.ip_forward = 0)。

那么,netfilter 防火墙如何阻止甚至没有启用的东西?

此外,VM-LAN 流量应仅暗示eth0vnet0。然而,它看起来像是允许带有-o br0“作品”的FORWARD 流量(虽然我没有仔细检查)。

firewall virtual-machine iptables bridge

12
推荐指数
1
解决办法
2万
查看次数

为什么 Linux Bridge 是第 2 层虚拟设备的 IP 地址?

如果没有 IP 地址,网桥(或交换机)不应该工作吗?我相信我可以在没有 IP 地址的情况下和作为成员进行桥接br0设置。eth0eth1

我不明白为什么地址应该分配给br0

linux networking bridge

12
推荐指数
1
解决办法
5150
查看次数

什么是名称末尾带有 -nic 的虚拟桥接器

当我使用 KVM 时,我创建了一个名为virbr0的虚拟网桥,还有一个名为virbr0-nic的网桥。即使在我禁用并删除virbr0 之后virbr0-nic仍然存在。

谁能给我解释一下这是什么?

谢谢你。

linux virtual-machine bridge

11
推荐指数
1
解决办法
4625
查看次数

了解 Linux 内核虚拟网桥端口编号

我有一个 Linux 内核虚拟桥,它包含接口eth1tap0

# brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.00016c404fa3       no              eth1
                                                        tap0
# 
Run Code Online (Sandbox Code Playgroud)

现在,当我查看虚拟交换机的 MAC 地址表时,它显示端口号2tap0接口)和3eth1接口):

# brctl showmacs br0
port no mac addr                is local?       ageing timer
  3     00:00:5e:00:01:c9       no                 0.11
  3     00:01:6c:40:2d:94       no                 0.53
  3     00:01:6c:40:4f:a3       yes                0.00
  3     00:01:6c:55:3a:72       no                55.33
  3     00:02:b3:8d:48:a7       no                 0.53
  3     00:0a:e4:2f:53:bb       no                 0.59
  3     00:0b:82:0a:bc:cc       no                16.98
  3     00:0c:29:07:3e:de       no                 9.12
  3 …
Run Code Online (Sandbox Code Playgroud)

bridge linux-kernel

10
推荐指数
1
解决办法
3335
查看次数

桥接接口和 VLAN 标记

我正在尝试建立一个系统,将未标记的以太网网络加入 TAP 隧道,在流量移动到隧道时添加 VLAN 标记。

到目前为止,我有:

  • eth0 - 承载未标记流量的物理以太网接口。
  • tap1 - TAP 隧道接口。
  • br0- 一个包含tap1(和一些其他物理接口)的网桥

我知道我可以通过执行以下操作在以太网端添加 VLAN 标记:

$ ip link add link eth0 name eth0.5 type vlan id 5
$ brctl addif br0 eth0.5
Run Code Online (Sandbox Code Playgroud)

但是我怎么能反过来呢?

编辑我发现我可以做到这一点:

$ ip link add veth0 type veth peer name veth1
$ ip link add link veth0 name veth0.5 type vlan id 5
$ brctl addif br0 veth0.5
$ brctl addbr br1
$ brctl addif br1 eth0
$ brctl addif …
Run Code Online (Sandbox Code Playgroud)

networking ethernet bridge vlan

9
推荐指数
1
解决办法
1万
查看次数

tc 桥接端口

我有一个 4 端口网桥:

root@Linux-Switch:~# brctl show
bridge name bridge id       STP enabled interfaces
br0     8000.000024cd2cb0   no      eth0
                            eth1
                            eth2
                            eth3
Run Code Online (Sandbox Code Playgroud)

我的目标是限制eth2接口的上传速度。(eth0 是上行交换机的上行接口)。我一直在尝试通过 tc 和 iptables 来做到这一点。

# tried in both the filter table and mangle table
iptables -A FORWARD -t mangle -m physdev --physdev-in eth2 -j MARK --set-mark 5 

tc qdisc add dev eth0 root handle 1:0 htb default 2
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 1mbit ceil 1mbit
tc class add dev eth0 parent …
Run Code Online (Sandbox Code Playgroud)

linux networking iptables bridge tc

8
推荐指数
1
解决办法
4888
查看次数

使用网桥时的设置

我在物理以太网接口eth0和 OpenVPN 的虚拟接口之间设置了一个网桥tap0。网桥有一个 IP 地址,可以从任一接口通过该 IP 地址联系机器。但是,我不知道要配置什么才能使流量在接口之间通过网桥流动。

是否net.ipv4.ip_forward = 1需要设置为桥接,还是只是路由所需的设置?

我应该如何配置FORWARDiptables?理想情况下,应该只转发接口之间的流量,这样机器就不能用作网络内的反弹点。

iptables bridge openvpn

8
推荐指数
1
解决办法
2万
查看次数

网桥在启动时无法通过 DHCP 获取 IP

我正在运行 CentOS 7。我没有运行 NetworkManager,我实际上已经卸载了它。

我的系统应该br0在启动时通过 DHCP 获取 IPv4 地址。但是,当我登录时,它没有地址。

我的配置:

# pwd
/etc/sysconfig/network-scripts

# cat ifcfg-enp5s0 
DEVICE=enp5s0
ONBOOT="yes"
BRIDGE=br0

# cat ifcfg-br0 
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
STP=on
DELAY=0
Run Code Online (Sandbox Code Playgroud)

请注意,我没有手动配置此网桥;virt-manager当我br0在此对话框中添加时这样做:

virt-manager 屏幕截图显示网络接口选项卡上的 br0

相关journalctl --boot | grep '\(\<br0\>\|enp5s0\)'和上下文:

Jan 08 21:04:32 jonathon-centos7 kernel: r8169 0000:05:00.0 enp5s0: link down
Jan 08 21:04:32 jonathon-centos7 kernel: IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready
Jan 08 21:04:32 jonathon-centos7 kernel: r8169 0000:05:00.0 enp5s0: link down
Jan 08 21:04:32 jonathon-centos7 kernel: device …
Run Code Online (Sandbox Code Playgroud)

dhcp centos bridge

8
推荐指数
1
解决办法
7151
查看次数

通过以太网电缆“管道”Wi-Fi 信号

目前我工作的大楼中的以太网端口已关闭,但 Wi-Fi 工作正常。我有一台支持 Wi-Fi 的笔记本电脑(Ubuntu 14.04 LTS(Trusty Tahr))和一个不支持 Wi-Fi 的工作站(Debian 8(Jessie)),只有一个以太网插头。

是否可以通过以太网电缆将两者连接起来并能够在工作站上获得网络连接?

networking wifi ethernet bridge

8
推荐指数
1
解决办法
744
查看次数