标签: bridge

将 wlan0 桥接到 eth0

在 Arch Linux 上,我想让 eth0(连接到桥接路由器)共享从 wlan0 接收到的连接,我已经阅读了教程,但我不像其他用户那样精通命令,也不完全理解。

networking linux router bridge wlan

34
推荐指数
5
解决办法
13万
查看次数

桥接网络和 NAT 网络之间的差异

我不完全理解 NAT 和虚拟机上的桥接连接之间的区别。据我发现,如果我们建立桥接连接,与我们的主机在同一网络上的机器可以访问我们的虚拟机。

好吧,在互联网上,人们写道 NAT 和桥接虚拟机都可以像主机一样拥有 IP 地址,但是如果是 NAT,则同一网络上的机器无法访问我们的虚拟机,但如果它是桥接的,那么他们可以.

如果 NAT 和桥接连接都可以有不同的 IP 地址,那么为什么我不能访问 NAT 的地址而我可以访问桥接地址呢?

注意:说明 NAT 连接受到保护是不够的;我想知道那是怎么回事。

networking nat bridge

32
推荐指数
3
解决办法
13万
查看次数

网桥和交换机有什么区别?

我找不到任何权威来源可以简明地解释网桥和交换机之间的区别。据我所知,大多数通常被称为“开关”的设备符合 IEEE 802.1D 标准定义的“桥”的描述。虽然设备可能既是网桥又是交换机(也许“交换机”是“网桥”的一个子集?),我只能找到差异的“手动”解释。我遇到的最常引用的差异归结为以下两个之一:

  1. 交换机有很多端口,网桥只有两个(或其他一些小端口)
  2. 交换机在硬件中执行转发,而网桥在软件中执行

我对这些答案不满意,因为:

  1. IEEE 标准显然没有声明或假设网桥只有两个端口。如果有的话,假设将有两个以上的端口。所以这个解释简直荒谬。(甚至思科也试图将此作为差异之一传递)。
  2. IEEE标准似乎被界定“桥”什么它,而不是它是怎么做的。标准中没有任何内容表明必须或应该在软件中完成桥接。因此,就标准而言,在硬件中转发的桥仍然是桥。

事实上,当我搜索IEEE 802.1D标准时,根本没有提到“开关”这个词。所以“桥”似乎是技术上正确的术语。然而,由于单词“开关”似乎更常用(由)我不禁怀疑是否有一些实际的差异化因素。或者这只是用不同的词来描述同一件事的情况?

特别感谢对来源的引用。

编辑:我应该补充一点,我完全意识到网桥与中继器不同的事实。

ethernet switch bridge 802.1

17
推荐指数
2
解决办法
5万
查看次数

VMWare 网络模式(NAT 或桥接)?

我在 Mac 的虚拟机中运行 Windows 7。我主要将 Windows 7 用于 Visual Studio,也用于托管 IIS 的开发安装。我需要两件事,我不确定需要什么网络模式......

  1. 我需要能够从 Mac 通过 HTTP 访问 IIS 服务器(在 VM 上运行)。

  2. 虚拟机上的 Web 浏览器需要能够访问 Internet。

    有什么建议?谢谢。

networking nat bridge vmware-fusion

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

iptables - 桥接和转发链

我已经安装的以太网桥br0,它包含两个接口eth0tap0

brctl addbr br0
brctl addif eth0
brctl addif tap0
ifconfig eth0 0.0.0.0 promisc up
ifconfig tap0 0.0.0.0 promisc up
ifconfig br0 10.0.1.1 netmask 255.255.255.0 broadcast 10.0.1.255 
Run Code Online (Sandbox Code Playgroud)

我的默认FORWARD连锁政策是DROP

iptables -P FORWARD DROP
Run Code Online (Sandbox Code Playgroud)

当我不添加以下规则时,流量不会通过桥。

iptables -A FORWARD -p all -i br0 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

据我了解iptables只负责IP层。

ebtables 应该负责过滤以太网桥上的流量。

那么为什么我必须在 iptable 的 FORWARD 链中添加 ACCEPT 规则呢?

linux ubuntu iptables bridge

16
推荐指数
3
解决办法
5万
查看次数

Docker 破坏了 libvirt 桥接网络

这个问题让我发疯。我运行全新安装的 Ubuntu 18.04,使用:

  • ufw 来管理防火墙
  • 一座 br0 桥
  • lxd 和 libvirt (KVM)

我尝试了股票 docker.io 包和包形成 docker 自己的 deb 存储库。

我希望能够部署 docker 容器,选择 ip 来绑定其端口(例如 -p 10.58.26.6:98800:98800),然后使用 UFW 打开端口。

但是 docker 似乎创建了干扰 br0 桥的 iptables 规则(例如,主机无法 ping libvirt 来宾)

我环顾四周,找不到好的、具有安全意识的解决方案。

手动操作iptables -I FORWARD -i br0 -o br0 -j ACCEPT似乎可以使一切正常。

"iptables": falsedocker 守护进程的设置也允许网桥正常运行,但会破坏 docker 的容器出口网络。

我发现这个解决方案看起来很简单,通过编辑单个 UFW 的文件/sf/answers/3621911961/,但它根本不起作用。

永久解决这个问题的最佳实践和安全方法是什么,幸免于重新启动?

编辑: 我结束了加-A ufw-before-forward -i br0 -o br0 -j ACCEPT在年底/etc/ufw/before.rules前提交。我可以将其视为解决方案还是不会引起一些问题?

iptables bridge ufw docker

16
推荐指数
3
解决办法
6249
查看次数

ARP 回复包含错误的 MAC 地址

我有一个运行 linux 的机器人,带有有线和无线适配器。当我启动时,它连接到无线网络正常。当我为有线(静态或使用 DHCP)分配 IP 时,它看起来可以正常工作。如,ifconfig显示正确的 IP 并route显示正确的路由。但是,当我对有线 IP 进行 ARP 请求时,ARP 回复包含无线 MAC。

???机器人上没有桥接器,为什么我没有有线MAC???

断线时,有线IP回复ping...

为什么机器人通过无线接口回复有线 IP 请求???

编辑:同一 IP 子网上的有线和无线适配器。我从同一 IP 子网上的一台计算机(用不同的计算机尝试过)发出 ARP 请求。

相关的 ifconfig 输出:

eth0      Link encap:Ethernet  HWaddr 00:01:C0:04:BD:F7  
          inet addr:192.168.0.110  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
ra0       Link encap:Ethernet  HWaddr 24:3C:20:06:3E:6D  
          inet addr:192.168.0.101  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST …
Run Code Online (Sandbox Code Playgroud)

linux arp bridge

15
推荐指数
2
解决办法
3万
查看次数

使用静态 IP 设置桥接的 LXC 容器

我正在尝试在主机上设置多个 LXC 容器,每个容器都有自己的公共静态 IP。

我的主机正在运行最新的 Ubuntu。它有一个名为 eth0 的网络接口。静态 IP 可从 Internet 上 ping 并命名为 eth0:210、eth0:211... 冒号后的数字是地址的最低有效字节。除了这些接口之外,我还在主机的公共 IP 上设置了 br0。还有 lo、veth2LPP9A 和 lxcbr0 接口。lxcbr0 具有私有 IP 的地址。

主机 /etc/network/interfaces 看起来像:

auto br0
iface br0 inet static
        bridge_ports eth0
        bridge_fd 0
        [...]
Run Code Online (Sandbox Code Playgroud)

到目前为止,我已经使用了各种在线资源,包括桥接 LXC 容器来托管 eth0,这样它们就可以拥有一个公共 IP来帮助我进行设置。

容器的配置文件有:

lxc.network.type = veth
lxc.network.link = br0
Run Code Online (Sandbox Code Playgroud)

我已经从这个文件中删除了静态 lxc.network.ipv4 配置,因为它会导致问题。当我使用此配置运行 lxc-ls --fancy 时,我会在输出中看到两次相同的公共 IP。此外,它会干扰容器 /etc/network/interfaces 的子网配置。

说到容器的接口文件,它看起来有点像:

auto eth0
iface eth0 inet static
        address [...]
        netmask 255.255.255.255
        #gateway [...]
        dns-nameservers 8.8.8.8

        post-up route …
Run Code Online (Sandbox Code Playgroud)

networking bridge static-ip lxc

15
推荐指数
2
解决办法
4万
查看次数

使用不同的物理网络接口和默认网关从 docker 容器路由

背景资料

我有一个带有两个运行 Docker 的网络接口的服务器。Docker 和一些虚拟化工具一样,创建了一个名为docker0. 默认情况下,此接口配置了一个 IP,172.17.42.1所有 Docker 容器都使用此接口作为网关进行通信,并分配了相同/16范围内的IP 地址。据我了解,所有进出容器的网络流量都经过 NAT,因此出站流量似乎来自172.17.42.1,入站流量则发送到172.17.42.1.

我的设置看起来像这样:

                                          +------------+        /
                                          |            |       |
                            +-------------+ Gateway 1  +-------
                            |             | 10.1.1.1   |     /
                     +------+-------+     +------------+    |
                     |     eth0     |                      /
                     |   10.1.1.2   |                      |
                     |              |                      |
                     | DOCKER HOST  |                      |
                     |              |                      | Internet
                     |   docker0    |                      |
                     |   (bridge)   |                      |
                     |  172.17.42.1 |                      |
                     |              |                      |
                     |     eth1     |                      |
                     |  192.168.1.2 …
Run Code Online (Sandbox Code Playgroud)

route gateway source bridge docker

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

有没有办法确定哪个虚拟接口属于kvm主机中的虚拟机?

我正在使用带有桥接网络的 qemu/kvm。在主机中有几个没有 IP 的“vnetX”网络接口。我正在寻找一种方法来了解哪个 vnetX 属于虚拟机。

我尝试将这些接口上的 MAC 地址值与虚拟机上的 MAC(或定义它们的 XML)匹配,但不匹配。

有 brctl show 显示属于网桥的 vnet 接口,但这不是有用的信息。

有没有办法知道这种关系?谢谢!!

networking bridge qemu kvm-virtualization

14
推荐指数
3
解决办法
4万
查看次数