L2TP туннель - tracert работает только по UDP

Обсуждение ОС и пр.
Ответить
Edelstein
Сообщения: 26
Зарегистрирован: 03 май 2013, 15:33

21 авг 2013, 22:02

Добрый вечер!

Внутри офисной сети собрал тестовый стенд из двух RB2011UAS чтобы настроить l2tp site-to-site.

Делал по этому мануалу, отличия лишь в том, что за "домашним" роутером нет клиентских машин (не было свободных в офисе).

Внешние IP:
1. l2tp-сервер - 10.0.220.1/8
2. клиент - 10.0.221.1/8

Внутренние IP:
1. l2tp-сервер - 192.168.10.1/24
2. клиент - 192.168.20.1/24

IP туннеля:
1. l2tp-сервер - 172.16.1.1
2. клиент - 172.16.1.2

Туннель поднимается, но трассировка на машину 192.168.10.254 с роутера с другой стороны тоннеля 10.0.221.1 (192.168.20.1) проходит лишь по udp:
172.16.1.1 - 1 ms
192.168.10.254 - 1 ms

По ICMP:
172.16.1.1 - 1 ms
0.0.0.0 - timeout

Соответственно пинга с 192.168.20.1 до 192.168.10.254 нет.
Пинг между 192.168.10.1 и 192.168.20.1 есть.

l2tp-сервер:

Код: Выделить всё

[admin@MikroTik] > export compact
# jan/01/2002 01:00:46 by RouterOS 6.2
# software id = T8XJ-FSKJ
#
/interface l2tp-server
add name=Site2 user=User
/ip pool
add name=TestPool ranges=192.168.10.10-192.168.10.254
/ip dhcp-server
add address-pool=TestPool disabled=no interface=ether6 name=TestDHCPServer
/interface l2tp-server server
set enabled=yes
/ip address
add address=10.0.220.1/8 interface=ether1 network=10.0.0.0
add address=192.168.10.1/24 interface=ether6 network=192.168.10.0
/ip dhcp-server network
add address=192.168.10.0/24 dns-server=192.168.10.1 gateway=192.168.10.1 \
    netmask=24
/ip dns
set allow-remote-requests=yes servers=10.0.2.2
/ip firewall filter
add chain=forward
add chain=input
add chain=output
/ip firewall nat
add action=masquerade chain=srcnat src-address=192.168.10.0/24
add action=dst-nat chain=dstnat dst-port=4899 protocol=tcp to-addresses=\
    192.168.10.254 to-ports=4899
/ip route
add distance=1 gateway=10.0.1.2
add distance=1 dst-address=192.168.20.0/24 gateway=172.16.1.2
/ppp secret
add local-address=172.16.1.1 name=User password=123 remote-address=172.16.1.2 \
    service=l2tp


Клиент:

Код: Выделить всё

[admin@MikroTik] > export compact
# jan/02/1970 02:52:41 by RouterOS 6.2
# software id = 1HC9-77WL
#
/interface l2tp-client
add allow=mschap2 connect-to=10.0.220.1 dial-on-demand=yes disabled=no name=\
    l2tp-out1 password=123 user=User
/ip address
add address=10.0.221.1/8 interface=ether1 network=10.0.0.0
add address=192.168.20.1/24 interface=ether6 network=192.168.20.0
/ip dns
set allow-remote-requests=yes servers=10.0.2.2
/ip firewall filter
add chain=forward
add chain=input
add chain=output
/ip firewall nat
add action=masquerade chain=srcnat src-address=192.168.20.0/24
/ip route
add distance=1 gateway=10.0.1.2
add distance=1 dst-address=192.168.10.0/24 gateway=l2tp-out1


Поскольку export не показал динамические маршруты, то вот скрин, слева сервер, справа клиент.

Заранее спасибо за советы =)
Последний раз редактировалось Edelstein 22 авг 2013, 11:18, всего редактировалось 1 раз.


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

21 авг 2013, 22:24

Из описания не ясно, где у вас этот адрес (192.168.10.254) находится, но сразу видно, что ни на одном устройстве, не задан маршрут в сеть с такой адресацией, а значит прнг уходит куда то по дефолтному маршруту, что видимо не верно. Суть задачи: надл на каждой стороне тунеля указать маршруты до сетей, которые находятся за противоположной стороной тунеля.
Ну и напоследок, адреса 10.0.220.0/8 и 10.0.221.0/8 это как бы одна и таже сеть, не знаю - может у вас так и задумано.


Edelstein
Сообщения: 26
Зарегистрирован: 03 май 2013, 15:33

21 авг 2013, 23:07

Дело в том, что export по какой-то причине не показывает некоторые маршруты, но все они видны на скрине в конце поста.

192.168.10.254 - это компьютер, имитирующий локальную сеть за роутером, который служит l2tp сервером (10.0.220.1).

На него проброшен порт 4899, чтобы можно было зайти удаленно.

А маршруты прописаны такие:
1. l2tp - сервер:
192.168.20.0/24 172.16.1.2 1
172.16.1.2 Site2 (это название клиента)

2. Клиент:
192.168.10.0/24 l2tp-out1
172.16.1.1 l2tp-out1

Принципиально правильно, как я понимаю?

Про 10.0.220.1 и 221.1 - это тестовый стенд в одном из офисов, поэтому и сеть одна.


wolf_ktl
Сообщения: 411
Зарегистрирован: 25 июн 2013, 18:12

22 авг 2013, 08:22

Внутренние IP:
1. l2tp-сервер - 192.168.1.10/24
2. клиент - 192.168.1.20/24


По хорошему я бы сделал так
1. l2tp-сервер - 192.168.1.10/24
2. клиент - 192.168.2.20/24


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

22 авг 2013, 08:52

Edelstein писал(а):2. Клиент:
192.168.10.0/24 l2tp-out1

ну вот с этим я бы поспорил, получается что сеть 192.168.10.0/24 лежит в тунеле, но она ЗА ним по факту, должно быть как то так:
192.168.10.0/24 172.16.1.1
у вас же на сервере прописана:
192.168.20.0/24 172.16.1.2

ну и у 192.168.10.254 в сетевых настройках шлюзом является 192.168.10.1?


Edelstein
Сообщения: 26
Зарегистрирован: 03 май 2013, 15:33

22 авг 2013, 11:25

wolf_ktl писал(а):Внутренние IP:
1. l2tp-сервер - 192.168.1.10/24
2. клиент - 192.168.1.20/24


По хорошему я бы сделал так
1. l2tp-сервер - 192.168.1.10/24
2. клиент - 192.168.2.20/24


Спасибо, там была ошибка в описании, конечно:
1. l2tp-сервер - 192.168.10.1/24
2. клиент - 192.168.20.1/24

В реальности все так и было, это видно и в конфиге и на скрине.

simpl3x писал(а):
Edelstein писал(а):2. Клиент:
192.168.10.0/24 l2tp-out1

ну вот с этим я бы поспорил, получается что сеть 192.168.10.0/24 лежит в тунеле, но она ЗА ним по факту, должно быть как то так:
192.168.10.0/24 172.16.1.1
у вас же на сервере прописана:
192.168.20.0/24 172.16.1.2

ну и у 192.168.10.254 в сетевых настройках шлюзом является 192.168.10.1?


192.168.10.0/24 172.16.1.1 - сделал так, написал l2tp-reachable, но на ситуацию это не повлияло.

У 192.168.10.254 и шлюз и DNS и DHCP-сервер - это 192.168.10.1, с него корректно работает и доступ наружу и пингуется: 192.168.10.1, 192.168.20.1, 172.16.1.1, 172.16.1.2.

Меня удивляет, что tracert работает через UDP, но не работает через ICMP, может, какую-то технологию надо включить?


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

22 авг 2013, 12:38

может где то icmp закрыт?


Edelstein
Сообщения: 26
Зарегистрирован: 03 май 2013, 15:33

22 авг 2013, 13:27

simpl3x писал(а):может где то icmp закрыт?


Ага, только вот где? У всех доменных машин (а 192.168.10.254 из их числа) через групповую политику отключен файерволл и они пингуются.

На роутерах что-то включить?


Аватара пользователя
simpl3x
Модератор
Сообщения: 1532
Зарегистрирован: 19 апр 2012, 14:03

22 авг 2013, 13:48

да у вас разрешено вроде как все:

Код: Выделить всё

/ip firewall filter
add chain=forward
add chain=input
add chain=output

а не смотрели, где затык, снифер на 192.168.10.254 что говорит? запрос прилетает? ответ улетает? туда куда надо летит?


Edelstein
Сообщения: 26
Зарегистрирован: 03 май 2013, 15:33

25 авг 2013, 22:19

Снифер не работал - т.е. просто не показывал пакеты ни при каких настройках.

Откатился на 5.25 - все ок, пока. Состыковал TMG и сабж по PPTP.

Тему можно закрывать, спасибо за участие =)


Ответить