Policy based маршрутизация и VPN не работает
Добавлено: 23 ноя 2016, 21:30
Добрый день всем,
Четвертый день уже мучаюсь с настройкой policy based routing на hAP AC Lite, получаю странный и непонятный результат. Сделать пытаюсь обход блокировок на роутере через VPN для всех компьютеров в локальной сети. Для этого сделал следующее:
1. В качестве DNS указал сервера Google и OpenDNS.
2. Настроил VPN (сейчас это L2TP, но пробовал OVPN, PPTP, результат один). Сам по себе VPN работает, название интерфейса (чтобы понятно было в конфигах ниже) HMA_L2TP, однако интернет через него не работает, если при создании не ставить галку Add default gateway. А если ставить, пропадает весь смысл затеи (об этом ниже).
3. Создал список адресов:
4. Создал правило в Firewall Mangle:
5. Создал правило в Firewall NAT:
На этом как бы все должно бы заработать, если верить многочисленным мануалам и туториалам, включая тому, который приведен на этом сайте, но нет. Происходит следующее - если в настройках VPN ставить галку Add default gateway, то трафик, как положено, идет через VPN в обход всех блокировок, но, разумеется, весь без исключений. При этом таблица маршрутизации выглядит так:
Если же галку не ставить, а маршрут к 0.0.0.0/0 для routing-mark L2TP прописать вручную, то сайты из списка ведут себя странно - некоторые вообще не открываются, некоторые через какое-то время идут через ether1 и показывают страницу блокировки. Сайты не из списка открываются нормально. При этом самое странное то, что в логах я вижу, что маркировка происходит, правило для NAT работает, отправляются куда положено всякие ACK и SYN, потом, где-то через минуту, RST. Если с компьютера в локальной сети сделать traceroute, то маршрут к сайтам из списка получается через VPN, как положено, к обычным сайтам - через ether1. Таблица маршрутизации при этом выглядит так:
Команда print в терминале не показывает все, но первый маршрут имеет routing-mark=L2TP, как положено, и все reachable. IP адреса у VPN динамические, поэтому просто прописать их не получится.
Что я делаю не так?
Заранее спасибо!
Четвертый день уже мучаюсь с настройкой policy based routing на hAP AC Lite, получаю странный и непонятный результат. Сделать пытаюсь обход блокировок на роутере через VPN для всех компьютеров в локальной сети. Для этого сделал следующее:
1. В качестве DNS указал сервера Google и OpenDNS.
2. Настроил VPN (сейчас это L2TP, но пробовал OVPN, PPTP, результат один). Сам по себе VPN работает, название интерфейса (чтобы понятно было в конфигах ниже) HMA_L2TP, однако интернет через него не работает, если при создании не ставить галку Add default gateway. А если ставить, пропадает весь смысл затеи (об этом ниже).
3. Создал список адресов:
Код: Выделить всё
/ip firewall address-list
add address=195.82.146.214 comment="RCN Blacklist" list=rcn
add address=108.174.10.10 list=rcn
add address=23.22.128.188 list=rcn
add address=31.192.120.36 list=rcn
4. Создал правило в Firewall Mangle:
Код: Выделить всё
add action=mark-routing chain=prerouting comment="Mark for L2TP" dst-address-list=rcn in-interface=bridge log=yes log-prefix=rcn new-routing-mark=L2TP passthrough=yes
5. Создал правило в Firewall NAT:
Код: Выделить всё
add action=masquerade chain=srcnat comment="Masquerade for L2TP" log=yes out-interface=HMA_L2TP
На этом как бы все должно бы заработать, если верить многочисленным мануалам и туториалам, включая тому, который приведен на этом сайте, но нет. Происходит следующее - если в настройках VPN ставить галку Add default gateway, то трафик, как положено, идет через VPN в обход всех блокировок, но, разумеется, весь без исключений. При этом таблица маршрутизации выглядит так:
Код: Выделить всё
# DST-ADDRESS PREF-SRC GATEWAY DISTANCE
1 ADS 0.0.0.0/0 10.200.24.1 0
2 DS 0.0.0.0/0 192.168.100.1 1
3 ADC 10.200.24.1/32 10.200.25.5 HMA_L2TP 0
4 ADS 72.8.134.120/32 192.168.100.1 0
5 ADC 192.168.88.0/24 192.168.88.1 bridge 0
6 ADC 192.168.100.0/24 192.168.100.14 ether1 0
Если же галку не ставить, а маршрут к 0.0.0.0/0 для routing-mark L2TP прописать вручную, то сайты из списка ведут себя странно - некоторые вообще не открываются, некоторые через какое-то время идут через ether1 и показывают страницу блокировки. Сайты не из списка открываются нормально. При этом самое странное то, что в логах я вижу, что маркировка происходит, правило для NAT работает, отправляются куда положено всякие ACK и SYN, потом, где-то через минуту, RST. Если с компьютера в локальной сети сделать traceroute, то маршрут к сайтам из списка получается через VPN, как положено, к обычным сайтам - через ether1. Таблица маршрутизации при этом выглядит так:
Код: Выделить всё
1 A S 0.0.0.0/0 HMA_L2TP 1
2 ADS 0.0.0.0/0 192.168.100.1 1
3 ADC 10.200.24.1/32 10.200.25.3 HMA_L2TP 0
4 ADC 192.168.88.0/24 192.168.88.1 bridge 0
5 ADC 192.168.100.0/24 192.168.100.14 ether1 0
Команда print в терминале не показывает все, но первый маршрут имеет routing-mark=L2TP, как положено, и все reachable. IP адреса у VPN динамические, поэтому просто прописать их не получится.
Что я делаю не так?
Заранее спасибо!