标签: bridge

在 Linux 桥接器中,tap 接口始终处于禁用状态

我有一个物理接口 eth0,我想创建两个虚拟接口并将它们与 eth0 桥接。为此,我这样做:

#Create the virtual interfaces
tunctl -t tap0
tunctl -t tap1
ifconfig tap0 up
ifconfig tap1 up

#Create the bridge
brctl addbr br0
brctl stp br0 off
brctl addif br0 eth0
brctl addif br0 tap0
brctl addif br0 tap1

#Turning up the bridge
ifconfig br0 up
Run Code Online (Sandbox Code Playgroud)

然而,我的问题是,如果分接接口在网桥中始终显示为禁用,并且没有流量流向它们。

$brctl show br0
bridge name bridge id       STP enabled interfaces
br0     8000.080027cabeba   no          eth2
                                        tap0
                                        tap1

$brctl showstp br0
br0
 bridge id      8000.080027cabeba
 designated root    8000.080027cabeba
 root port         0            path …
Run Code Online (Sandbox Code Playgroud)

virtualization linux bridge

5
推荐指数
1
解决办法
6976
查看次数

在桥接模式下设置站点到站点 IPsec

我想在桥接模式下设置站点到站点 IPsec:也就是说,不需要修改每个站点中的主机即可使用 IPsec 网关,但 IPsec 网关充当伪线。

我的计划是:

  1. 在每个网关上设置主机到主机的 IPsec
  2. 在每个网关之间设置 L2TP(通过 IPsec)
  3. 桥接每个网关上的 eth0 和 lt2p-eth

此后,到达任何网关的 eth0 的任何第 2 层数据包都应自动通过隧道 (L2TP) 安全地 (IPsec) 到其他网关。

它是否正确?这是推荐的方法吗?

另外:如何为> 2 个网关执行此操作?每个网关是否都需要与其他网关建立 IPsec SA和L2TP 隧道?理想情况下,我想让 gw 不需要了解其他每个 gw 的明确知识,但我找不到可靠的甚至标准的方法来做到这一点。

networking ipsec gateway l2tp bridge

5
推荐指数
1
解决办法
7187
查看次数

vlan 接口的 pfsense 桥

硬件设置

  • AMD E1-2100 Mini-ITX 主板,板载千兆位 ( re0)
  • Intel PCI Express (x4) 4 端口千兆位适配器 ( igb[0123])

软件设置

  • pfSense v2.3

我正在尝试复制我的 OpenWRT 路由器,它被设置为一个简单的路由器 + VLAN 2 => 不同的隔离子网,用于我不信任的各种 WiFi 设备。我的 WiFi 网桥运行两个不同的 SSID,其中一个标记流量 VLAN 2。我成功添加igb[0123]为单独的接口并将它们组合到BRIDGE0. 我10.0.1.1BRIDGE0接口分配了一个 IP,启用了 DHCP,并且可以成功地将我的盒子用作简单的路由器。

但是,当我将 VLAN 2 的四个新虚拟接口(带有父接口)合并igb[0123]为一个BRIDGE1(IP 10.0.2.1) 时,我的硬连线 MacOS X 盒子上的 VLAN 2 接口10.0.2.20通过 DHCP 获取 IP,但无法路由任何内容。换句话说,我无法跨 WAN 甚至 ping 10.0.2.1。我创建了一个新的防火墙规则BRIDGE1来传递所有 IPV4 流量。根据 pfSense 文档,我还设置了一些系统可调参数 …

vlan bridge pfsense

5
推荐指数
1
解决办法
5346
查看次数

KVM下如何实现类似Virtualbox的桥接?

我需要将一些虚拟机从 Virtualbox 测试系统移动到 KVM 生产主机。主机是完全相同的硬件和软件系统的两个副本(64 位 Ubuntu Server v16.04,重要的是)。

这一切都不太复杂,但网络部分。

对于 virtualbox 的 guest 虚拟机,我有一个 virtio 以太网适配器桥接到主机绑定设备之一。可以从主机所连接的网络和主机本身轻松访问来宾。这样,来宾就像“网络上的另一台服务器”。在操作过程中,除了 virbr0 桥之外,我看不到其他任何东西。

AFAIU,这个简单的设置无法在 KVM 下复制。如果我使用桥接,则无法从访客到主机进行通信。建议的解决方案是向来宾添加第二个接口以用于此类用途。

这是我唯一的选择吗?

然后,如果有任何技术细节,我想知道 Virtualbox 如何能做到 KVM 无法做到的事情。

virtualbox bridge kvm-virtualization

5
推荐指数
1
解决办法
4075
查看次数

Bridge + nftables:如何将传入的 HTTP/HTTPS 流量重定向到本地端口 8080?

我已经设置了一个网桥,并希望将穿过它的 HTTP/HTTPS 流量重定向到本地端口 (8080),以便我可以使用 mitmproxy 进一步处理它。

到目前为止,我使用的是 ebtables 和 iptables 规则的组合。不幸的是,我不得不知道 eatables 不再支持表 'brute',我应该使用nftables代替。

在此输入图像描述

使用的软件:

  • 卡利Linux 2019.4
  • nftables v0.9.2
  • 米特代理 v4.0.4

我如何创建这座桥:

root@kali:~# ip link add name br0 type bridge
root@kali:~# ip link set dev br0 up
root@kali:~# ip link set dev eth0 master br0
root@kali:~# ip link set dev eth2 master br0
Run Code Online (Sandbox Code Playgroud)

我的界面:

root@kali:~# ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.178.67  netmask 255.255.255.0  broadcast 192.168.178.255
        ether 00:01:c0:1b:4b:31  txqueuelen 1000  (Ethernet)

root@kali:~# ifconfig eth2

eth2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu …
Run Code Online (Sandbox Code Playgroud)

port redirect bridge nftables mitmproxy

5
推荐指数
1
解决办法
4814
查看次数

带有基于 Linux 的路由器的 Azure 站点到站点 VPN 将 VPN 端口桥接到 RRAS 服务器,同时为其他流量保留 NAT

我正在尝试使用 RRAS 启动并运行 Azure 站点到站点 VPN,但需要帮助配置我的路由器的 iptables,以便在不使用 NAT 的情况下将 VPN 端口和协议桥接到 RRAS 服务器,同时仍允许 NAT 用于所有其他流量.

我已经能够正确配置 Azure 和 VM,并且我可以通过链接上的数据建立并运行连接(并且在 Azure 门户中显示为与双向数据连接)。但是,设置的连接不可用,我无法 ping 或似乎在 Azure VM 和我的本地计算机之间建立任何形式的连接。

我相信这是由于 Azure 的 Site-to-Site VPN 要求本地 VPN 网关直接连接到 Internet 而无需通过 NAT 防火墙(我必须使用它,因为它是我的家庭宽带,因此只有一个 IP)所以同时可以建立连接 我的路由器上的 NAT 以某种方式更改数据包,这意味着它们一旦到达 RRAS 服务器就无法正确路由。

我已经尝试了替代的站点到站点 VPN 解决方案(OpenVPN、SoftEther、RRAS 本身),但没有一个能正常工作,都表现出相同的问题,即两个 VM 的托管 VPN 连接能够连接到所有内容,并且我的家庭网络服务器可以正确路由以连接到 Azure 端,但我相信要么是由于 Azure VM 的限制(只有一个网络适配器并且无法启用混杂模式)或 Azure 虚拟网络本身,这意味着没有其他 Azure VM 能够连接到我的家尽管添加了静态路由以通过 VPN 服务器或将其添加为附加网关。

我正在使用运行最新 Merlin 版本的 Asus RT-AC68U 路由器,所以我希望我可以通过以下方式更改它的 iptables 规则和网络配置来使用 Azure Site-to-Site VPN:

  • 保留现有的 iptables 配置基本不变,因此 NAT 可以继续用于允许我的其他本地服务器和工作站继续连接到 …

iptables rras site-to-site-vpn bridge azure

4
推荐指数
1
解决办法
5288
查看次数

如何在允许 DHCP 的同时阻止进出桥接接口的所有流量?

我有一台 PC(运行 Fedora 20),它被用作“软件交换机”来控制某些外部设备的网络连接。有八个这样的设备;除了自身与外界的以太网连接外,PC 还具有两个 4 端口以太网卡。缺省情况下,8 个设备接口不经过滤转发到外部接口。

所需的功能是能够阻止进出给定设备的所有流量。目前,我们正在使用bridge link set dev <device> state 0,它将设备的桥状态设置为“禁用”。但是,这似乎也会阻止来自设备的 DHCP 流量。网络的 DHCP 服务器可通过外部接口访问,因此网桥似乎阻止了此流量,这意味着如果设备尝试更新其 IP,则会失败;就我试图在设备上执行的测试而言,这是有问题的。

对于给定的设备,我想要做的是阻止除 DHCP 之外的所有流量通过桥接器。该bridge命令似乎无法执行此操作,因此我可能希望将桥接状态永久保留为“转发”。做了一些研究,这似乎ebtables是我需要的工具,但配置它似乎需要比我更多的 DHCP 和网络知识!通过阅读一些ebtables教程,我认为我需要允许端口 67 和 68 上的流量(我相信这些是唯一用于 DHCP 的端口?)并阻止所有其他流量。

所以我的问题是:

  1. 是否可以进行配置ebtables以执行我想要的操作?
  2. 是否是ebtables该工作的最佳工具和/或是否有任何抽象层使其更易于配置?(我在想fermiptables。)
  3. 假设我朝着正确的方向前进,我将如何配置ebtables以阻止所有流量栏 DHCP?

networking dhcp iptables bridge

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

Amazon EC2:OpenVPN 服务器不会将桥接数据包从客户端路由到 VPC 子网

我在 Amazon EC2 VPC 的 Linux 服务器上设置了桥接 OpenVPN。(在文档上花了几个小时,阅读类似的问题,在这里,openVPN 论坛,还没有运气。)

桥接接口已启动并包含两个子接口:

# brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.0e7c15e787b0       no              eth0
                                                        tap0
Run Code Online (Sandbox Code Playgroud)

VPN服务器上的路由显然是可以的;我可以通过 SSH 连接、ping 通、响应来自客户端的 VPN 请求:

# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         10.0.0.1        0.0.0.0         UG        0 0          0 br0
10.0.0.0        0.0.0.0         255.255.0.0     U         0 0          0 br0
Run Code Online (Sandbox Code Playgroud)

可以从 Windows 和 Mac 客户端 ping 到 VPN 服务器的 IP,但不能 ping 到 VPC 子网上的任何其他 IP。(那些其他 IP …

linux iptables openvpn bridge amazon-ec2

4
推荐指数
1
解决办法
2280
查看次数

网络配置(桥接)proxmox

我昨天买了一个 proxmox 许可证。一切正常,只是网络配置非常复杂。我的网络配置:

84.200.50.186 -> hostsystem ip
84.200.50.186 -> VM ip
255.255.255.248 -> netmask
84.200.50.185 -> gateway


auto eth0
iface eth0 inet static
        address 84.200.50.186
        netmask 255.255.255.248
        gateway 84.200.50.185


auto vmbr0
iface vmbr0 inet static
       address  84.200.50.187
       netmask  255.255.255.248
       gateway  84.200.50.185
       bridge_ports eth0
       bridge_stp off
       bridge_fd 0
Run Code Online (Sandbox Code Playgroud)

ip 可以 ping 但虚拟机没有连接到互联网。

有任何想法吗?:-(

networking configuration bridge proxmox kvm-virtualization

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

为什么我们需要一个与 OpenVPN TAP 接口桥接的 LAN 物理接口才能在桥接模式下运行 OpenVPN?

在这里,我有一些(可能略有不同)的问题,但彼此相关,因此我更愿意在一个问题中提出问题。

我一直在尝试允许我的 OpenVPN 客户端(OpenVPN 设置为桥接模式)连接到 Docker 容器。
众所周知,Docker 容器都通过桥(docker0桥或其他任何东西)相互连接。

我总是br0在我的家庭服务器上使用我自己的网桥 ( ),在那里我设置 Docker 以使用该网桥 ( br0),并tap0在该网桥上桥接 OpenVPN 接口 ( ) 和我的物理接口 ( eth0),它通过 LAN 连接到我的家用路由器。这总是对我有用,所有 OpenVPN 客户端总是能够访问桥接的每个 Docker 容器br0(OpenVPN 客户端和 Docker 容器在我的 LAN 范围内都有 IP)。

几天前我租了一个 VPS,我的物理接口直接连接到互联网(它有唯一的公共 IP)。
我和以前一样(将 Docker 设置br0为对所有容器使用我的),并tap0br0.

我面临的问题是,我的 OpenVPN 客户端无法 ping 或访问任何 Docker 的容器(容器能够 ping 并访问其他 Docker 的容器,但不能访问 OpenVPN 客户端),并且客户端无法 ping 每个其他也一样。

这与我没有桥接物理接口有什么关系吗?如果是的话,我想知道为什么除了 OpenVPN TAP 接口之外,我还应该桥接服务器的接口(可能通过 LAN 连接到任何路由器)以获得桥接模式下的功能性 OpenVPN?

这个问题在我脑海中引发了另一个相关问题: …

networking ethernet openvpn bridge docker

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