在浏览了 20 页有关 Mikrotik 的 SO 结果和一些谷歌搜索结果后,我来到这里,跪下来请求一些启发。
我有一个具有静态 IP 和一些公共 IP(248 掩码)的网络。
到目前为止,我已将网络配置为使用其中一个公共 IP,并将其用于 2 个子网(192.168.85.X 和 192.168.5.X),它们彼此隔离,并且都可以访问互联网。
我想要实现的是向同一个接口添加第二个 WAN IP,并将流量路由到特定服务器以使用该 IP。
我的意思是:
任何来自 192.168.XX 的 PC 都应使用 WAN IP1 并通过它使用互联网。任何来自 192.168.XX 并尝试访问“在此处插入随机站点/IP”的 PC 都应使用 WAN IP2 浏览并导航到该网站(而其余所有流量都通过 WAN IP1)。为我提供 WAN 链接的设备只有 1 个“输出”端口,因此无法将 2 条电缆从“调制解调器”连接到 Mikrotik,目前只有 1 条电缆从调制解调器连接到 Mikrotik 设备。我看过一些论坛帖子,其中第一部分可以通过连接 2 条电缆然后为每个接口分配不同的 IP 来解决。
您可能注意到,我对网络和路由还很陌生,因此任何 GUI/Winbox 指令都会受到欢迎,但 CLI 命令也很好。
答案1
您应该能够通过使用带有目标地址列表的 src-nat 并将 to-address 设置为所需 ip 来实现此目的。对于默认 ip,请复制规则并且不要设置目标地址列表。对于 dns 名称,您需要创建一个使用调度程序运行的脚本,该脚本将使用网站使用的 ip 地址更新地址列表。防火墙规则使用 IP 地址而不是 dns 名称来工作。
一个有点类似的例子是 1 个路由器具有多个子网,每个子网有不同的 IP 地址,但不是在 nat 规则中使用 src 地址,而是基于 dst 地址。
以下信息应该可以帮助您实现您想要做的事情。
/ip address
add address=1.2.3.4/29 interface=ether1-gateway
add address=1.2.3.5/29 interface=ether1-gateway
/ip route
add dst-address=0.0.0.0/0 gateway=1.2.3.3/29
/ip firewall address-list
add address x.x.x.x list=alt-ip-list
add address y.y.y.y list=alt-ip-list
add address z.z.z.z list=alt-ip-list
/ip firewall nat
add action=src-nat chain=srcnat dst-address-list=alt-ip-list \
out-interface=ether1-gateway to-addresses=1.2.3.4
add action=src-nat chain=srcnat out-interface=ether1-gateway to-addresses=1.2.3.5
当您需要指定外部 IP 地址时,您可以在 masquerade 上使用 src-nat。您需要确保您指定的 IP 地址已在出站接口上设置。这称为 IP 别名。
为了使脚本更新地址列表,您需要创建一个脚本,该脚本可以查找您想要使用备用 IP 的任何网站所使用的 IP 地址。
对于 facebook 地址,这将是 ipv4 地址的 linux 命令。
whois -h whois.radb.net -- '-i origin AS32934' | grep ^route:
对于 IPV6 您可以使用。
whois -h whois.radb.net -- '-i origin AS32934' | grep ^route6: