我家有两个互联网连接,我想同时使用它们。它们的速度相同——大约 10Mbit/1Mbit。我该如何实现这一点?
我正在考虑使用 MikroTik RB750 路由器。我见过使用 MikroTik 无线路由器完成的一些基本工作 — 并且我在理论上了解 IP — 但我不知道该设备是否能满足我的需求。
编辑:
配置应该是什么样子?假设一个 ISP 路由器为我提供192.168.1.0/24
DHCP 地址和192.168.1.1
GW;另一个提供192.168.2.0/24
DHCP 地址和192.168.2.1
GW。
我的局域网应该是192.168.3.0/24 DHCP
。
答案1
Mikrotik RB750 完全可以满足您的需要(阅读手册后)。但有一点需要注意,除非您的 ISP 使用路由协议,否则 RouterOS 不支持在两个连接之间进行某种动态故障转移。您必须在 RouterOS 框上设置一个脚本,该脚本可对两个接口执行 ping 操作(静态路由 google.com 在一个接口上,yahoo.com 在另一个接口上,或者只是 ping ISP 网关),并在其中一个接口发生故障时将其关闭。感谢您向我介绍 RouterOS 和这些很酷的 Mikrotik 板!如果您对配置还有其他疑问,请更新帖子。
答案2
如果您想在同一个网络上使用多个 WAN,则需要路由器上控制该网络的多个 WAN 端口。这并不便宜,因为它需要企业级路由器。但是,您可以将计算机配置为路由器并使用多个 NIC,但这种设置/配置并不适合胆小者。大多数公司在设置时希望的典型配置是具有平衡负载(网络外的连接将根据每个电路上的总负载路由到给定电路)。这并不意味着您将在两个电路之间获得共享带宽,它们仍然是两个独立的电路,每个连接将使用其中一个,而不是同时使用两个。另一种常见配置是故障转移,其中一个是主路由器,并一直使用直到它发生故障,然后路由器将所有流量交给辅助路由器,直到主路由器重新启动。
RouterOS 配置示例:
要在接口上指定 IP:
ip address
add address=192.168.3.0/24 network=192.168.0.0 broadcast=192.168.3.255 interface=Local
add address=192.168.1.0/24 network=192.168.1.0 broadcast=192.168.1.255 interface=WAN1
add address=192.168.2.0/24 network=192.168.2.0 broadcast=192.168.2.255 interface=WAN2
为您的 LAN 添加 DHCP:
/ip dhcp-client add interface=Local disabled=no
/ip pool add name="default-dhcp" ranges=192.168.3.50-192.168.3.150;
/ip dhcp-server
add name=default address-pool="default-dhcp" interface=bridge-local disabled=no;
/ip dhcp-server network
add address=192.168.3.0/24 gateway=192.168.3.1 dns-server=192.168.3.1 comment="default configuration";
负载均衡:
/ip firewall mangle
add chain=input in-interface=WAN1 action=mark-connection new-connection-mark=WAN1_conn
add chain=input in-interface=WAN2 action=mark-connection new-connection-mark=WAN2_conn
add chain=output connection-mark=WAN1_conn action=mark-routing new-routing-mark=to_WAN1
add chain=output connection-mark=WAN2_conn action=mark-routing new-routing-mark=to_WAN2
add chain=prerouting dst-address=192.168.1.0/24 action=accept in-interface=Local
add chain=prerouting dst-address=192.168.2.0/24 action=accept in-interface=Local
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:2/0 action=mark-connection new-connection-mark=WAN1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=Local per-connection-classifier=src-address:2/1 action=mark-connection new-connection-mark=WAN2_conn passthrough=yes
add chain=prerouting connection-mark=WAN1_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN1
add chain=prerouting connection-mark=WAN2_conn in-interface=Local action=mark-routing new-routing-mark=to_WAN2
/ip route
add dst-address=0.0.0.0/0 gateway=192.168.1.1 routing-mark=to_WAN1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 routing-mark=to_WAN2 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1 check-gateway=ping
add dst-address=0.0.0.0/0 gateway=192.168.2.1 distance=2 check-gateway=ping
/ip firewall nat
add chain=srcnat out-interface=WAN1 action=masquerade
add chain=srcnat out-interface=WAN2 action=masquerade
答案3
岸墙(基于 Linux/iptables 的防火墙)支持使用多个 ISP 连接并在它们之间进行负载平衡,您可能需要检查一下。与创建裸 iptables 规则相比,Shorewall 相对容易配置。