Monday, February 15th, 2010 06:00 pm

Дано: маленькая одноранговая виндовая локальная сеть. Доменный контроллер, WINS, DHCP, всё как обычно. Всё подключено через одни общий неуправляемый коммутатор. IP-адреса из блока 10.0.0.0/24.

Шлюзом в интернет работает юниксовая машина. Она же по совместительству работает VPN-концентратором (PPTP) для внешних клиентов. Адреса выдаёт из той же сети 10.0.0.0/24, чтобы подключившиеся клиенты прозрачно видели локальную сеть.

Никакой фильтрации трафика для локальных IP-адресов ни на самом шлюзе, ни на внутренних серверах нет.

Проблема: клиент успешно подключается по PPTP, получает адрес, но из всей локальной сети видит только сам шлюз. Все остальные попытки соединиться с любыми серверами в локальной сети или даже запустить traceroute натыкаются на таймауты со следующего хопа после шлюза.

В то же время соединения с самогО шлюза на те же внутренние серверы успешно устанавливаются.

Форвардинг на шлюзе, естественно, включён. Анализ с помощью tcpdump на шлюзе показывает, что пакеты из VPN успешно форвардятся в локальную сеть, но ответы на них не приходят. proxyarp включён.

Вопрос: кто виноват, что делать?

Upd: ответ под катом

А дело в том, что добрые администраторы при переносе PPTP-сервера с доменного контроллера на юникс скопировали туда и пул динамических адресов. В результате DHCP-сервер в локалке и PPTP-сервер выдавали адреса из одного диапазона. И когда pptp-клиент получал адрес, уже имеющийся в локалке, оно нифига и не работало, поскольку локальная машина успевала отвечать на ARP-запросы раньше, и все ответы уходили в неё.

Увидеть это со шлюза затруднительно, потому что для него на этот динамический адрес был явный маршрут через ppp*, и искать его через ARP шлюз даже и не пытался. А посмотреть что-либо с других машин в локалке тоже было затруднительно, потому что на них из VPN попасть было нельзя.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Monday, February 15th, 2010 05:06 pm (UTC)
Судя по
Анализ с помощью tcpdump на шлюзе показывает, что пакеты из VPN успешно форвардятся в локальную сеть, но ответы на них не приходят. proxyarp включён.

включён proxyarp не до конца. ;-P

как выглядят арп-таблицы на всех трёх точках?
Monday, February 15th, 2010 05:12 pm (UTC)
до конца он включён.

на клиенте неважно, у него роутинг идёт в p-t-p-интерфейс, там арп не нужен
на остальных не знаю, у меня туда сейчас доступа нет
Monday, February 15th, 2010 05:15 pm (UTC)
А LAN-клиент вообще шлюз про адрес тебя (за VPN) по арпу спрашивает?

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:17 pm (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:24 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:27 pm (UTC) - Expand
Monday, February 15th, 2010 05:19 pm (UTC)
+1, или отфильтрован случайно в сторону LAN

при правильно включенном proxyarp машинки из LAN должны видеть arp всех машинок из VPN на юниксе
Monday, February 15th, 2010 05:28 pm (UTC)
так вот именно что должны. а пакеты от машинок из LAN в шлюз приходят только на его личный IP. а на IP впнных клиентов не приходят

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:31 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:32 pm (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:36 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:39 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 07:46 am (UTC) - Expand

(no subject)

[identity profile] mik1.livejournal.com - 2010-02-15 05:32 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:34 pm (UTC) - Expand

(no subject)

[identity profile] mik1.livejournal.com - 2010-02-15 05:51 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:53 pm (UTC) - Expand

(no subject)

[identity profile] mik1.livejournal.com - 2010-02-15 06:17 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 10:01 pm (UTC) - Expand

(no subject)

[identity profile] mik1.livejournal.com - 2010-02-15 10:39 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 07:23 am (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:55 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:55 pm (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:56 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:58 pm (UTC) - Expand

(no subject)

[identity profile] dmn42.livejournal.com - 2010-02-15 06:02 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 06:03 pm (UTC) - Expand
Monday, February 15th, 2010 05:18 pm (UTC)
+1 про proxyarp
конфиг pppd в студию :)
Monday, February 15th, 2010 05:26 pm (UTC)
да ничего особенного:

/etc/pptpd.conf:
option /etc/ppp/pptpd-options
logwtmp
localip 10.0.0.2
remoteip 10.0.0.128-191

/etc/ppp/pptpd-options:
name pptpd
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
require-mppe-128
ms-dns 10.0.0.1
ms-wins 10.0.0.1
proxyarp
nodefaultroute
debug
lock
nobsdcomp
novj
novjccomp
nologfd
auth
plugin winbind.so
ntlm_auth-helper "/usr/bin/ntlm_auth --helper-protocol=ntlm-server-1 --require-membership-of='...'"
Monday, February 15th, 2010 05:32 pm (UTC)
а маршруты/arp на других машинах в офисе как выглядят?

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:34 pm (UTC) - Expand

(no subject)

[identity profile] alexkuklin.livejournal.com - 2010-02-15 05:41 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:41 pm (UTC) - Expand
Monday, February 15th, 2010 05:34 pm (UTC)
стоп-стоп, а проксиарп

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:35 pm (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-15 05:37 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 05:36 pm (UTC) - Expand
Monday, February 15th, 2010 05:39 pm (UTC)
А pptp клиент отсылает пакетики куда надо, в пптп сервер?

Re: >nodefaultroute

[identity profile] dil.livejournal.com - 2010-02-15 05:39 pm (UTC) - Expand

Re: >nodefaultroute

[identity profile] dil.livejournal.com - 2010-02-15 05:40 pm (UTC) - Expand
Monday, February 15th, 2010 05:30 pm (UTC)
роутинг походу.
а точнее - не верно указан шлюз по умолчанию на клиентах.
что-то вроде того, что dhcp дает шлюз на доменконтроллер, а надо - на линуксовый гейт.
а выходит то, что пакеты обратно идут по другому маршруту, чем пакеты туда, и зарубаются роутером.
Monday, February 15th, 2010 05:32 pm (UTC)
Это по-хорошему не должно мешать, потому как VPNclients single-hop reachable, и в default gateway уходить не должны вовсе...
Monday, February 15th, 2010 05:33 pm (UTC)
с роутингом всё нормально. на клиенте весь трафик на 10.0.0.0/24 завёрнут в vpn, а локальная сеть одноранговая - там промахнуться некуда. тем более, на запросы с самого шлюза все нормально отвечают

оффтоп

[identity profile] akela72.livejournal.com - 2010-02-16 01:41 pm (UTC) - Expand

Re: оффтоп

[identity profile] dil.livejournal.com - 2010-02-16 01:46 pm (UTC) - Expand

Re: оффтоп

[identity profile] akela72.livejournal.com - 2010-02-17 10:28 am (UTC) - Expand

Re: оффтоп

[identity profile] dil.livejournal.com - 2010-02-17 10:30 am (UTC) - Expand
Monday, February 15th, 2010 05:36 pm (UTC)
static arp на клиентах?
адреса пересекаются?
Monday, February 15th, 2010 05:38 pm (UTC)
static arp нету, ибо нафиг не нужен, вот адреса таки да, пересекаются :)
поэтому ответ пока спрячем, пусть остальные погадают :)
Monday, February 15th, 2010 06:17 pm (UTC)
С MTU/MRU все в порядке?
Monday, February 15th, 2010 09:34 pm (UTC)
да. даже маленькие пинги и traceroute не работают
Monday, February 15th, 2010 06:36 pm (UTC)
а можно traceroute из локалки к vpn-client
Monday, February 15th, 2010 09:35 pm (UTC)
не-а, туда коннекты не работают, включая rdp

(no subject)

[identity profile] pupkin-brat.livejournal.com - 2010-02-15 10:17 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 10:34 pm (UTC) - Expand
Monday, February 15th, 2010 07:15 pm (UTC)
виноват шлюз, и, по ходу, именно в том, что выдаваемые адреса из той же сети и он считает, что их не надо роутить. Точно помню, что у фряшного ppp где-то даже про это специальный раздел был, что-то типа arp proxy.
Monday, February 15th, 2010 09:37 pm (UTC)
Анализ с помощью tcpdump на шлюзе показывает, что пакеты из VPN успешно форвардятся в локальную сеть
arp proxy тут ни при чём, он на другом уровне работает, и он в данном случаё включён

(no subject)

[identity profile] pupkin-brat.livejournal.com - 2010-02-15 10:20 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 10:36 pm (UTC) - Expand

(no subject)

[identity profile] pupkin-brat.livejournal.com - 2010-02-15 10:44 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 10:59 pm (UTC) - Expand

(no subject)

[identity profile] pupkin-brat.livejournal.com - 2010-02-16 07:01 am (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 07:44 am (UTC) - Expand

(no subject)

[identity profile] nikulina.livejournal.com - 2010-02-15 10:38 pm (UTC) - Expand
Monday, February 15th, 2010 10:31 pm (UTC)
Ну да, сначала сами создадим себе трудности, а потом будем героически с ними бороться :)))
Нефиг pptp клиентов в ту же подсеть садить.
Monday, February 15th, 2010 10:38 pm (UTC)
ыыы? я же сказал: сеть ВИНДОВАЯ. ты представляешь, какой геморрой будет с NBTшным ресолвингом имён, если клиенты будут в другой подсети?

(no subject)

[identity profile] alz421.livejournal.com - 2010-02-15 10:39 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-15 10:58 pm (UTC) - Expand

(no subject)

[identity profile] alz421.livejournal.com - 2010-02-15 11:08 pm (UTC) - Expand

(no subject)

[identity profile] bromi.livejournal.com - 2010-02-16 06:42 am (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 07:30 am (UTC) - Expand
Tuesday, February 16th, 2010 07:48 am (UTC)
О-о, я подозревал что-то такое.

А разве ликнукса не имеют привычку писать в ядролог о факте флипа мак-адреса у одного айпишнега? Фря бы уже оборалась.
Tuesday, February 16th, 2010 07:54 am (UTC)
ежели б оно было внутри локалки, на езернете, то написал бы. а тут оно переехало из широковещательной сети в point-to-point, где мака нету..

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-16 12:38 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 12:39 pm (UTC) - Expand

(no subject)

[identity profile] dmarck.livejournal.com - 2010-02-16 12:43 pm (UTC) - Expand

(no subject)

[identity profile] dil.livejournal.com - 2010-02-16 12:43 pm (UTC) - Expand