Mikrotik 中的雙網關設置
我是 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
那裡丟棄。任何人都可以通過完整的解決方案來幫助解決上述情況嗎?
初步設置:您需要設置兩個 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=""