Выполните следующую настройку:
Мне нужно направить список адресов через vpn. Я читаю https://superuser.com/questions/999196/mikrotik-and-vpn-for-specific-web-sites-only и настроил NAT:
[damamaty@dw-router] > /ip firewall nat print
0 ;;; defconf: masquerade
chain=srcnat action=masquerade out-interface=eth1-wan log=no log-prefix=""
1 ;;; OpenVPN
chain=srcnat action=masquerade out-interface=openvpn-client log=no log-prefix=""
2 ;;; Block (redirect) third-party dns
chain=dstnat action=redirect to-ports=53 protocol=udp dst-address-type=!local dst-port=53 log=no log-prefix=""
3 chain=dstnat action=redirect to-ports=53 protocol=tcp dst-address-type=!local dst-port=53
Mangle:
[damamaty@dw-router] > /ip firewall mangle print
Flags: X - disabled, I - invalid, D - dynamic
0 D ;;; special dummy rule to show fasttrack counters
chain=prerouting
1 D ;;; special dummy rule to show fasttrack counters
chain=forward
2 D ;;; special dummy rule to show fasttrack counters
chain=postrouting
3 ;;; OpenVPN
chain=prerouting action=mark-routing new-routing-mark=rkn passthrough=yes dst-address-list=rkn log=no log-prefix=""
Список адресов:
[damamaty@dw-router] > /ip firewall address-list print
0 rkn 178.63.151.224
...
И маршрут с меткой маршрутизации "rkn" (такой же, как в манге):
[damamaty@dw-router] > /ip route print
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
0 A S ;;; OpenVPN
0.0.0.0/0 10.0.141.1 1
1 ADS 0.0.0.0/0 37.194.203.1 1
2 ADC 10.0.141.1/32 10.0.141.6 openvpn-client 0
3 ADC 37.194.203.0/24 37.194.203.129 eth1-wan 0
4 ADC 192.168.1.0/24 192.168.1.1 br1-lan 0
И не работает - не могу открывать адреса в браузере. Traceroute показывает следующее:
$ traceroute rutracker.org
traceroute to rutracker.org (195.82.146.214), 64 hops max, 52 byte packets
1 router (192.168.1.1) 1.001 ms 0.721 ms 0.715 ms
2 10.0.141.1 (10.0.141.1) 98.930 ms 99.776 ms 99.436 ms
3 * * *
4 108.61.99.1 (108.61.99.1) 101.532 ms 100.833 ms 98.721 ms
5 * * *
6 * * *
7 * * *
...
Если я заменю маршрут (0.0.0.0/0 -> 10.0.141.1 [mark = "rkn"]) простым маршрутом (178.63.151.224 -> 10.0.141.1) - он работает хорошо (через vpn). Почему не работает способ искажения?
Этот вид маркировки идеально подходит для маршрутизации списка адресов источника; для вашего случая (маршруты маркировки на основе пункта назначения): продублируйте mangle rule
с Forward
и Postrouting
цепи. и проверьте, работает ли он.
Вы также можете использовать
ip route rule
для этого.