AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1037334
Accepted
Aydinl60
Aydinl60
Asked: 2020-10-13 00:47:46 +0800 CST2020-10-13 00:47:46 +0800 CST 2020-10-13 00:47:46 +0800 CST

Mikrotik 中的双网关设置

  • 772

我是 Mikrotik 环境的新手,在以下情况下我需要一些帮助:

  • 我有一个 IP 范围为 的 ADSL 路由器(主要互联网连接)192.168.1.0/24,连接到我的 Mikrotik 路由器的以太网 1(WAN 端口)

  • 我有另一个 IP 范围为 的 ADSL 路由器(连接到主分支的 VPN 连接)172.200.1.0/24,连接到我的 Mikrotik 路由器的以太网 2

  • 我有启用 WiFi 的 Mikrotik 作为 IP 范围为的 Ap 桥接192.168.88.0/24器(每个人都使用 WiFi 和物理连接连接到此路由器)

我想要做的如下:

  • 当人们想要访问 Internet 时,Mikrotik 路由器应该自动将数据包路由到以太网 1接口(第一个 ADSL)。

  • 如果人们想去某些目的地(例如221.35.12.x),他们的数据包必须被路由到以太网 2,这是连接到主分支的第二个 ADSL。

附加信息

第一个ADSL的网关是192.168.1.1,第二个是172.200.1.17。

到目前为止,我已经成功地访问了第二个 ADSL 的网关,但是当我 ping 的实际目标地址时221.35.12.x,它会返回unreachable,当我到达tracert该地址时,它显示数据包进出192.168.88.1那里丢弃。

任何人都可以通过完整的解决方案来帮助解决上述情况吗?

routing gateway mikrotik ip-routing
  • 1 1 个回答
  • 3338 Views

1 个回答

  • Voted
  1. Best Answer
    tater
    2020-10-13T23:39:38+08:002020-10-13T23:39:38+08:00

    初步设置:您需要设置两个 WAN 连接。假设IFC1是第一个 WAN 端口(例如ether1)接口,并且IFC2是第二个 WAN 端口(例如ether5)。

    /interface list member add interface=IFC1 list=WAN
    /interface list member add interface=IFC2 list=WAN
    /ip dhcp-client add interface=IFC1 default-route-distance=1
    /ip dhcp-client add interface=IFC2 default-route-distance=1
    

    其中一些可能已经配置。如果使用不同类型的 WAN 连接,例如 PPPoE,则进行相应调整。

    当 DHCP 客户端连接时,应该添加路由,下面是一个示例。

    [admin@mikrotik] > /ip route print
    Flags: X - disabled, A - active, D - dynamic,
    C - connect, S - static, r - rip, b - bgp, o - ospf, m - mme,
    B - blackhole, U - unreachable, P - prohibit
     #      DST-ADDRESS        PREF-SRC        GATEWAY            DISTANCE
     0 ADS  0.0.0.0/0                          yyy.yy.yyy.1              1
     1 ADS  0.0.0.0/0                          xxx.xxx.xxx.1             1
     2 ADC  xxx.xxx.xxx.0/22   xxx.xxx.xxx.xxx IFC2                      0
    ...
    

    如果您没有看到两个0.0.0.0/0具有正确网关的路由,您可以将它们创建为静态路由 ( /ip route add ...)。这是超出此答案范围的基本 Mikrotik 内容。

    将使用策略路由来区分两个 WAN 连接。在每个默认 WAN 路由上设置一个路由标记。

    /ip route set 0 routing-mark=unid2rm
    /ip route set 1 routing-mark=unid3rm
    

    值unid2rm和unid3rm是任意文本字符串。这意味着 Mikrotik 将通过给定的网关 IP 发送标有给定路由标记的数据包。

    二、配置防火墙。看FORWARD链子。此处的目标是排除辅助(非默认)WAN 的标记连接通过快速通道。

    /ip firewall filter add 8 chain=forward action=fasttrack-connection connection-state=established,related connection-mark=!unid2cm
    /ip firewall filter add 9 chain=forward action=accept connection-state=established,related
    

    更改数字 8 和 9,使规则位于FORWARD链的开头。

    现在在PREROUTING链中,标记传入连接。如果您只是控制出站连接,则可以跳过此步骤。

    /ip firewall mangle add 3 chain=prerouting action=mark-connection new-connection-mark=unid2cm passthrough=no connection-mark=no-mark in-interface=IFC1
    /ip firewall mangle add 4 chain=prerouting action=mark-connection new-connection-mark=unid3cm passthrough=no connection-mark=no-mark in-interface=IFC2
    

    下一步涉及到MANGLE桌子,这就是魔法发生的地方。您可以在此处根据您设置的标准标记连接。

    /ip firewall mangle add 5 chain=prerouting action=mark-connection new-connection-mark=unid2cm passthrough=yes dst-address=221.35.12.5 connection-mark=no-mark in-interface-list=LAN
    

    这就是说“当有一个221.35.12.5尚未标记的连接时,用连接标记标记它unid2cm”。您可以根据源 IP、MAC 等进行设置,并根据需要添加任意数量的这些。那么同伴是:

    /ip firewall mangle add 6 chain=prerouting action=mark-routing new-routing-mark=unid2rm passthrough=no connection-mark=unid2cm in-interface-list=LAN
    /ip firewall mangle add 7 chain=output action=mark-routing new-routing-mark=unid2rm passthrough=no connection-mark=unid2cm
    /ip firewall mangle add 8 chain=prerouting action=mark-routing new-routing-mark=unid3rm passthrough=no connection-mark=unid3cm in-interface-list=LAN
    /ip firewall mangle add 9 chain=output action=mark-routing new-routing-mark=unid3rm passthrough=no connection-mark=unid3cm
    

    unid2rm注意和之间的区别unid2cm。这些规则从标记的连接中获取数据包并给它们一个路由标记。如前所述,然后在 Mikrotik 的路由表中使用路由标记。

    每个设置都有些不同,因此您可能需要尝试使其适合您。


    WAN补充: Mikrotik 通常会在接口列表中自动设置 NAT 。答案顶部的第一步确保两个接口都在列表中。

    [admin@mikrotik] > /ip firewall nat print
    Flags: X - disabled, I - invalid, D - dynamic
     0    ;;; defconf: masquerade
          chain=srcnat action=masquerade out-interface-list=WAN log=no
          log-prefix=""
    
    • 2

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • 将路由永久添加到 Solaris 10

  • Quagga 套件中的 ./configure --disable-zebra 代表什么?

  • 使用特定接口进行出站连接(Ubuntu 9.04)

  • Linux TC/策略路由工具

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve