我正在使用 MikroTik 路由器。我有两个网络:192.168.1.0/24 和 192.168.3.0/24。一个在 ether4 上,另一个在 ether5 上。我正在尝试设置它,以便这些网络可以互相 ping 通。
这是路由器的配置:
/interface ethernet
set [ find default-name=ether4 ] name=4_FrontDept
set [ find default-name=ether5 ] name=5_IntDept
set [ find default-name=ether9 ] name=9_BellNet
set [ find default-name=ether10 ] name=10_Primus
/ip pool
add name=InternetDept ranges=192.168.3.11-192.168.3.254
add name=FrontDept ranges=192.168.1.11-192.168.1.254
/ip dhcp-server
add address-pool=InternetDept disabled=no interface=5_IntDept name=\
InternetDept
add address-pool=FrontDept disabled=no interface=4_FrontDept name=FrontDept
/port
set 0 name=serial0
/interface pppoe-client
add ac-name="" add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=9_BellNet keepalive-timeout=60 \
max-mru=1480 max-mtu=1480 mrru=1600 name=Bellnet_ISP password={PASSWORD} \
profile=default service-name="" use-peer-dns=no user={USERNAME}
add ac-name="" add-default-route=no allow=pap,chap,mschap1,mschap2 \
dial-on-demand=no disabled=no interface=10_Primus keepalive-timeout=60 \
max-mru=1480 max-mtu=1480 mrru=1600 name=Primus_ISP password={PASSWORD} \
profile=default service-name="" use-peer-dns=no user={USERNAME}
/ip address
add address=192.168.3.1/24 interface=5_IntDept network=192.168.3.0
add address=192.168.1.1/24 interface=4_FrontDept network=192.168.1.0
/ip dhcp-server network
add address=192.168.1.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=192.168.1.1 \
netmask=24
add address=192.168.3.0/24 dns-server=8.8.8.8,8.8.4.4 gateway=192.168.3.1 \
netmask=24
/ip dns
set allow-remote-requests=yes servers=8.8.8.8,8.8.4.4
/ip firewall mangle
add action=mark-connection chain=prerouting connection-mark=no-mark \
in-interface=Bellnet_ISP new-connection-mark=Bell
add action=mark-connection chain=prerouting connection-mark=no-mark \
in-interface=Primus_ISP new-connection-mark=Primus
add action=mark-connection chain=prerouting connection-mark=no-mark \
dst-address-type=!local in-interface=4_FrontDept new-connection-mark=Bell
add action=mark-connection chain=prerouting connection-mark=no-mark \
dst-address-type=!local in-interface=5_IntDept new-connection-mark=Primus
add action=mark-routing chain=prerouting connection-mark=Primus \
dst-address-type=!local new-routing-mark=RouteToPrimus
add action=mark-routing chain=prerouting connection-mark=Bell \
dst-address-type=!local new-routing-mark=RouteToBell
add action=mark-routing chain=prerouting comment=\
"For DNS Server On MikroTik Will Fetch Through Primus Connection" \
connection-mark=no-mark disabled=yes dst-port=53 new-routing-mark=\
RouteToPrimus protocol=udp
/ip firewall nat
add action=masquerade chain=srcnat connection-mark=Bell out-interface=\
Bellnet_ISP
add action=masquerade chain=srcnat connection-mark=Primus out-interface=\
Primus_ISP
/ip route
add distance=2 gateway=Primus_ISP routing-mark=RouteToPrimus
add distance=2 gateway=Bellnet_ISP routing-mark=RouteToBell
从 3.x 计算机到 1.x 计算机的 Tracert 输出:
答案1
看起来“!local”过滤器不适用于您的情况,您正在标记本地数据包以使用 ISP,因此它们会在互联网中丢失。尝试添加这些 mangle 规则一开始mangle 列表。
/ip firewall mangle
add chain=prerouting dst-address=192.168.1.0/24 action=accept
add chain=prerouting dst-address=192.168.3.0/24 action=accept
这将强制本地数据包离开 mangle 列表,因此它们不会被标记。
答案2
我有同样的问题并解决了它我添加了一些动态、活动、连接的路线。在你的情况下可能像这样
/ip route
add distance=1 dst-address=192.168.3.0/24 gateway=5_IntDept routing-mark=RouteToPrimus
add distance=1 dst-address=192.168.1.0/24 gateway=4_FrontDept routing-mark=RouteToBell
如我错了请纠正我