无法 ping 服务器。Cisco/Linksys 交换机上的 VLAN 上的 Wan

无法 ping 服务器。Cisco/Linksys 交换机上的 VLAN 上的 Wan

我有一台旧的但基本没用过的 Cisco/Linksys slm224g4s 交换机和 Mikrotik B2011UiAS-RM 路由器。我在一台交换机上配置了三个 VLAN,两个用于 WAN1(id:3)和 WAN2(id:4),第三个用于 LAN(id:2)。

我当前的端口配置

port number - designation - port2vlan - port setting pvid
1 - WAN1 input - 2 excl, 3 excl, 4 untagged - 4
2 - WAN2 input - 2 excl, 3 untagged, 4 excl - 3
3-12 servers - 2 tagged, 3 tagged, 4 tagged - 2
13 - WAN1 to router - 2 excl, 3 excl, 4 untagged - 4
14 - WAN2 to router - 2 excl, 3 untagged, 4 excl - 3
15-24 servers - 2 tagged, 3 tagged, 4 tagged - 2
G1 - LAN from router - 2 untagged, 3 excl, 4 excl - 2
G2-G4 servers - 2 tagged, 3 tagged, 4 tagged - 2

管理面板中的配置:http://s3.fmdx.pl/public/cisco/

Mikrotik 路由器将来自两个 ISP 的这两个 WAN 连接结合起来,以建立更可靠的互联网连接,并作为整个公司的路由器。

我们有两个 8 个 IP 地址块,分别来自两个 ISP,路由器仅从每个 ISP 中获取一个 IP 来提供互联网访问。剩余的 IP 地址用于公司服务器(文件、ERP、测试/开发服务器等)。所有地方的 Mtu 都是 1500。

/etc/network/interfaces 配置在临时服务器上如下所示:

# LAN
auto enp1s0.2
iface enp1s0.2 inet static
        address 10.1.4.10
        gateway 10.1.0.1
        netmask 255.255.252.0
        dns-nameservers 10.1.0.1
        vlan-raw-device enp1s0
        mtu 1500

# Netia
allow-hotplug enp1s0.3
iface enp1s0.3 inet static
        address 192.168.0.72
        gateway 192.168.0.65
        netmask 255.255.255.240
        dns-nameservers 8.8.8.8 8.8.4.4
        vlan-raw-device enp1s0
        mtu 1500

# Connected
allow-hotplug enp1s0.4
iface enp1s0.4 inet static
        address 192.168.1.168
        gateway 192.168.1.161
        netmask 255.255.255.240
        dns-nameservers 8.8.8.8 8.8.4.4
        vlan-raw-device enp1s0
        mtu 1500
  • 本例中的 WAN IP 地址不是真实的。

Vlan 包已安装,8021q 模块已打开,第一个 vlan 接口(LAN)工作正常,我可以通过该接口 ping 任何内容。

不幸的是,我无法使用第二和第三个 VLAN 接口 ping 任何内容,而且服务器也无法从互联网访问。

ifup enp1s0.3 或 enp1s0.4 返回

Set name-type for VLAN subsystem. Should be visible in /proc/net/vlan/config
RTNETLINK answers: File exists
ifup: failed to bring up enp1s0.3

ifdown enp1s0.3 或 enp1s0.4

ifdown: interface enp1s0.3 not configured

我错过了什么?

答案1

好的。现在一切正常。问题是什么?

我忘记复制我们在每台服务器上部署的几个脚本,其中一个包含以下 bash 代码:

# Connected routing
ip route add "$ISP1_NET" dev "$ISP1_IF" src "$ISP1_IP" table "$ISP1_NAME"
ip route add default via "$ISP1_GW" table "$ISP1_NAME"
ip rule add from "$ISP1_IP" table "$ISP1_NAME"
ip rule add from all to "$ISP1_CHECK_IP" table "$ISP1_NAME"

# Netia routing
ip route add "$ISP2_NET" dev "$ISP2_IF" src "$ISP2_IP" table "$ISP2_NAME"
ip route add default via "$ISP2_GW" table "$ISP2_NAME"
ip rule add from "$ISP2_IP" table "$ISP2_NAME"
ip rule add from all to "$ISP2_CHECK_IP" table "$ISP2_NAME"

另外,我必须将 /etc/network/interfaces 中的 allow-hotplug 更改为 auto 以使其在重启后工作,并修改配置文件中的几个变量。

当你浪费时间时,这些问题是最糟糕的,而解决方案就是这么简单。:)

答案2

提供的解决方案并不完全正确,例如,RTNETLINK answers: File exists当您尝试重新启动网络或重新启动机器时仍然会收到错误。

有关 debian stretch 的状态,请执行

systemctl status networking.service

除非您再次手动执行脚本,否则您的路线将不起作用。

第一的

您已设置gateway 10.1.0.1主机netmask 255.255.252.0最大可以为 10.1.3.254broadcast 10.1.3.255

查看IP 计算器/IP 子网划分

第二

您只能有一个默认网关。当您指定例如gateway 10.1.0.1接口时,它将尝试将其指定为默认值,如果已有一个默认网关,您将收到错误RTNETLINK answers: File exists

正确的配置应该是

# LAN
auto enp1s0.2
iface enp1s0.2 inet static
        address 10.1.3.254/22 # (max host!) 
        gateway 10.1.0.1
        dns-nameservers 10.1.0.1
        vlan-raw-device enp1s0
        mtu 1500

# Netia
auto enp1s0.3
iface enp1s0.3 inet static
        address 192.168.0.72/20
        dns-nameservers 8.8.8.8 8.8.4.4
        vlan-raw-device enp1s0
        mtu 1500
        up ip route add 192.168.0.0/20 via 192.168.0.65 ...
        up ...

# Connected
auto enp1s0.4
iface enp1s0.4 inet static
        address 192.168.1.168/20
        dns-nameservers 8.8.8.8 8.8.4.4
        vlan-raw-device enp1s0
        mtu 1500
        up ip route add 192.168.0.0/20 via 192.168.1.161 ...
        up ...

请注意,正如我之前提到的,您不能添加多个默认路由ip route add default via ...

正确配置后,你auto|allow-auto|allow-hotplug [interface]应该可以工作了,但你应该检查链接更多的细节。

希望这可以帮助。

相关内容