两个Linux服务器之间的桥接网络


11

我需要设置以下网络架构:

                       Internet
                        ^   
+-----------------+     |          +------------------+
|  Centos6-1      |     |          |      Centos6-2   |
|      +---- eth0 + ----+          |                  |
| (br0)|          |                |                  |
|      +---- eth1 +----------------+ eth0             |
+-----------------+                +------------------+
                     ( cable connection )

两个公共IP的配置如下:

  • ** Centos6-1的eth0eth1将被配置为与IP1的桥接
  • 可以使用IP1访问Centos6-1
  • 的eth0Centos6-2被配置为与IP2
  • 任何发往IP2的请求都将通过Centos6-1

我该如何完成这项壮举?

第二台服务器中正在运行服务。该服务将绑定到IP2。会发生什么

编辑:

如果我在box1中执行以下操作:

brctl addbr br0
ifdown eth0
ifdown eth1
ifconfig eth0 0.0.0.0 up
ifconfig eth1 0.0.0.0 up
ifconfig br0 IP1 ****

它会做我想要的吗?


10
Visio?谁需要Visio?不是这个家伙!+1
MDMarra '04 -4-16

1
将ASCII图放入您的问题中,要求在ServerFault上免费提供+1,欢迎您使用!
凯尔·史密斯

1
手绘的是新的ASCII图'12!
pfo 2012年

如果只有我的上司能理解ascii的力量:)
Aftnix 2012年

它将流经Centos6-1,但仅在链路层。有点像将Centos6-1用作网络交换机。
sybreon 2012年

Answers:


1

根据此博客,您可以通过以下方式在CentOS下设置网桥:

您必须添加/etc/sysconfig/network-scripts/ifcfg-br0

DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
DNS1=192.168.0.1
GATEWAY=192.168.0.1
IPADDR=192.168.0.100
NETMASK=255.255.255.0
ONBOOT=yes
SEARCH=”example.com”

并在ifcfg-eth0

DEVICE=eth0
HWADDR=00:1e:90:f3:f0:02
ONBOOT=yes
TYPE=Ethernet
IPV6INIT=no
USERCTL=no
BRIDGE=br0

ifcfg-eth1将类似。

HWADDR,您必须具有eth0的MAC地址。eth1 ...

在两台服务器之间,您必须具有交叉以太网电缆...


2

那不是桥接,您想要的是简单的NAT转发。

iptables -t nat -A PREROUTING -i eth0 -d IP2 --to-destination internal_IP2 -j DNAT

并让盒子使用专用的internal_IP对(internal_IP1,internal_IP2)进行通信


这会使数据包保持原状还是修改数据包头?我要使用链路层,因为我希望数据包完好无损。
Aftnix 2012年

它将更改传入数据包的目标IP和传出数据包的源IP。您为什么认为这是一个问题?
适配器
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.