我最近继承了一对最初在数据中心设置的服务器。我对 Linux 相当了解,但对如何设置网络几乎一无所知。这些服务器每个都有三个以太网端口,所以我完全不知所措。我的目标是将它们恢复到最简单的配置。我不需要数据中心级网络的复杂性(或好处)。
以下是我所拥有的:
- 服务器1:Web 服务器,需要连接到服务器 2。当服务器 1 可以连接到数据库时,它工作正常。IP 是 192.168.10。我们的错误跟踪器尝试连接到 192.168.1.20 上的数据库
- 服务器2:数据库服务器(运行 mysql)。出于某种原因,服务器1能有时使用 IP 192.168.1.20 访问 server2。但是其他时候则不能。
我的目标是:让 server1 能够持续连接到 server2。这些服务器是哇哇哇对于我们的用途来说,这太过分了。我想要尽可能简单的配置。我不需要使用所有三张网卡。如果这些服务器只是连接到我们办公室的路由器并像其他所有服务器一样获取 IP,那就没问题了。
请告诉我您需要我提供什么信息。以下是 server1 上 ifconfig 的输出:
eth0 Link encap:Ethernet HWaddr 00:30:48:f3:55:d2
inet addr:64.34.44.74 Bcast:64.34.44.79 Mask:255.255.255.248
inet6 addr: fe80::230:48ff:fef3:55d2/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snip>
eth1 Link encap:Ethernet HWaddr 00:30:48:f3:55:d3
inet addr:192.168.1.10 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::230:48ff:fef3:55d3/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snip>
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
<snip>
以下是 server2 上的 ifconfig 输出:
br1 Link encap:Ethernet HWaddr 00:30:48:f3:56:03
inet addr:192.168.1.20 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::230:48ff:fef3:5603/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snip>
eth0 Link encap:Ethernet HWaddr 00:30:48:f3:56:02
inet addr:64.34.44.75 Bcast:64.34.44.79 Mask:255.255.255.248
inet6 addr: fe80::230:48ff:fef3:5602/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snip>
eth1 Link encap:Ethernet HWaddr 00:30:48:f3:56:03
inet6 addr: fe80::230:48ff:fef3:5603/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
<snip>
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
<snip>
brctl show br1
以下是服务器 2 上的输出:
bridge name bridge id STP enabled interfaces
br1 8000.003048f35603 no eth1
在服务器 2 上,
$ ip route show
64.34.44.72/29 dev eth0 proto kernel scope link src 64.34.44.75
192.168.1.0/24 dev br1 proto kernel scope link src 192.168.1.20
default via 64.34.44.73 dev eth0 metric 100
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:30:48:f3:56:02 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:30:48:f3:56:03 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1b:21:5d:58:d8 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1b:21:5d:58:d9 brd ff:ff:ff:ff:ff:ff
6: br1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN
link/ether 00:30:48:f3:56:03 brd ff:ff:ff:ff:ff:ff
在服务器 1 上:
$ ip route show
64.34.44.72/29 dev eth0 proto kernel scope link src 64.34.44.74
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.10
default via 64.34.44.73 dev eth0 metric 100
$ ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:30:48:f3:55:d2 brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether 00:30:48:f3:55:d3 brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1b:21:5d:5d:e8 brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether 00:1b:21:5d:5d:e9 brd ff:ff:ff:ff:ff:ff
答案1
假设布线正确,服务器 1 看起来不错,但服务器 2 看起来非常不稳定。您能添加 的输出brctl show br1
吗?
答案2
不是吉姆,
在 server1:eth1 和 server2:eth1 之间运行专用链接。这将用于两个框之间的数据库连接。
我假设您的办公室网络不在 64.34.44.72/29 块中。如果我没记错的话,请使用办公室网络管理员分配的静态地址重新寻址每台机器上的 eth0;将每台机器的 eth0 连接到您的办公室网络。我说静态的原因是这些机器为您的网络提供业务服务;它们需要在 DNS 中进行映射,还需要一个您可以从中管理它们的固定地址。
如果您的错误跟踪器不在 server1 上,请重新配置错误跟踪器以连接到您分配给 server2:eth0 的任何地址,并确保您的 DB 服务器正在监听 server2:eth0。
可以消除eth1
它们之间的专用链接,但由于您有一个 DB 连接(大概是在 server1 和 server2 之间),所以不需要让该流量穿过您的企业 LAN……此外,使用交叉电缆可以获得更高的可靠性,并且不会有中间设备发生故障。
一些办公室通过 DHCP 分配所有地址,并使用动态 DNS 解析名称,这变得很复杂...如果这在您的办公室有效,那么太好了...不需要在 eth0 上进行静态设置。