带有FreeBSD的RFC 3378 EtherIP

我写了本指南,与世界分享如何使用RFC 3378在路由级别的IP网络上在以太网级别桥接两个网络-特别是看起来这将是Internet上唯一涵盖如何执行此操作的指南!


背景

我在当地政府的国家卫生服务部门工作,拥有超过35个覆盖卫生和社会护理服务的站点.

这些站点大多数位于岛上,在该站点上,直接通信(由本地电信公司提供)作为我们主站点与这些卫星站点之间的WAN链接而存在。一个站点位于另一岛上,我们与它的连接通过中央政府WAN基础结构进行,因此我们无法直接控制中间链接。简而言之:我们将IP从许可路由器中路由出去,然后到达我们远程站点的路由器中并进入他们的网络。介于两者之间的是从光纤,铜缆和无线电链路的一系列跃点和过渡.

与此分开的是,已经在整个主要医院站点完成了无线部署,并利用VLAN将接入点的工作人员(私人)和患者(公共)SSID分离到单独的防火墙中.

需求

邻近岛屿的医院需要进行更新,以包括与本地实施的相同的无线解决方案。布线,电源注入器和无线接入点的配置将不是问题。有线电视员在建筑物周围部署了新的以太网。批准的接入点和PoE适配器的预算以及购买的物品.

问题

问题在于将专用和耐心的无线通道返回到中心站点。我们可以创建新的子网,但是这些子网将汇聚在路由器上并遍历返回中央网络的各种跃点。但是,这意味着患者无线设备的“脏”数据将与我们网络的“干净”数据一起遍历,并带来巨大风险。通过在中央网络上实现VLAN分离,我们已经消除了这些风险,因此,如果只有一种方法可以在IP路由网络中传递VLAN。不幸的是,路由器阻止了所谓的“第2层”流量,因此VLAN无法通过到另一个网络.

另外,我们需要避免需要中央政府网络服务的帮助,因为它们具有更严格的变更控制和更高级别的美丽性……但是关于它的说法很少!

最近出现了一个互联网标准,以RFC 3378的代码发布,并且被称为EtherIP,它为我们的要求提供了完美的解决方案-将跨越IP路由器链接的两个以太网网络连接在一起.

值得庆幸的是,EtherIP在大多数开源操作系统中都可用,包括FreeBSD,我对FreeBSD具有丰富的管理知识。.

实作

您将需要两台计算机,跨链接的每一侧各需要一台,并且两台计算机都将需要两块网卡。其中一张网卡可以像普通计算机那样连接到本地网络,其IP地址适合它所在的子网。另一张网卡连接到交换机(在我的情况下为Cisco)的中继端口,在以太网级别捕获网络流量的原因.

我完成了FreeBSD的基本安装。甚至不需要下载端口.

计算机1(在本地站点上)具有IP地址为10.1.1.20的Intel EtherExpress卡fxp0,并且em0用于以太网端口.

计算机2(在remtoe站点上)具有一个Broadcom卡bge0,其IP地址为10.15.1.20,并且em0用于以太网端口.

FreeBSD具有一个称为“ gif”的虚拟网络接口,该接口在两个端点之间创建了一条Etherhet隧道。两台计算机上都会创建一个gif0网络接口,并将它们通过路由的IP链路桥接在一起。创建了另一个称为“网桥”的虚拟网络设备,它可以跨越类似网络接口(通常是以太网接口)之间的网络流量。 bridge0网络设备配置为将gif0和em0网络接口组合在一起。这允许传入em0的以太网数据传递到gif0上(并通过路由的IP链接之后)传递到远程计算机的gif0上,并进一步传递到该计算机的em0网络接口上,最后进入那里的网络中.

这听起来可能比实际要复杂得多!文本图如下所示:

网络–(中继端口)– em0 — gif0 — fxp0 —路由器–路由的IP链路–路由器– bge0 – gif0 – em0 –(中继端口)–网络

组态

在Cisco交换机上,将接口配置为中继模式:

接口FastEthernet0 / 24
说明链接:EtherIP
交换端口主干修剪VLAN无
交换端口模式中继
结束

这是em0(在我的计算机系统上)将连接到的端口。对于另一台计算机的相应em0,在远程交换机上也执行了相同的操作.

如果您使用的是非Cisco设备,则需要使用供应商特定的方法来启用中继。.

在计算机1上,在/etc/rc.conf文件中如下配置FreeBSD:

#— sysinstall生成的增量—#2011年1月31日星期一12:09:47
#创建时间:2011年1月31日星期一12:09:47
#启用网络守护程序以方便用户.
#请对此文件进行所有更改,而不是/etc/defaults/rc.conf.
#此文件现在仅包含/etc/defaults/rc.conf中的替代.
defaultrouter =“ 10.1.1.1”
主机名=“ etherip01.mydomain.com”
ifconfig_fxp0 =” inet 10.1.1.20网络掩码255.255.0.0”

#EtherIP配置
cloned_interfaces =” gif0 bridge0”
ifconfig_gif0 =“ mtu 1500隧道10.1.1.20 10.15.1.20起”
ifconfig_bridge0 =” addm em0 addm gif0 up”
ifconfig_em0 =“向上”
################

keymap =” uk.iso”
sshd_enable =“是”

在计算机2上:

#— sysinstall生成的增量—#2011年2月3日,星期四
#创建时间:2011年2月3日星期四11:20:45
#启用网络守护程序以方便用户.
#请对此文件进行所有更改,而不是/etc/defaults/rc.conf.
#此文件现在仅包含/etc/defaults/rc.conf中的替代.
defaultrouter =“ 10.15.1.1”
主机名=“ etherip02.mydomain.com”
ifconfig_bge0 =” inet 10.15.1.20网络掩码255.255.0.0”

#EtherIP配置
cloned_interfaces =” gif0 bridge0”
ifconfig_gif0 =” mtu 1500隧道10.15.1.20 10.1.1.20起”
ifconfig_bridge0 =” addm em0 addm gif0 up”
ifconfig_em0 =“向上”
################

keymap =” uk.iso”
sshd_enable =“是”

请注意,计算机1和计算机2之间的gif0隧道IP地址是反向的。这些IP地址是本地网络接口的IP地址。在我的情况下,FreeBSD计算机没有充当外围路由器,但是它们可以很容易地与第三个网卡一起使用。我不需要这种增加的复杂性,因为在卫生和中央政府网络中已经可以使用IP路由.

结果

远程站点上的交换机被配置为VTP客户端,并立即加入了中央网络VLAN域(一种Cisco的概念,与Microsoft不相关),并发出“ show vlan”命令显示所有中央网络VLAN都在其中传播。另外,发出“ show cdp neighbors”命令显示,中央和远程交换机都可以看到彼此,就像它们直接连接在一起一样.

希望本指南可以对所有消耗了Google搜索此信息的人有用(我知道,我也尝试过!)。必要性实际上就是为自己解决问题的母亲……而现在,您不需要!

可以通过“联系方式”页面上详细介绍的各种方式与我联系.

Brayan Jackson Administrator
Sorry! The Author has not filled his profile.
follow me