/interface ethernet
set [find default-name=ether1] name=ether1
set [find default-name=ether2] name=ether2
set [find default-name=ether3] name=ether3
set [find default-name=ether4] name=ether4
/ip address
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether4
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether1
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether2
add address=[Link]/24 network=[Link] broadcast=[Link]
interface=ether3
/ip firewall mangle
add chain=input in-interface=ether1 action=mark-connection new-connection-
mark=ether1_conn
add chain=input in-interface=ether2 action=mark-connection new-connection-
mark=ether2_conn
add chain=input in-interface=ether3 action=mark-connection new-connection-
mark=ether3_conn
add chain=output connection-mark=ether1_conn action=mark-routing new-routing-
mark=to_ether1
add chain=output connection-mark=ether2_conn action=mark-routing new-routing-
mark=to_ether2
add chain=output connection-mark=ether3_conn action=mark-routing new-routing-
mark=to_ether3
add chain=prerouting dst-address=[Link]/24 action=accept in-interface=ether4
add chain=prerouting dst-address=[Link]/24 action=accept in-interface=ether4
add chain=prerouting dst-address=[Link]/24 action=accept in-interface=ether4
add chain=prerouting dst-address-type=!local in-interface=ether4 per-connection-
classifier=both-addresses-and-ports:3/0 action=mark-connection new-connection-
mark=ether1_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=ether4 per-connection-
classifier=both-addresses-and-ports:3/1 action=mark-connection new-connection-
mark=ether2_conn passthrough=yes
add chain=prerouting dst-address-type=!local in-interface=ether4 per-connection-
classifier=both-addresses-and-ports:3/2 action=mark-connection new-connection-
mark=ether3_conn passthrough=yes
add chain=prerouting connection-mark=ether1_conn in-interface=ether4 action=mark-
routing new-routing-mark=to_ether1
add chain=prerouting connection-mark=ether2_conn in-interface=ether4 action=mark-
routing new-routing-mark=to_ether2
add chain=prerouting connection-mark=ether3_conn in-interface=ether4 action=mark-
routing new-routing-mark=to_ether3
/ip route
add dst-address=[Link]/0 gateway=[Link] routing-mark=to_ether1 check-
gateway=ping
add dst-address=[Link]/0 gateway=[Link] routing-mark=to_ether2 check-
gateway=ping
add dst-address=[Link]/0 gateway=[Link] routing-mark=to_ether3 check-
gateway=ping
add dst-address=[Link]/0 gateway=[Link] distance=1 check-gateway=ping
add dst-address=[Link]/0 gateway=[Link] distance=2 check-gateway=ping
add dst-address=[Link]/0 gateway=[Link] distance=3 check-gateway=ping
/ip firewall nat
add chain=srcnat out-interface=ether1 action=masquerade
add chain=srcnat out-interface=ether2 action=masquerade
add chain=srcnat out-interface=ether3 action=masquerade
/ip dns
set servers=[Link],[Link]